diff options
| author | Manna Harbour <51143715+manna-harbour@users.noreply.github.com> | 2020-07-03 03:04:55 +1000 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-02 18:04:55 +0100 | 
| commit | d1819f02dfac40408ceb51a59c32eb8e898e8810 (patch) | |
| tree | 3444801934dbac2c35e2183f5ac7589600d67ad3 /tmk_core | |
| parent | e1cdfdc0e7b177ea8b4f3626959dabf316dd3b0c (diff) | |
| download | firmware-d1819f02dfac40408ceb51a59c32eb8e898e8810.tar.gz firmware-d1819f02dfac40408ceb51a59c32eb8e898e8810.tar.bz2 firmware-d1819f02dfac40408ceb51a59c32eb8e898e8810.zip | |
Fix sharing of mouse button state from mousekeys to ps2_mouse (#9124)
With this change, when ps2_mouse is disabled, mousekeys works as usual. With
ps2_mouse enabled, mousekeys button state is shared with ps2_mouse for clicking,
dragging, and scrolling, mousekeys clicks are produced by ps2_mouse only, and
mouskeys button state is transferred to mousekeys without generating clicks to
enable mousekeys dragging.
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/common/action.c | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 82be9cc92..69bcf8e56 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -400,7 +400,9 @@ void process_action(keyrecord_t *record, action_t action) {          /* Mouse key */          case ACT_MOUSEKEY:              if (event.pressed) { +                mousekey_on(action.key.code);                  switch (action.key.code) { +#    ifdef PS2_MOUSE_ENABLE                      case KC_MS_BTN1:                          tp_buttons |= (1 << 0);                          break; @@ -410,13 +412,15 @@ void process_action(keyrecord_t *record, action_t action) {                      case KC_MS_BTN3:                          tp_buttons |= (1 << 2);                          break; +#    endif                      default: +                        mousekey_send();                          break;                  } -                mousekey_on(action.key.code); -                mousekey_send();              } else { +                mousekey_off(action.key.code);                  switch (action.key.code) { +#    ifdef PS2_MOUSE_ENABLE                      case KC_MS_BTN1:                          tp_buttons &= ~(1 << 0);                          break; @@ -426,11 +430,11 @@ void process_action(keyrecord_t *record, action_t action) {                      case KC_MS_BTN3:                          tp_buttons &= ~(1 << 2);                          break; +#    endif                      default: +                        mousekey_send();                          break;                  } -                mousekey_off(action.key.code); -                mousekey_send();              }              break;  #endif | 
