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>
This commit is contained in:
parent
e1cdfdc0e7
commit
d1819f02df
1 changed files with 8 additions and 4 deletions
|
@ -400,7 +400,9 @@ void process_action(keyrecord_t *record, action_t action) {
|
||||||
/* Mouse key */
|
/* Mouse key */
|
||||||
case ACT_MOUSEKEY:
|
case ACT_MOUSEKEY:
|
||||||
if (event.pressed) {
|
if (event.pressed) {
|
||||||
|
mousekey_on(action.key.code);
|
||||||
switch (action.key.code) {
|
switch (action.key.code) {
|
||||||
|
# ifdef PS2_MOUSE_ENABLE
|
||||||
case KC_MS_BTN1:
|
case KC_MS_BTN1:
|
||||||
tp_buttons |= (1 << 0);
|
tp_buttons |= (1 << 0);
|
||||||
break;
|
break;
|
||||||
|
@ -410,13 +412,15 @@ void process_action(keyrecord_t *record, action_t action) {
|
||||||
case KC_MS_BTN3:
|
case KC_MS_BTN3:
|
||||||
tp_buttons |= (1 << 2);
|
tp_buttons |= (1 << 2);
|
||||||
break;
|
break;
|
||||||
|
# endif
|
||||||
default:
|
default:
|
||||||
|
mousekey_send();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mousekey_on(action.key.code);
|
|
||||||
mousekey_send();
|
|
||||||
} else {
|
} else {
|
||||||
|
mousekey_off(action.key.code);
|
||||||
switch (action.key.code) {
|
switch (action.key.code) {
|
||||||
|
# ifdef PS2_MOUSE_ENABLE
|
||||||
case KC_MS_BTN1:
|
case KC_MS_BTN1:
|
||||||
tp_buttons &= ~(1 << 0);
|
tp_buttons &= ~(1 << 0);
|
||||||
break;
|
break;
|
||||||
|
@ -426,11 +430,11 @@ void process_action(keyrecord_t *record, action_t action) {
|
||||||
case KC_MS_BTN3:
|
case KC_MS_BTN3:
|
||||||
tp_buttons &= ~(1 << 2);
|
tp_buttons &= ~(1 << 2);
|
||||||
break;
|
break;
|
||||||
|
# endif
|
||||||
default:
|
default:
|
||||||
|
mousekey_send();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mousekey_off(action.key.code);
|
|
||||||
mousekey_send();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue