diff options
| author | U-LANDSRAAD\drashna <drashna@live.com> | 2017-12-19 10:06:22 -0800 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2017-12-20 14:38:56 -0500 |
| commit | a1fa70f94ddddcd6b51914a89cee7218ae1281ce (patch) | |
| tree | c9fa1c68954469d9185d8418d0996cd8eb828344 | |
| parent | d8f0faabdad2e2bc80d2258bda80e6b9e9918b63 (diff) | |
| download | qmk_firmware-a1fa70f94ddddcd6b51914a89cee7218ae1281ce.tar.gz qmk_firmware-a1fa70f94ddddcd6b51914a89cee7218ae1281ce.zip | |
Add toggle option to AutoShift
| -rw-r--r-- | keyboards/ergodox_ez/keymaps/drashna/keymap.c | 2 | ||||
| -rw-r--r-- | quantum/process_keycode/process_auto_shift.c | 13 | ||||
| -rw-r--r-- | quantum/quantum_keycodes.h | 3 |
3 files changed, 17 insertions, 1 deletions
diff --git a/keyboards/ergodox_ez/keymaps/drashna/keymap.c b/keyboards/ergodox_ez/keymaps/drashna/keymap.c index 8743ae282..81231242d 100644 --- a/keyboards/ergodox_ez/keymaps/drashna/keymap.c +++ b/keyboards/ergodox_ez/keymaps/drashna/keymap.c | |||
| @@ -294,7 +294,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 294 | KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, | 294 | KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, |
| 295 | TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, | 295 | TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, |
| 296 | KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, | 296 | KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, |
| 297 | KC_NO, KC_NO, | 297 | KC_ASTG, KC_NO, |
| 298 | KC_NO, | 298 | KC_NO, |
| 299 | KC_PGDOWN, KC_DELETE, KC_ENTER | 299 | KC_PGDOWN, KC_DELETE, KC_ENTER |
| 300 | ), | 300 | ), |
diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index d096cde56..e2e6b02e0 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c | |||
| @@ -34,6 +34,8 @@ uint16_t autoshift_time = 0; | |||
| 34 | uint16_t autoshift_timeout = AUTO_SHIFT_TIMEOUT; | 34 | uint16_t autoshift_timeout = AUTO_SHIFT_TIMEOUT; |
| 35 | uint16_t autoshift_lastkey = KC_NO; | 35 | uint16_t autoshift_lastkey = KC_NO; |
| 36 | 36 | ||
| 37 | bool autoshift_enabled = true; | ||
| 38 | |||
| 37 | void autoshift_timer_report(void) { | 39 | void autoshift_timer_report(void) { |
| 38 | char display[8]; | 40 | char display[8]; |
| 39 | 41 | ||
| @@ -84,6 +86,15 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) { | |||
| 84 | autoshift_timer_report(); | 86 | autoshift_timer_report(); |
| 85 | return false; | 87 | return false; |
| 86 | 88 | ||
| 89 | case KC_ASTG: | ||
| 90 | if (autoshift_enabled) { | ||
| 91 | autoshift_enabled = false; | ||
| 92 | autoshift_flush(); | ||
| 93 | } | ||
| 94 | else { | ||
| 95 | autoshift_enabled = true; | ||
| 96 | } | ||
| 97 | |||
| 87 | #ifndef NO_AUTO_SHIFT_ALPHA | 98 | #ifndef NO_AUTO_SHIFT_ALPHA |
| 88 | case KC_A: | 99 | case KC_A: |
| 89 | case KC_B: | 100 | case KC_B: |
| @@ -137,6 +148,8 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) { | |||
| 137 | case KC_DOT: | 148 | case KC_DOT: |
| 138 | case KC_SLSH: | 149 | case KC_SLSH: |
| 139 | #endif | 150 | #endif |
| 151 | if (!autoshift_enabled) return true; | ||
| 152 | |||
| 140 | autoshift_flush(); | 153 | autoshift_flush(); |
| 141 | 154 | ||
| 142 | any_mod_pressed = get_mods() & ( | 155 | any_mod_pressed = get_mods() & ( |
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 453774d85..b0e555f2e 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h | |||
| @@ -121,10 +121,13 @@ enum quantum_keycodes { | |||
| 121 | KC_LEAD, | 121 | KC_LEAD, |
| 122 | #endif | 122 | #endif |
| 123 | 123 | ||
| 124 | #ifdef AUTO_SHIFT_ENABLE | ||
| 124 | // Auto Shift setup | 125 | // Auto Shift setup |
| 125 | KC_ASUP, | 126 | KC_ASUP, |
| 126 | KC_ASDN, | 127 | KC_ASDN, |
| 127 | KC_ASRP, | 128 | KC_ASRP, |
| 129 | KC_ASTG, | ||
| 130 | #endif // AUTO_SHIFT_ENABLE | ||
| 128 | 131 | ||
| 129 | // Audio on/off/toggle | 132 | // Audio on/off/toggle |
| 130 | AU_ON, | 133 | AU_ON, |
