diff options
Diffstat (limited to 'quantum/process_keycode/process_auto_shift.h')
| -rw-r--r-- | quantum/process_keycode/process_auto_shift.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_auto_shift.h b/quantum/process_keycode/process_auto_shift.h index 00a9ab036..ac6a14374 100644 --- a/quantum/process_keycode/process_auto_shift.h +++ b/quantum/process_keycode/process_auto_shift.h | |||
| @@ -22,13 +22,31 @@ | |||
| 22 | # define AUTO_SHIFT_TIMEOUT 175 | 22 | # define AUTO_SHIFT_TIMEOUT 175 |
| 23 | #endif | 23 | #endif |
| 24 | 24 | ||
| 25 | #define IS_LT(kc) ((kc) >= QK_LAYER_TAP && (kc) <= QK_LAYER_TAP_MAX) | ||
| 26 | #define IS_MT(kc) ((kc) >= QK_MOD_TAP && (kc) <= QK_MOD_TAP_MAX) | ||
| 27 | #define IS_RETRO(kc) (IS_MT(kc) || IS_LT(kc)) | ||
| 28 | #define DO_GET_AUTOSHIFT_TIMEOUT(keycode, record, ...) record | ||
| 29 | // clang-format off | ||
| 30 | #define AUTO_SHIFT_ALPHA KC_A ... KC_Z | ||
| 31 | #define AUTO_SHIFT_NUMERIC KC_1 ... KC_0 | ||
| 32 | #define AUTO_SHIFT_SPECIAL \ | ||
| 33 | KC_TAB: \ | ||
| 34 | case KC_MINUS ... KC_SLASH: \ | ||
| 35 | case KC_NONUS_BSLASH | ||
| 36 | // clang-format on | ||
| 37 | |||
| 25 | bool process_auto_shift(uint16_t keycode, keyrecord_t *record); | 38 | bool process_auto_shift(uint16_t keycode, keyrecord_t *record); |
| 39 | void retroshift_poll_time(keyevent_t *event); | ||
| 40 | void retroshift_swap_times(void); | ||
| 26 | 41 | ||
| 27 | void autoshift_enable(void); | 42 | void autoshift_enable(void); |
| 28 | void autoshift_disable(void); | 43 | void autoshift_disable(void); |
| 29 | void autoshift_toggle(void); | 44 | void autoshift_toggle(void); |
| 30 | bool get_autoshift_state(void); | 45 | bool get_autoshift_state(void); |
| 31 | uint16_t get_autoshift_timeout(void); | 46 | uint16_t get_generic_autoshift_timeout(void); |
| 47 | // clang-format off | ||
| 48 | uint16_t (get_autoshift_timeout)(uint16_t keycode, keyrecord_t *record); | ||
| 32 | void set_autoshift_timeout(uint16_t timeout); | 49 | void set_autoshift_timeout(uint16_t timeout); |
| 33 | void autoshift_matrix_scan(void); | 50 | void autoshift_matrix_scan(void); |
| 34 | bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record); | 51 | bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record); |
| 52 | // clang-format on | ||
