diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-07-11 09:14:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-11 09:14:43 -0400 |
commit | a998a48673372e409991066d7d2d9ba282f79d59 (patch) | |
tree | de032d3cc365f0454bd769c66c57127e744fe8ce | |
parent | 076de6fa7540be1d5ef87a83816a006907539ca0 (diff) | |
parent | 5e58e2281ad872048719b2c142169f3e8103af26 (diff) | |
download | qmk_firmware-a998a48673372e409991066d7d2d9ba282f79d59.tar.gz qmk_firmware-a998a48673372e409991066d7d2d9ba282f79d59.zip |
Merge pull request #477 from Smilliam/master
Canceling Space Cadet state with opposite shift key
-rw-r--r-- | keyboards/kc60/Makefile | 2 | ||||
-rw-r--r-- | quantum/quantum.c | 12 | ||||
-rw-r--r-- | readme.md | 6 |
3 files changed, 19 insertions, 1 deletions
diff --git a/keyboards/kc60/Makefile b/keyboards/kc60/Makefile index 9717b519c8..b00a488b91 100644 --- a/keyboards/kc60/Makefile +++ b/keyboards/kc60/Makefile @@ -53,7 +53,7 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) CONSOLE_ENABLE ?= yes # Console for debug(+400) diff --git a/quantum/quantum.c b/quantum/quantum.c index 09daa47127..d5b9753b76 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -212,6 +212,12 @@ bool process_record_quantum(keyrecord_t *record) { register_mods(MOD_BIT(KC_LSFT)); } else { + #ifdef DISABLE_SPACE_CADET_ROLLOVER + if (get_mods() & MOD_BIT(KC_RSFT)) { + shift_interrupted[0] = true; + shift_interrupted[1] = true; + } + #endif if (!shift_interrupted[0]) { register_code(LSPO_KEY); unregister_code(LSPO_KEY); @@ -228,6 +234,12 @@ bool process_record_quantum(keyrecord_t *record) { register_mods(MOD_BIT(KC_RSFT)); } else { + #ifdef DISABLE_SPACE_CADET_ROLLOVER + if (get_mods() & MOD_BIT(KC_LSFT)) { + shift_interrupted[0] = true; + shift_interrupted[1] = true; + } + #endif if (!shift_interrupted[1]) { register_code(RSPC_KEY); unregister_code(RSPC_KEY); @@ -306,6 +306,12 @@ It's defaulted to work on US keyboards, but if your layout uses different keys f #define LSPO_KEY KC_9 #define RSPC_KEY KC_0 +You can also choose between different rollover behaviors of the shift keys by defining: + + #define DISABLE_SPACE_CADET_ROLLOVER + +in your `config.h`. Disabling rollover allows you to use the opposite shift key to cancel the space cadet state in the event of an erroneous press instead of emitting a pair of parentheses when the keys are released. + The only other thing you're going to want to do is create a `Makefile` in your keymap directory and set the following: ``` |