nvda
6199acf8 - DotPad: Add multi-button combination gesture support (#19565)

Commit
15 days ago
DotPad: Add multi-button combination gesture support (#19565) Summary of the issue: The DotPad driver only supports single-button input gestures. Users cannot press multiple buttons simultaneously to trigger custom gestures. Description of user facing changes: Multi-button input gestures are now supported on DotPad braille displays and can be mapped to NVDA functionality via the Input Gestures dialog. For example, pressing f1 and panLeft simultaneously produces the gesture f1+panLeft. Description of developer facing changes: Only internal changes in the DotPad driver. No public API changes. Description of development approach: Added DP_KeyGroup enum to categorize key groups (FUNCTION, PERKINS, etc.) based on the second byte of notification commands. Added secondByte property to DP_Command for extracting the key group from command values. Implemented key press state tracking across multiple groups (_keysPressed, _keyGroupsReleased). Gestures fire only when all key groups are released, enabling multi-button combinations. Replaced the previous DPKeyGesture with DPInputGesture which builds gesture IDs from all pressed keys. Gesture names use camelCase (e.g., panLeft, panRight, navCenter) converted from the DP_PerkinsKey enum names. Bit order is reversed (LSB to MSB) to match BRLTTY and protocol documentation key numbering.
Author
Parents
Loading