Manual
PACSPad User Manual
Version: 1.0
Last Updated: October 2025
Table of Contents
1. Quickstart Guide
This section covers the minimum steps needed to connect to your PACSPad to access the web configuration interface.
Step 1: Power on the Device
- Plug the PACSPad into your computer using the USB-C cable
- Wait for the device to finish booting
- The WiFi access point name is shown after "SSID:" on the display. Note this down for future use.
Step 2: Enter Settings Mode
- Press buttons 1, 13, AND 16 simultaneously (see button reference below)
- Button 1: Bottom-left corner
- Button 13: Top-left corner
- Button 16: Top-right corner
- The display will show the on-device settings options
- Use the following buttons to navigate the menu:
- Button 13: Back/Exit/Cancel
- Button 14: Up
- Button 15: Down
- Button 16: Select/Enter
Button Layout (for reference): [13] [14] [15] [16] [9] [10] [11] [12] [5] [6] [7] [8] [1] [2] [3] [4]

Step 3: Get Your WiFi Password
- While in Settings Mode, navigate the device menu using the buttons
- Select Web Portal from the Settings menu
- Select Show Password
- The display will show your current WiFi password (8 alphanumeric characters)
- Enter this password when connecting to the SSID from above
Step 4: Access Web Interface
- Open your web browser
- Navigate to: http://192.168.4.1 (shown on the display after "IP:")
- The PACSPad configuration interface will load
- You can now configure your buttons!
2. On-Device Settings
The on-device settings menu lets you manage profiles, WiFi, and device settings using just the physical buttons and display—no computer required.
2.1 Entering Settings Mode
To Enter:
- Press buttons 1, 13, and 16 together (the three corner buttons)
- The display will show a list of settings
To Exit:
- Press button 13 until the device returns to the home screen
How to Navigate:
- Button 13: Back/Exit/Cancel
- Button 14: Up
- Button 15: Down
- Button 16: Select/Enter
2.2 Settings Menu Options
2.2.1 Keymaps
Switch between saved button configurations (profiles).
List Keymaps
- Shows all your saved profiles
- Move up and down the list with the up/down buttons
- Current profile is marked with *
- Use the Enter/Select button to activate a selected keymap
2.2.2 Web Portal
Controls WiFi for accessing the web interface.
On/Off
Turn WiFi on or off.
- Select "On/Off"
- Use the up/down and select buttons to set the wifi state
When WiFi is ON:
- You can access the web interface at 192.168.4
When WiFi is OFF:
- Web interface unavailable
Show Password
Shows the WiFi password on the screen.
- Select "Show Password"
- Write down the 8-character password shown
- Press any button to go back
When to use this:
- Connecting to the device WiFi for the first time
- You forgot the password
Reset Password
Resets WiFi password to the default.
- Select "Reset Password"
- Confirm when asked
- WiFi restarts with the default password
When to use this:
- You forgot your custom password
- Troubleshooting WiFi connection issues
2.2.3 Tap Dance Timeout
Changes how quickly you need to press buttons for Tap Dance.
How to adjust:
- Select "Tap Dance Timeout"
- Current timeout is shown (default: 200ms)
- Use up/down buttons to select increase/decrease
- Use the enter/select button to increment up or down
2.2.4 Device Info
Shows information about your device.
What you'll see:
- Firmware versions for the primary (1) and secondary (2) processors
- Dictation interface mode
2.2.5 Update
Puts the device into update mode for use with the web flasher. NOTE: Once placed into update mode, the device can only be taken out of update mode by power cycling (unplugging and plugging back in).
Important:
- DO NOT unplug during the update process update
- Follow the web flasher instructions
- The web flasher requires a web browser with web serial support (ie Chrome)
- Web flasher link: https://pacspad.github.io/web_flash/
Best practices:
- Export your profiles first (backup)
2.2.6 Factory Reset
Erases everything and starts fresh.
⚠️ WARNING: CANNOT BE UNDONE! ⚠️
What gets deleted:
- All your saved profiles (except Default, which gets cleared)
- All button configurations
- Custom WiFi password - resets to default
How to factory reset:
- Select "Factory Reset"
- Confirm when asked "Are you sure?"
- Device erases everything and reboots on "Yes"
- Device starts with blank configuration
After reset:
- Enter Settings Mode (buttons 1+13+16)
- Go to Web Portal → Show Password
- Connect to WiFi with default password
- Go to 192.168.4.1
- Reconfigure or import backed-up profiles
When to use this:
- Giving/selling the device to someone else
- Device acting strange after bad configuration
- Starting completely fresh
- Can't access device due to forgotten settings
Alternatives (if you don't want to erase everything):
- Reset password only: Use "Reset Password" instead in the Web Portal menu
- Delete profiles individually using the web interface
- Change timeout: Use "Tap Dance Timeout" menu
3. Web Programming Interface
The web programming interface is the primary method for configuring button mappings, managing profiles, and accessing advanced features. It provides a full-featured graphical interface accessible from any modern web browser.
3.1 Accessing the Web Interface
Prerequisites:
- PACSPad connected via USB
- WiFi enabled on device (via Settings → Web Portal → On/Off)
- Computer/tablet/phone with WiFi capability
Connection Steps:
-
Enter Settings Mode (if not already in it)
- Press and hold buttons 1+13+16 for 2 seconds
-
Ensure WiFi is Enabled
- Navigate to Web Portal → On/Off
- Verify it shows "ON"
-
Get WiFi Password (if first time)
- Navigate to Web Portal → Show Password
- Write down the 8-character password
-
Connect to Device WiFi
- Open WiFi settings on your device
- Find network with MAC address (e.g., "A0B1C2D3E4F5")
- Enter password from step 3
- Wait for connection
-
Open Web Interface
- Open any web browser
- Navigate to: http://192.168.4.1
- Web interface loads automatically
- You're ready to configure!
Connection Troubleshooting:
- Can't find WiFi network → Check WiFi is enabled on device
- Wrong password → Use Show Password menu to verify
- Page won't load → Check URL is http:// not https://
- Connection drops → Move closer to device, check power
3.2 Interface Modes
The web interface offers two distinct modes optimized for different user experience levels and use cases.
3.2.1 Basic Mode (Green Theme)
Visual Design:
- Green color scheme
- Clean, uncluttered layout
- Simplified controls
- Minimal options displayed
- Streamlined setup workflow
Features Available:
- ✓ Virtual keypad display (16 buttons)
- ✓ Hold behavior only (press/release mirrors user exactly)
- ✓ Simple key combinations (Ctrl+Key, Alt+Key, etc.)
- ✓ Profile management (activate, create, delete)
- ✓ Profile switching
- ✓ Simple mouse clicks (left, right, middle)
- ✓ Hand mic commands (dictation integration)
- ✓ Foot pedal commands (dictation integration)
Limitations (Features NOT Available):
- ✗ Click behavior
- ✗ Toggle behavior
- ✗ Cycle behavior
- ✗ Tap Dance behavior
- ✗ Release behavior configuration
- ✗ Text macros
- ✗ Advanced timing options
- ✗ Complex group sequencing
Who Should Use Basic Mode:
- First-time users
- Users who only need simple keyboard shortcuts
- Quick setup scenarios
- Users overwhelmed by advanced options
- Devices used by multiple users of varying skill levels
- Training and demonstration purposes
Workflow:
- Click button on virtual keypad
- Click desired key from virtual keyboard
- Configuration saves automatically
- Test button immediately
- Repeat for other buttons
- Save as profile when done
Switching from Basic to Advanced:
- Use mode toggle switch in sidebar
- All configurations are preserved
- Advanced features become available
- Can switch back any time without losing config
3.2.2 Advanced Mode (Blue Theme)
Visual Design:
- Blue color scheme
- More detailed interface
- Additional controls and options
- Organized in sections
- Comprehensive configuration options
- Power user focused
Features Available:
All Basic Mode Features, Plus:
- ✓ Click behavior (key clicked when button pressed)
- ✓ Toggle behavior (alternates between pressed/released)
- ✓ Cycle behavior (rotates through multiple keys)
- ✓ Tap Dance behavior (different actions for tap vs hold)
- ✓ Release behavior configuration (what happens when button released)
- ✓ Text macros (type custom text strings)
- ✓ Secure text macros (password-protected text)
- ✓ Advanced mouse options (multiple buttons, combinations)
- ✓ Key group recording (simultaneous multi-key presses)
Who Should Use Advanced Mode:
- Power users
- Users needing complex workflows
- Complex dictation system integration
- Text macro users
- Users wanting maximum button efficiency
- Professional radiology workflows
- Custom multi-key combinations
Workflow:
- Click button on virtual keypad
- Select behavior type (Click/Hold/Toggle/Cycle/Tap Dance)
- Configure press action
- Configure release action (if applicable)
- Test behavior
- Repeat for other buttons
- Save as profile
3.2.3 Switching Between Modes
Mode Toggle Location:
- Located in sidebar navigation
- Toggle switch or button labeled "Basic/Advanced"
- Current mode clearly indicated
Switching Process:
- Click mode toggle switch
- Interface immediately transitions to new mode
- Color scheme changes (Green ↔ Blue)
- Available options update
- Current configurations preserved
What Happens When Switching:
Basic → Advanced:
- All existing button configs remain intact
- Additional options become visible
- Can now configure advanced behaviors
- Previously hidden features accessible
- No data loss
Advanced → Basic:
- Button configs with advanced features remain stored
- Advanced behaviors hidden from view but not deleted
- Buttons with basic configs (Click only) fully editable
- Buttons with advanced configs (Hold/Toggle/etc.) show as configured but not editable in Basic mode
- Switch back to Advanced to edit advanced features
- No data loss
Preference Saving:
- Current mode preference saved automatically
- Persists across browser sessions
- Stored in browser localStorage
- Each browser/device remembers independently
Best Practice:
- Start in Basic Mode to learn interface
- Switch to Advanced when ready for more features
- Use Basic for simple configs, Advanced for complex
- Can switch freely without consequence
3.3 Main Interface Layout
The web interface consists of several key sections:
3.3.1 Virtual Keypad Display
Location: Center/main area of interface
Visual Representation:
Visual 4x4 Grid: [Button 13] [Button 14] [Button 15] [Button 16] [Button 9 ] [Button 10] [Button 11] [Button 12] [Button 5 ] [Button 6 ] [Button 7 ] [Button 8 ] [Button 1 ] [Button 2 ] [Button 3 ] [Button 4 ]
Button Appearance:
Empty/Unconfigured Button:
- Gray or neutral color
- Button number displayed
- "Click to configure" hint on hover
- No icon or label
Configured Button:
- Shows assigned key or icon
- Text label if applicable
- Visual indicator of configuration type
- Color may indicate button type
- Examples: "F5", "Ctrl+S", "Dictate", "Hello World"
Selected Button:
- Highlighted with border (typically blue)
- Background color change
- Clear visual distinction from other buttons
- Configuration panel shows this button's settings
Interaction:
- Click: Select button for configuration
- Double-click (optional): Quick-edit popup
- Right-click (optional): Context menu (copy, paste, clear)
- Drag (optional): Drag configuration from one button to another
Real-Time Updates:
- Changes appear immediately after configuration
- No manual refresh needed
- Button label updates instantly
- Visual preview of assignment
Button Numbering:
- Always labeled 1-16
- Bottom-left is Button 1
- Top-right is Button 16
- Matches physical device numbering
- Numbering never changes
3.3.2 Configuration Panel
Location: Right side or bottom of interface (depending on screen size and layout)
Purpose: Configure the currently selected button's behavior, actions, and properties.
Panel appears when:
- A button is selected on the virtual keypad
- Shows "Select a button to configure" message when none selected
Behavior Type Selector (Advanced Mode)
Dropdown or button group to select button behavior:
- Click (Default): Standard press and release
- Hold: Key held while button held
- Toggle: Alternates between pressed/released
- Cycle: Rotates through multiple keys
- Tap Dance: Different actions for tap vs hold
Selecting behavior type changes the available configuration options below.
Press Behavior Section
Label: "Press Behavior" or "Press Action"
Purpose: Define what happens when button is pressed
Input Type Selector:
- Keyboard: Standard keyboard keys
- Mouse: Mouse button clicks
- Text: Custom text macro
- Hand mic: Dictation commands (if in Advanced mode)
- Foot pedal: Pedal commands (if in Advanced mode)
Keyboard Input Mode:
- Visual virtual keyboard displayed
- Click keys to add to assignment
- Modifiers: Ctrl, Shift, Alt, Win/Cmd (highlight when selected)
- Main key: Any keyboard key
- Display: Shows current combination (e.g., "Ctrl+Shift+S")
- Clear button: Remove current assignment
Mouse Input Mode:
- Button selector: LMB, RMB, MMB, M4, M5, M6
- Click type: Single, Double, Hold
- With modifiers: Optional Ctrl, Shift, Alt
- Display: Shows selection (e.g., "Right Click", "Ctrl+Left Click")
Text Input Mode:
- Text area for entering macro text
- Character count: Shows current / max (255)
- Special characters: Buttons for \n (newline), \t (tab)
- Secure checkbox: "Mark as secure" option
- Preview: Shows how text will type
- Clear button: Empty text field
Hand Mic Mode:
- Dropdown list of Hand mic commands
- Options: Dictate, Play/Stop, Rewind, Fast Forward, Tab Forward/Back, Transcribe, etc.
- Description of selected command
Foot Pedal Mode:
- Dropdown list of pedal commands
- Options: Left Pedal (Rewind), Center Pedal (Play/Pause), Right Pedal (Fast Forward)
- Standard pedal layout diagram
- Device mode indicator: "Secondary processor will use FOOTPEDAL mode"
Release Behavior Section (Advanced Mode)
Label: "Release Behavior" or "Release Action"
Purpose: Define what happens when button is released
Visibility:
- Not shown for Click behavior (automatic release)
- Required for Hold behavior
- Optional for Toggle, Cycle, Tap Dance
Options:
- No Action: Nothing happens on release
- Release Keys: Releases the keys that were pressed (required for Hold behavior)
- Execute Keys: Triggers additional keys on release
- Release and Execute: Combines Release Keys + Execute Keys
Key Group Recording (Advanced Mode)
Purpose: Record simultaneous multi-key presses (e.g., Ctrl+Shift+Alt+F5)
Process:
- Check "Group keys together"
- Click "Start Recording"
- Press desired key combination on your physical keyboard
- Interface shows keys as you press them (e.g., "Ctrl" → "Ctrl+Shift" → "Ctrl+Shift+F5")
- Release all keys to complete recording
- Group is saved as button assignment
Advantages:
- More accurate than manual clicking
- Captures exact key combination
- Handles complex multi-key groups
- Platform-aware
Action Buttons
- Save: Save current button configuration
- Clear: Remove all configuration from button
- Copy: Copy button configuration to clipboard
- Paste: Paste copied configuration
- Test: Test button behavior without leaving interface
3.4 Sidebar Navigation Menu
Location: Left side of interface (or top on mobile)
3.4.1 Keypad (Home)
- Label: "Keypad" or "Configure"
- Purpose: Main configuration view
- Shows: Virtual keypad + configuration panel
- Default landing page after login
What you can do:
- Select and configure buttons
- Edit button assignments
- View current profile
- Test buttons (if feature available)
3.4.2 Profiles
- Label: "Profiles" or "Profile Management"
- Purpose: Manage saved configuration profiles
What you can do:
- View list of all saved profiles
- Create new profile
- Activate/switch profiles
- Edit profile metadata
- Export profiles as JSON
- Import profiles from JSON
- Delete profiles (except Default)
- Duplicate profiles
3.4.3 Utilities
- Label: "Utilities" or "Settings"
- Purpose: Device settings, firmware updates, system functions
Sub-sections:
- WiFi Settings (change password, reset password)
- Display Settings (brightness, timeout, orientation)
- Device Settings (Tap Dance timeout, debounce, LEDs)
- Firmware Update (primary and secondary processor)
- Factory Reset
- System Information (device info, memory, network, status)
- Diagnostics (button test, connection test, logs)
3.4.4 Help
- Label: "Help" or "Documentation"
- Purpose: Access help resources and documentation
What's included:
- Link to this user manual (PDF or web version)
- Keyboard shortcut reference card
- Behavior type explanations with examples
- Troubleshooting guide
- FAQ section
- Video tutorials (links to external videos)
- Contact support information
- Feedback form
3.4.5 Mode Toggle
- Label: "Basic Mode" / "Advanced Mode"
- Purpose: Switch between Basic and Advanced interface modes
Toggle States:
- Green / "Basic": Currently in Basic Mode, click to switch to Advanced
- Blue / "Advanced": Currently in Advanced Mode, click to switch to Basic
Effect:
- Immediate mode change
- Color scheme changes
- Available features update
- Configurations preserved
3.5 Profile Management (Detailed)
Access: Click "Profiles" in sidebar navigation
3.5.1 Understanding Profiles
What is a Profile?
A profile (also called keymap) is a complete saved configuration that includes:
- All 16 button assignments
- Behavior type for each button (Click, Hold, Toggle, Cycle, Tap Dance)
- Press actions for each button
- Release actions for each button (if applicable)
- Key groups and modifier combinations
- Text macros (secure macros filtered on export)
- Hand mic and foot pedal configurations
- Profile metadata:
- Profile name (required)
- Profile label (optional, for OLED display)
- Description (optional)
- Author (optional)
- Creation date
- Last modified date
Why Use Profiles?
-
Multiple Workflows: Different button layouts for different tasks
- Example: "CT Reading", "MRI Review", "Dictation", "General Radiology"
- Shared Devices: Multiple users can each have their own profile
- Context Switching: Quickly switch between different tool sets
- Backup: Export and save profiles as backup
- Sharing: Share configurations with colleagues
- Experimentation: Test new layouts without losing current setup
Default Profile:
- Special profile that cannot be deleted
- Acts as fallback configuration
- Can be edited but not removed
- Restored on factory reset
- Typically starts empty (all buttons unconfigured)
3.5.2 Profile List View
Profile Card Contents:
- Profile Name (large, bold): User-defined name (e.g., "CT Abdomen Protocol")
- Profile Label (if set): Small badge shown on OLED display
- Description (if provided): User-defined notes
- Author (if provided): Creator name
-
Metadata:
- Created: Date/time of creation
- Modified: Date/time of last change
- Buttons Configured: Count (e.g., "12 of 16 buttons")
- Active Indicator: Visual badge showing which profile is currently loaded
Actions per Profile:
- Activate: Loads this profile to device (takes effect immediately)
- Edit: Loads profile and returns to Keypad view
- Export: Downloads profile as JSON file
- Duplicate: Creates copy with new name
- Delete: Removes profile permanently (cannot delete Default profile)
List Sorting Options:
- Alphabetical (A-Z): By profile name
- Recently Modified: Newest changes first
- Recently Created: Newest profiles first
- Author: Group by creator
- Most Used: Frequency of activation (if tracking enabled)
3.5.3 Creating a New Profile
Method 1: Save Current Configuration
- Configure buttons as desired on Keypad view
- Click "Save Current Profile" button
- Profile creation dialog appears
Method 2: From Profiles Page
- Navigate to Profiles section
- Click "Create New Profile" or "+ New Profile" button
- Choose to start from:
- Current configuration
- Empty (all buttons unassigned)
- Copy of existing profile
- Profile creation dialog appears
Profile Creation Dialog:
-
Profile Name (required):
- Must be unique (not already used)
- Examples: "CT Chest Protocol", "MRI Brain Reads", "Dictation Full"
- Character limit: Typically 50-100 characters
-
Profile Label (optional):
- Short identifier for OLED display
- Typically 4-6 characters
- Examples: "CT", "MRI", "Dict", "Read"
- Displayed in top-right corner of OLED screen
-
Description (optional):
- Notes about profile purpose, context, special keys
- Character limit: Typically 500-1000 characters
-
Author (optional):
- Your name or department
- Examples: "Dr. Jane Smith", "Radiology Dept"
After Creation:
- Profile is saved to device
- Profile appears in profile list
- Profile is automatically activated (becomes current)
- Success message: "Profile 'CT Abdomen Reading' created successfully"
3.5.4 Activating a Profile
Purpose: Switch to a different button configuration
Methods:
Method 1: From Profile List
- Navigate to Profiles section
- Find desired profile in list
- Click "Activate" button on profile card
- Profile loads immediately
Method 2: Quick Switcher (if available)
- Use profile dropdown in sidebar or toolbar
- Select profile from dropdown
- Profile loads immediately
What Happens When Activating:
- Current profile is saved (if changes made)
- New profile is loaded from device storage
- All 16 button configurations update to match profile
- Virtual keypad display updates showing new assignments
- OLED display updates with new profile name and label
- Device immediately uses new configuration - buttons now function per new profile
- Active indicator moves to newly activated profile in list
- Confirmation message: "Profile 'CT Abdomen' activated"
No Restart Required:
- Profile switch is instantaneous
- No device reboot needed
- New configuration active immediately
- Can test buttons right away
3.5.5 Editing a Profile
Purpose: Modify button configurations in an existing profile
Methods:
Method 1: Edit from Profile List
- Navigate to Profiles section
- Click "Edit" button on profile card
- Profile is activated and Keypad view loads
- Make changes to button configurations
- Changes are automatically saved to this profile
Method 2: Activate then Configure
- Activate desired profile
- Navigate to Keypad view
- Select and modify buttons
- Changes save to currently active profile
Auto-Save Behavior:
- Most interfaces auto-save changes
- Each button configuration immediately saved
- No separate "Save" button needed
- Confirmation messages may appear
3.5.6 Deleting a Profile
Purpose: Remove unwanted profiles to free space or reduce clutter
Process:
- Navigate to Profiles section
- Find profile to delete
- Click "Delete" button (trash icon or red button)
- Confirmation dialog appears
- Click "Delete" to confirm, or "Cancel" to abort
- Profile is permanently removed from device
- Success message: "Profile deleted"
Restrictions:
- Cannot delete Default profile - "Delete" button disabled
- Cannot delete currently active profile (some implementations) - Must switch to another profile first
- No undo - Deletion is permanent
Best Practice:
- Export profile before deleting (backup)
- Verify correct profile before confirming delete
- Clean up unused test profiles regularly
3.5.7 Exporting Profiles
Purpose:
- Backup profiles to external storage
- Share profiles with colleagues
- Transfer profiles between devices
- Version control / archive old versions
Process:
- Navigate to Profiles section
- Find profile to export
- Click "Export" button (download icon)
- Browser downloads JSON file
- Default filename:
ProfileName.json - Save to desired location
File Format:
JSON Structure:
- Human-readable text format
- Can open in any text editor
- Contains all profile data
- Example filename:
CT_Abdomen_Reading.json
What's Included:
- Profile name, label, description, author
- Creation and modification dates
- All 16 button configurations
- Behavior types
- Key assignments
- Text macros (non-secure)
- Device mode settings
What's Excluded (Security):
- Secure text macros - Automatically filtered out for security
- Macros marked as "secure" not included in export
- Prevents accidental exposure of passwords or confidential text
Use Cases:
Backup:
- Export regularly to cloud storage (Google Drive, Dropbox, etc.)
- Keep versions before major changes
- Restore after firmware update or factory reset
Sharing:
- Email JSON file to colleague
- Post to team shared drive
- Include in department documentation
- Standardize configurations across team
3.5.8 Importing Profiles
Purpose:
- Restore backed-up profiles
- Load profiles from colleagues
- Transfer profiles between devices
- Import standardized department configurations
Process:
- Navigate to Profiles section
- Click "Import Profile" or "Upload Profile" button
- File picker dialog opens
- Select profile JSON file from computer
- Click "Open" or "Upload"
- File uploads to device
- Validation occurs automatically:
- Checks file is valid JSON
- Verifies profile structure
- Ensures required fields present
- Validates button configurations
- Checks compatibility with firmware version
- If valid:
- Profile is added to device storage
- Profile appears in profile list
- Success message displayed
- Can activate immediately or later
- If invalid:
- Error message appears with specific issue
- Profile not imported
Validation Errors and Solutions:
- "Invalid JSON format": File is corrupted or not valid JSON - Re-export from source
- "Missing required fields": Profile lacks necessary data - Check source profile
- "Incompatible version": Profile from newer/older firmware - Update firmware
-
"Profile already exists": Profile name conflicts
- Choose to overwrite existing profile
- Rename imported profile
- Cancel import
After Import:
- Profile available in profile list
- Not automatically activated (current profile remains active)
- Can activate immediately or later
- Can edit or configure further
3.6 Key Configuration (Detailed)
This section provides in-depth explanation of configuring different types of button behaviors and actions.
3.6.1 Click Behavior
Description: Standard key press and release. When button is pressed, key goes down. When button is released, key goes up. Most common behavior for keyboard shortcuts.
Configuration:
- Select button on virtual keypad
- Choose "Click" behavior (or leave default)
- Select input type: Keyboard, Mouse, Text, etc.
- Configure action
- Save (or auto-save)
Keyboard Actions:
Single Key:
- Click key on virtual keyboard
- Example: F5, Enter, Space, Escape
- Button will press and release that key
Modified Key (Shortcut):
- Click modifier(s): Ctrl, Shift, Alt, Win/Cmd
- Click main key
- Example: Ctrl+S, Alt+F4, Shift+Delete
- Button presses all keys together, releases all together
Multiple Modifiers:
- Click multiple modifiers
- Click main key
- Example: Ctrl+Shift+Alt+F12
- Useful for complex PACS or application shortcuts
Use Cases:
- Save file: Ctrl+S
- Undo: Ctrl+Z
- Copy/Paste: Ctrl+C, Ctrl+V
- Function keys: F1 (Help), F5 (Refresh), F11 (Fullscreen)
- PACS shortcuts: Application-specific combinations
- Window management: Alt+Tab, Win+D
3.6.2 Hold Behavior
Description: Key remains pressed down as long as button is held. Key releases when button is released. Use for modifiers or continuous actions.
Configuration:
- Select button
- Choose "Hold" behavior
- Configure press action (keys to hold)
- Configure release behavior: Must select "Release Keys"
- Save
Why Release Behavior is Critical:
- Without proper release, keys can get "stuck" pressed
- Computer will think keys are held down even after button released
- Can cause infinite key repeat or locked modifiers
- Always configure "Release Keys" for Hold behavior
Typical Use Cases:
Holding Modifiers:
- Hold Ctrl: Button holds Ctrl while you click mouse or press other keys
- Hold Shift: For continuous selection
- Hold Alt: For alternate behaviors in applications
Continuous Actions:
- Hold Arrow Key: Continuous scrolling
- Hold Page Down: Fast scrolling through document
- Hold Space: Gaming applications (continuous action)
Push-to-Talk:
- Hold button to activate microphone
- Release to mute
- Useful for communication apps
Configuration Example:
Button 5: Hold Ctrl
- Behavior: Hold
- Press Action: Ctrl
- Release Action: Release Keys
Usage:
- Press and hold button 5
- Ctrl key goes down and stays down
- While holding, you can:
- Click with mouse (Ctrl+Click)
- Press other keyboard keys (Ctrl+Key)
- Use other PACSPad buttons
- Release button 5
- Ctrl key releases
⚠️ Warning: If release behavior not configured correctly, Ctrl will stay pressed even after releasing button. This will cause all subsequent key presses to act as Ctrl+Key.
Troubleshooting Stuck Keys:
- If keys seem stuck, tap all modifiers (Ctrl, Shift, Alt, Win) several times
- Some operating systems have sticky keys - disable if problematic
- Always test Hold behavior before relying on it
- Emergency stop: Unplug device to release all keys
3.6.3 Toggle Behavior
Description: Alternates key state with each button press. First press: key goes down and stays down. Second press: key releases. Like a light switch.
Configuration:
- Select button
- Choose "Toggle" behavior
- Configure key(s) to toggle
- Release behavior typically "No Action" (toggle manages state)
- Save
How It Works:
First Press:
- Button pressed and released
- Key goes DOWN and stays down
- Key is "locked" in pressed state
- Visual indicator may show toggle state
Second Press:
- Button pressed and released again
- Key goes UP (releases)
- Key is "unlocked" from pressed state
- Visual indicator clears
Third Press:
- Back to DOWN (repeats cycle)
Use Cases:
Caps Lock Style:
- Toggle key that should stay pressed
- Example: Custom "always Shift" for repeated capitals
Push-to-Talk (Toggle Mode):
- First press: Activate microphone, stays active
- Second press: Deactivate microphone
- No need to hold button
Persistent Modifier:
- Toggle Ctrl: Ctrl stays pressed, all keys act as Ctrl+Key
- Do multiple Ctrl+Keys without holding Ctrl
- Toggle again to release Ctrl
Configuration Example:
Button 9: Toggle Caps Lock
- Behavior: Toggle
- Press Action: Caps Lock
- Release Action: No Action
Usage:
- Press button 9 once → Caps Lock ON
- Type characters → All capitals
- Press button 9 again → Caps Lock OFF
- Type characters → Normal case
Important Notes:
State Persistence:
- Toggle state persists until toggled again or device reset
- Unplugging device releases all toggled keys
- Switching profiles releases all toggled keys
- Entering Settings Mode releases all toggled keys
Multiple Toggles:
- Multiple buttons can be in toggle state simultaneously
- Example: Button 1 toggles Ctrl, Button 2 toggles Shift
- Both can be toggled on, resulting in Ctrl+Shift being held
- Toggle each independently to release
3.6.4 Cycle Behavior
Description: Rotates through multiple keys with each button press. First press: Key 1. Second press: Key 1 releases, Key 2 presses. Third press: Key 2 releases, Key 3 presses. And so on.
Configuration:
- Select button
- Choose "Cycle" behavior
- Configure multiple keys (typically 2-6 keys)
- Order keys (sequence matters)
- Release behavior typically "No Action" (auto-handles)
- Save
How It Works:
First Press: Key 1 is pressed and released
Second Press: Key 2 is pressed and released
Third Press: Key 3 is pressed and released
After Last Key: Cycles back to first key - continuous rotation
Use Cases:
Tool Switching:
- PACS/imaging applications with numbered tools
- Cycle through: Tool 1 (F1), Tool 2 (F2), Tool 3 (F3), Tool 4 (F4)
- Each button press switches to next tool
Window Switching:
- Cycle through: Alt+1, Alt+2, Alt+3, Alt+4
- Switch between multiple open windows or tabs
Zoom Levels:
- Cycle through: + (Zoom In), 0 (Zoom Reset), - (Zoom Out)
- Quick zoom control
Configuration Example:
Button 10: Cycle PACS Tools
- Behavior: Cycle
- Cycle Keys:
- Key 1: F1 (Measurement tool)
- Key 2: F2 (Annotation tool)
- Key 3: F3 (Zoom tool)
- Key 4: F4 (Pan tool)
- Release Action: No Action
Usage:
- Press button 10 once → F1 sent (Measurement tool activates)
- Press button 10 again → F2 sent (Annotation tool activates)
- Press button 10 again → F3 sent (Zoom tool activates)
- Press button 10 again → F4 sent (Pan tool activates)
- Press button 10 again → F1 sent (cycles back to Measurement tool)
Cycle State:
- Device remembers current position in cycle
- Next press continues from current position
- Cycling one button doesn't affect other cycle buttons
- Switching profiles resets all cycle positions to first key
3.6.5 Tap Dance Behavior
Description: Single button performs different actions based on timing. Quick tap (release before timeout) = one action. Hold (past timeout) = different action. Maximizes button efficiency.
Configuration:
- Select button
- Choose "Tap Dance" behavior
- Configure Tap Action (quick tap behavior)
- Configure Hold Action (long press behavior)
- Configure Tap Release behavior (optional)
- Configure Hold Release behavior (optional)
- Note: Tap Dance timeout is set globally via Device Settings or on-device menu
- Save
Timeout Setting:
Global Timeout:
- Set via Utilities → Device Settings → Tap Dance Timeout
- Or on-device: Settings → Tap Dance Timeout
- Default: 250ms (0.25 seconds)
- Range: Typically 50ms - 1000ms
- Applies to ALL buttons with Tap Dance behavior
How Timeout Works:
- You press button: Timer starts counting
- You release BEFORE timeout (e.g., before 250ms): TAP action is triggered, Tap Release behavior executes (if configured)
- You hold BEYOND timeout (e.g., past 250ms): HOLD action is triggered immediately (don't need to wait for release), Hold Release behavior executes when you eventually release button
Use Cases:
Space vs Enter:
- Tap: Space (common)
- Hold: Enter (less common)
- Good for typing workflows
Undo vs Redo:
- Tap: Ctrl+Z (Undo)
- Hold: Ctrl+Y (Redo)
- Single button for both
Single Key vs Modifier+Key:
- Tap: F5 (Refresh)
- Hold: Ctrl+F5 (Hard Refresh)
- Related actions
Navigation:
- Tap: Page Down (next page)
- Hold: End (end of document)
- Fast vs slow navigation
Configuration Example:
Button 2: Space vs Enter
- Behavior: Tap Dance
- Tap Dance Timeout: 250ms (global setting)
- Tap Action: Space
- Tap Release: No Action
- Hold Action: Enter
- Hold Release: No Action
Usage:
-
Quick tap button 2 (press and release in < 250ms):
- Space key is sent
- Useful for typing or advancing slides
-
Hold button 2 (hold for > 250ms):
- Enter key is sent (immediately after 250ms)
- Release button (Enter key already sent)
- Useful for confirming dialogs
Timing Considerations:
Short Timeout (50-150ms):
- Pros: Very fast response, minimal delay
- Cons: Easy to accidentally trigger hold
- Best for: Experienced users, deliberate actions
Medium Timeout (200-350ms):
- Pros: Good balance, natural timing
- Cons: Slight delay before tap action
- Best for: Most users, recommended
Long Timeout (400-1000ms):
- Pros: Very distinct tap vs hold
- Cons: Longer delay can feel sluggish
- Best for: Avoiding mistakes, accessibility
3.7 Utilities Section (Detailed)
Access: Click "Utilities" or "Settings" in sidebar navigation
This section provides access to device settings, system maintenance, firmware updates, and diagnostic tools.
3.7.1 WiFi Settings
Purpose: Manage WiFi access point security and configuration
Change WiFi Password
Purpose: Set a custom password for the device WiFi AP
Process:
- Navigate to Utilities → WiFi Settings
- View current password (click "Show" if needed)
- Enter new password in field (minimum 8 characters)
- Click "Update Password"
- Confirmation prompt: "Change WiFi password? You will be disconnected."
- Click "Confirm"
- Device updates password in preferences
- WiFi AP restarts with new password
- You are disconnected
- Success message (briefly, before disconnect): "Password updated. Reconnecting with new password..."
- Reconnect to device WiFi using NEW password
- Navigate back to http://192.168.4.1
After Password Change:
- All connected clients are disconnected
- Must reconnect with new password
- New password persists across reboots
- Can be reset to default via "Reset Password" or on-device menu
Security Recommendations:
- Use strong password (12+ characters)
- Mix letters, numbers, symbols
- Avoid dictionary words
- Don't share password unnecessarily
- Change periodically if device accessible to many people
Reset WiFi Password
Purpose: Restore password to device-specific default (MAC-based)
Process:
- Navigate to Utilities → WiFi Settings
- Click "Reset Password" button
- Confirmation dialog appears
- Click "Reset Password" to confirm
- Device resets password to MAC-based default
- WiFi AP restarts
- You are disconnected
- Use on-device menu to view new default password:
- Enter Settings Mode
- Navigate to Web Portal → Show Password
- Write down default password
- Reconnect to device WiFi with default password
- Navigate back to http://192.168.4.1
When to Use:
- Forgot custom password
- Want known/predictable password
- Troubleshooting access issues
- Device transfer (new owner can generate default)
- Restoring to known state
Default Password Generation:
- Based on device MAC address
- Algorithm: FNV-1a hash of MAC address
- Output: 8 alphanumeric characters (0-9, A-Z)
- Unique to each device
- Deterministic (same MAC = same password)
- Cannot be predicted without knowing MAC
3.7.2 Display Settings
Purpose: Configure OLED display behavior
Brightness
- Slider: 0% - 100%
- Default: Typically 50-75%
- Real-time preview on device
- Higher brightness: More visible, more power
- Lower brightness: Power saving, less eye strain
Screen Timeout
- Dropdown or slider
- Options: 10 seconds, 30 seconds, 1 minute, 5 minutes, 10 minutes, Never (always on)
- Default: Typically 5 minutes
- After timeout: Screen turns off (power saving)
- Wake on any button press
Orientation
- Dropdown: Normal, Flipped 180°
- Use case: Device mounted upside down
3.7.3 Device Settings
Tap Dance Timeout
- Slider: 50ms - 1000ms
- Default: 250ms
- Applies globally to all Tap Dance buttons
- Real-time adjustment
- Test mode: Try timeout before saving
Button Debounce (if available)
- Slider: 5ms - 50ms
- Default: Typically 10-20ms
- Higher value: Reduces double-triggering, slower response
- Lower value: Faster response, may double-trigger
- Adjust if buttons feel "bouncy"
3.7.4 Firmware Update
Purpose: Update device firmware for both primary and secondary processors
⚠️ CRITICAL SAFETY WARNING ⚠️
- DO NOT DISCONNECT POWER DURING UPDATE
- DO NOT CLOSE BROWSER DURING UPLOAD
- WAIT FOR DEVICE TO FINISH AND REBOOT
Failure to follow these warnings may brick your device!
Primary Processor Update
Process:
-
Preparation:
- Download correct .bin file for primary processor
- Verify file integrity (checksum if provided)
- Ensure stable power (device plugged in, computer not on battery)
- Backup profiles (export via Profiles section)
- Close unnecessary apps
- Read release notes
-
Upload:
- Navigate to Utilities → Firmware Update → Primary Processor
- Review current firmware version
- Click "Choose File" button
- Select .bin file from downloads
- File name appears next to button
- Click "Upload Firmware"
-
Confirmation:
- Confirmation dialog appears
- Click "Upload" to proceed
-
Upload Progress:
- Progress bar shows upload progress (0-100%)
- Status: "Uploading firmware... 45%"
- Do not close browser or navigate away
-
Installation:
- Upload completes (100%)
- Status: "Upload complete. Installing..."
- Device validates firmware
- Device writes firmware to flash
- This may take 20-40 seconds
-
Reboot:
- Status: "Firmware installed. Rebooting..."
- Device automatically reboots
- Connection to web interface lost (expected)
- Wait 10-15 seconds for device to restart
-
Reconnection:
- Device finishes booting
- WiFi AP comes back online
- Reconnect to device WiFi (if disconnected)
- Navigate to http://192.168.4.1
- Web interface loads
-
Verification:
- Check Utilities → Firmware Update → Primary Processor
- Verify new firmware version displayed
- Or check Device Info for firmware version
-
Testing:
- Test basic button functionality
- Check profiles are intact
- Check settings are preserved
- Test any new features from update
- Review release notes for changes
If Update Fails:
- Device usually retains previous firmware (safe fallback)
- Try uploading again
- Verify correct .bin file
- Check file not corrupted (re-download)
- Ensure sufficient free flash space (check Device Info)
- Contact support if repeated failures
Secondary Processor Update
Same process as Primary, but:
- Tab or section: "Secondary Processor"
- Different .bin file:
pacspad_secondary_v1.0.5.bin - Updates ESP32 that handles Hand mic/Foot pedal emulation
- Independent from primary
- Can update one without other (check release notes for compatibility)
Version Compatibility:
- Some features require matching versions
- Release notes specify compatibility
- Example: "Primary v1.2.3 requires Secondary v1.0.5 or higher"
- Check both versions after updating
3.7.5 Factory Reset
⚠️ WARNING: CANNOT BE UNDONE! ⚠️
This will permanently erase:
- All custom keymap profiles
- All button configurations
- Custom WiFi password
- All settings and preferences
This will NOT erase:
- Firmware version
- Hardware calibration
Web Interface Method:
Process:
- Navigate to Utilities → Factory Reset
- Read warning carefully
- Export important profiles first (optional but recommended)
- Click "Factory Reset" button
- First confirmation dialog appears
- Click "Continue"
- Second confirmation (typing verification) appears
- Type "CONFIRM" in field
- "Reset Device" button becomes enabled
- Click "Reset Device"
- Status message: "Performing factory reset..."
- Device erases all data
- Device reboots automatically
- Connection lost (expected)
- Wait 15-20 seconds for device to restart
- Device starts with factory defaults
- Reconnect using default password (use on-device Show Password menu)
- Navigate to http://192.168.4.1
- Reconfigure device from scratch or import backed-up profiles
After Factory Reset:
- All profiles deleted (except Default, which is empty)
- All buttons unassigned
- WiFi password is MAC-based default
- Tap Dance timeout is 250ms (default)
- All settings at factory defaults
- Firmware version unchanged (not downgraded)
Appendices
Appendix A: Button Behavior Quick Reference
| Behavior | Press Action | Release Action | Best For | Example Use Case |
|---|---|---|---|---|
| Click | Key press + immediate release | Automatic | Standard shortcuts | Ctrl+S (Save), F5 (Refresh) |
| Hold | Key pressed and held down | Release Keys (required) | Modifiers, continuous actions | Hold Ctrl for Ctrl+Click |
| Toggle | Toggle between pressed/released | No Action | Persistent state | Toggle "push-to-talk" on/off |
| Cycle | Rotate through multiple keys | No Action (auto-managed) | Multiple related actions | Cycle between PACS tools (F1, F2, F3, F4) |
| Tap Dance | Tap: Action 1 Hold: Action 2 |
Separate for each path | Maximize button efficiency | Tap: Space, Hold: Enter |
Appendix C: Troubleshooting Guide
Cannot Enter Settings Mode
Symptoms: Pressing buttons 1+13+16 doesn't show "Settings Mode"
Solutions:
- Ensure all three buttons pressed simultaneously (bottom-left, top-left, top-right corners)
- Hold for full 2 seconds
- Check OLED for confirmation
- Try pressing more firmly
- Power cycle device (unplug and replug)
Cannot Connect to WiFi
Symptoms: Can't find device network or connection fails
Solutions:
- Verify WiFi is enabled: Settings → Web Portal → On/Off → ON
- Check SSID matches MAC address (12 hex characters)
- Verify password via Show Password menu
- Move closer to device (within 10 feet)
- Forget network and reconnect
- Restart WiFi on computer/phone
- Try different device (phone vs computer)
Web Interface Won't Load
Symptoms: Browser can't reach http://192.168.4.1
Solutions:
- Verify connected to device WiFi (check WiFi icon)
- Type URL exactly: http://192.168.4.1 (not https, no www)
- Try different browser
- Clear browser cache (Ctrl+Shift+Delete)
- Disable VPN or proxy
- Check firewall not blocking connection
- Try private/incognito window
- Restart browser
Buttons Not Working
Symptoms: Pressing PACSPad buttons doesn't do anything
Solutions:
- Verify profile is activated (check OLED display)
- Check button configurations in web interface
- Test in simple text editor (Notepad) to rule out application issues
- Try different application
- Check USB cable connection
- Try different USB port
- Verify device recognized as USB HID (check Device Manager on Windows)
- Some applications block simulated input - check app settings
- Switch to Default profile, test there
- Factory reset if persistent (backup profiles first)
Profile Won't Import
Symptoms: Error when importing profile JSON file
Solutions:
- Check file is valid JSON (open in text editor)
- Verify file not corrupted (re-download or re-export)
- Ensure firmware version compatibility
- Check profile name not already in use (rename or overwrite)
- Verify file size isn't too large
- Check available storage space (Device Info)
- Try on different browser
Tap Dance Not Working as Expected
Symptoms: Tap/Hold detection incorrect
Solutions:
- Check global Tap Dance timeout setting
- Too short: Increase timeout (more time to tap)
- Too long: Decrease timeout (faster distinction)
- Practice timing (muscle memory)
- Verify behavior configured correctly (separate tap and hold actions)
- Test in simple application first
Keys "Stuck" Pressed
Symptoms: Keys stay pressed after releasing button
Solutions:
- Tap stuck keys several times (Ctrl, Shift, Alt, Win)
- Press and release all modifier keys
- Verify Hold behaviors have "Release Keys" configured
- Unplug device to release all keys
Hand mic/Foot pedal Not Working
Symptoms: Dictation commands don't function
Solutions:
- Verify secondary processor connected (System Info)
- Check secondary processor mode matches (HANDMIC or FOOTPEDAL)
- Test secondary connection (Diagnostics → Connection Test)
- Update secondary processor firmware
- Verify dictation software compatibility
- Check dictation software settings
- Try different hand mic command
- Power cycle device
Appendix E: Support and Resources
Technical Support:
- Email: support@pacspad.com
- Response Time: 1-2 business days
- Include: Device info, firmware version, description of issue, logs
- Attach: Screenshots, exported logs, profile JSON (if relevant)
Firmware Updates:
- Please use this link in a browser with web serial support (Chrome) to update your PACSPad firmware: https://pacspad.github.io/web_flash/
Warranty:
- Duration: 1-year limited warranty from date of purchase
- Coverage: Manufacturing defects, hardware failures
- Exclusions: Physical damage, water damage, unauthorized modifications, normal wear
- Proof of Purchase: Required for warranty claims
Returns:
- Period: 30 days from purchase (if applicable)
- Condition: Unused, original packaging
- Restocking Fee: May apply (check retailer policy)
- Refund: To original payment method
End of Manual
Thank you for choosing PACSPad. For the latest version of this manual, firmware updates, and additional resources, visit the manufacturer website.
For technical support, email support@pacspad.com
© 2025 PACSPad. All rights reserved. Version 1.0, January 2025.