diff options
Diffstat (limited to 'quantum/action.c')
| -rw-r--r-- | quantum/action.c | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/quantum/action.c b/quantum/action.c index 6b2e9104e0..4f01acb96e 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -403,9 +403,9 @@ void process_action(keyrecord_t *record, action_t action) {  #        if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1                              } else if (tap_count == ONESHOT_TAP_TOGGLE) {                                  dprint("MODS_TAP: Toggling oneshot"); +                                register_mods(mods);                                  clear_oneshot_mods();                                  set_oneshot_locked_mods(mods | get_oneshot_locked_mods()); -                                register_mods(mods);  #        endif                              } else {                                  register_mods(mods | get_oneshot_mods()); @@ -418,16 +418,16 @@ void process_action(keyrecord_t *record, action_t action) {                                  // Retain Oneshot mods  #        if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1                                  if (mods & get_mods()) { +                                    unregister_mods(mods);                                      clear_oneshot_mods();                                      set_oneshot_locked_mods(~mods & get_oneshot_locked_mods()); -                                    unregister_mods(mods);                                  }                              } else if (tap_count == ONESHOT_TAP_TOGGLE) {                                  // Toggle Oneshot Layer  #        endif                              } else { -                                clear_oneshot_mods();                                  unregister_mods(mods); +                                clear_oneshot_mods();                              }                          }                      } @@ -918,6 +918,10 @@ __attribute__((weak)) void register_code(uint8_t code) {          mousekey_on(code);          mousekey_send();      } +#elif defined(POINTING_DEVICE_ENABLE) +    else if IS_MOUSEKEY (code) { +        pointing_device_keycode_handler(code, true); +    }  #endif  } @@ -978,6 +982,10 @@ __attribute__((weak)) void unregister_code(uint8_t code) {          mousekey_off(code);          mousekey_send();      } +#elif defined(POINTING_DEVICE_ENABLE) +    else if IS_MOUSEKEY (code) { +        pointing_device_keycode_handler(code, false); +    }  #endif  } | 
