summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-07-11 09:14:43 -0400
committerGitHub <noreply@github.com>2016-07-11 09:14:43 -0400
commita998a48673372e409991066d7d2d9ba282f79d59 (patch)
treede032d3cc365f0454bd769c66c57127e744fe8ce
parent076de6fa7540be1d5ef87a83816a006907539ca0 (diff)
parent5e58e2281ad872048719b2c142169f3e8103af26 (diff)
downloadqmk_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/Makefile2
-rw-r--r--quantum/quantum.c12
-rw-r--r--readme.md6
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);
diff --git a/readme.md b/readme.md
index 7f7a55c82a..e0dcd56088 100644
--- a/readme.md
+++ b/readme.md
@@ -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:
```