diff options
Diffstat (limited to 'quantum/process_keycode')
| -rw-r--r-- | quantum/process_keycode/process_auto_shift.c | 20 | ||||
| -rw-r--r-- | quantum/process_keycode/process_auto_shift.h | 1 | ||||
| -rw-r--r-- | quantum/process_keycode/process_backlight.c | 29 | ||||
| -rw-r--r-- | quantum/process_keycode/process_leader.c | 5 | ||||
| -rw-r--r-- | quantum/process_keycode/process_leader.h | 7 | ||||
| -rw-r--r-- | quantum/process_keycode/process_rgb.c | 5 |
6 files changed, 56 insertions, 11 deletions
diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index bf359e994..51b0efdb4 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c | |||
| @@ -216,7 +216,18 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) { | |||
| 216 | # endif | 216 | # endif |
| 217 | } | 217 | } |
| 218 | } | 218 | } |
| 219 | if (get_auto_shifted_key(keycode, record)) { | ||
| 220 | if (record->event.pressed) { | ||
| 221 | return autoshift_press(keycode, now, record); | ||
| 222 | } else { | ||
| 223 | autoshift_end(keycode, now, false); | ||
| 224 | return false; | ||
| 225 | } | ||
| 226 | } | ||
| 227 | return true; | ||
| 228 | } | ||
| 219 | 229 | ||
| 230 | __attribute__((weak)) bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { | ||
| 220 | switch (keycode) { | 231 | switch (keycode) { |
| 221 | # ifndef NO_AUTO_SHIFT_ALPHA | 232 | # ifndef NO_AUTO_SHIFT_ALPHA |
| 222 | case KC_A ... KC_Z: | 233 | case KC_A ... KC_Z: |
| @@ -229,14 +240,9 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) { | |||
| 229 | case KC_MINUS ... KC_SLASH: | 240 | case KC_MINUS ... KC_SLASH: |
| 230 | case KC_NONUS_BSLASH: | 241 | case KC_NONUS_BSLASH: |
| 231 | # endif | 242 | # endif |
| 232 | if (record->event.pressed) { | 243 | return true; |
| 233 | return autoshift_press(keycode, now, record); | ||
| 234 | } else { | ||
| 235 | autoshift_end(keycode, now, false); | ||
| 236 | return false; | ||
| 237 | } | ||
| 238 | } | 244 | } |
| 239 | return true; | 245 | return false; |
| 240 | } | 246 | } |
| 241 | 247 | ||
| 242 | #endif | 248 | #endif |
diff --git a/quantum/process_keycode/process_auto_shift.h b/quantum/process_keycode/process_auto_shift.h index 5b2718f11..00a9ab036 100644 --- a/quantum/process_keycode/process_auto_shift.h +++ b/quantum/process_keycode/process_auto_shift.h | |||
| @@ -31,3 +31,4 @@ bool get_autoshift_state(void); | |||
| 31 | uint16_t get_autoshift_timeout(void); | 31 | uint16_t get_autoshift_timeout(void); |
| 32 | void set_autoshift_timeout(uint16_t timeout); | 32 | void set_autoshift_timeout(uint16_t timeout); |
| 33 | void autoshift_matrix_scan(void); | 33 | void autoshift_matrix_scan(void); |
| 34 | bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record); | ||
diff --git a/quantum/process_keycode/process_backlight.c b/quantum/process_keycode/process_backlight.c index 4d12f6813..8b70339a5 100644 --- a/quantum/process_keycode/process_backlight.c +++ b/quantum/process_keycode/process_backlight.c | |||
| @@ -16,11 +16,35 @@ | |||
| 16 | 16 | ||
| 17 | #include "process_backlight.h" | 17 | #include "process_backlight.h" |
| 18 | 18 | ||
| 19 | #include "backlight.h" | 19 | #ifdef LED_MATRIX_ENABLE |
| 20 | # include "led_matrix.h" | ||
| 21 | #else | ||
| 22 | # include "backlight.h" | ||
| 23 | #endif | ||
| 20 | 24 | ||
| 21 | bool process_backlight(uint16_t keycode, keyrecord_t *record) { | 25 | bool process_backlight(uint16_t keycode, keyrecord_t *record) { |
| 22 | if (record->event.pressed) { | 26 | if (record->event.pressed) { |
| 23 | switch (keycode) { | 27 | switch (keycode) { |
| 28 | #ifdef LED_MATRIX_ENABLE | ||
| 29 | case BL_ON: | ||
| 30 | led_matrix_enable(); | ||
| 31 | return false; | ||
| 32 | case BL_OFF: | ||
| 33 | led_matrix_disable(); | ||
| 34 | return false; | ||
| 35 | case BL_DEC: | ||
| 36 | led_matrix_decrease_val(); | ||
| 37 | return false; | ||
| 38 | case BL_INC: | ||
| 39 | led_matrix_increase_val(); | ||
| 40 | return false; | ||
| 41 | case BL_TOGG: | ||
| 42 | led_matrix_toggle(); | ||
| 43 | return false; | ||
| 44 | case BL_STEP: | ||
| 45 | led_matrix_step(); | ||
| 46 | return false; | ||
| 47 | #else | ||
| 24 | case BL_ON: | 48 | case BL_ON: |
| 25 | backlight_level(BACKLIGHT_LEVELS); | 49 | backlight_level(BACKLIGHT_LEVELS); |
| 26 | return false; | 50 | return false; |
| @@ -39,10 +63,11 @@ bool process_backlight(uint16_t keycode, keyrecord_t *record) { | |||
| 39 | case BL_STEP: | 63 | case BL_STEP: |
| 40 | backlight_step(); | 64 | backlight_step(); |
| 41 | return false; | 65 | return false; |
| 42 | #ifdef BACKLIGHT_BREATHING | 66 | # ifdef BACKLIGHT_BREATHING |
| 43 | case BL_BRTG: | 67 | case BL_BRTG: |
| 44 | backlight_toggle_breathing(); | 68 | backlight_toggle_breathing(); |
| 45 | return false; | 69 | return false; |
| 70 | # endif | ||
| 46 | #endif | 71 | #endif |
| 47 | } | 72 | } |
| 48 | } | 73 | } |
diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c index 58a615d85..cf63f2514 100644 --- a/quantum/process_keycode/process_leader.c +++ b/quantum/process_keycode/process_leader.c | |||
| @@ -49,7 +49,10 @@ bool process_leader(uint16_t keycode, keyrecord_t *record) { | |||
| 49 | // Leader key set-up | 49 | // Leader key set-up |
| 50 | if (record->event.pressed) { | 50 | if (record->event.pressed) { |
| 51 | if (leading) { | 51 | if (leading) { |
| 52 | if (timer_elapsed(leader_time) < LEADER_TIMEOUT) { | 52 | # ifndef LEADER_NO_TIMEOUT |
| 53 | if (timer_elapsed(leader_time) < LEADER_TIMEOUT) | ||
| 54 | # endif // LEADER_NO_TIMEOUT | ||
| 55 | { | ||
| 53 | # ifndef LEADER_KEY_STRICT_KEY_PROCESSING | 56 | # ifndef LEADER_KEY_STRICT_KEY_PROCESSING |
| 54 | if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { | 57 | if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { |
| 55 | keycode = keycode & 0xFF; | 58 | keycode = keycode & 0xFF; |
diff --git a/quantum/process_keycode/process_leader.h b/quantum/process_keycode/process_leader.h index 9844f27a1..f3fe14a43 100644 --- a/quantum/process_keycode/process_leader.h +++ b/quantum/process_keycode/process_leader.h | |||
| @@ -35,4 +35,9 @@ void qk_leader_start(void); | |||
| 35 | extern uint16_t leader_time; \ | 35 | extern uint16_t leader_time; \ |
| 36 | extern uint16_t leader_sequence[5]; \ | 36 | extern uint16_t leader_sequence[5]; \ |
| 37 | extern uint8_t leader_sequence_size | 37 | extern uint8_t leader_sequence_size |
| 38 | #define LEADER_DICTIONARY() if (leading && timer_elapsed(leader_time) > LEADER_TIMEOUT) | 38 | |
| 39 | #ifdef LEADER_NO_TIMEOUT | ||
| 40 | # define LEADER_DICTIONARY() if (leading && leader_sequence_size > 0 && timer_elapsed(leader_time) > LEADER_TIMEOUT) | ||
| 41 | #else | ||
| 42 | # define LEADER_DICTIONARY() if (leading && timer_elapsed(leader_time) > LEADER_TIMEOUT) | ||
| 43 | #endif | ||
diff --git a/quantum/process_keycode/process_rgb.c b/quantum/process_keycode/process_rgb.c index 5dd8e7809..167c0c03c 100644 --- a/quantum/process_keycode/process_rgb.c +++ b/quantum/process_keycode/process_rgb.c | |||
| @@ -207,6 +207,11 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) { | |||
| 207 | rgblight_mode(RGBLIGHT_MODE_RGB_TEST); | 207 | rgblight_mode(RGBLIGHT_MODE_RGB_TEST); |
| 208 | #endif | 208 | #endif |
| 209 | return false; | 209 | return false; |
| 210 | case RGB_MODE_TWINKLE: | ||
| 211 | #if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_TWINKLE) | ||
| 212 | handleKeycodeRGBMode(RGBLIGHT_MODE_TWINKLE, RGBLIGHT_MODE_TWINKLE_end); | ||
| 213 | #endif | ||
| 214 | return false; | ||
| 210 | } | 215 | } |
| 211 | } | 216 | } |
| 212 | 217 | ||
