]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Make `PREVENT_STUCK_MODIFIERS` the default (#3107)
authorJoe Wasson <jwasson+github@gmail.com>
Mon, 17 Sep 2018 17:48:02 +0000 (10:48 -0700)
committerJack Humbert <jack.humb@gmail.com>
Mon, 17 Sep 2018 17:48:02 +0000 (13:48 -0400)
* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.

198 files changed:
common_features.mk
docs/config_options.md
docs/feature_leader_key.md
docs/understanding_qmk.md
keyboards/1upkeyboards/1up60rgb/config.h
keyboards/1upkeyboards/sweet16/config.h
keyboards/acr60/config.h
keyboards/alf/x2/config.h
keyboards/alpha/config.h
keyboards/alu84/config.h
keyboards/at101_blackheart/config.h
keyboards/atreus/keymaps/jeremy/keymap.c
keyboards/atreus/keymaps/khitsule/config.h
keyboards/atreus/keymaps/xk/config.h
keyboards/atreus62/keymaps/mneme/config.h
keyboards/atreus62/keymaps/mneme/rules.mk
keyboards/bfo9000/keymaps/andylikescandy6x18/config.h
keyboards/bigseries/1key/config.h
keyboards/bigseries/2key/config.h
keyboards/bigseries/3key/config.h
keyboards/bigseries/4key/config.h
keyboards/bigswitch/config.h
keyboards/catch22/config.h
keyboards/chimera_ergo/config.h
keyboards/chimera_ls/config.h
keyboards/chimera_ortho/config.h
keyboards/chocopad/config.h
keyboards/clueboard/60/config.h
keyboards/clueboard/66/keymaps/bloodlvst/config.h
keyboards/comet46/config.h
keyboards/contra/config.h
keyboards/contra/keymaps/ryanm101/config.h
keyboards/crawlpad/config.h
keyboards/crkbd/keymaps/default/config.h
keyboards/dichotemy/config.h
keyboards/dilly/config.h
keyboards/dz60/config.h
keyboards/dz60/keymaps/LEdiodes/config.h
keyboards/ergodone/config.h
keyboards/ergodox_ez/config.h
keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk
keyboards/ergodox_ez/keymaps/vim/vim.h
keyboards/ergodox_infinity/keymaps/gordon/config.h
keyboards/ergodox_infinity/keymaps/narze/config.h
keyboards/ergodox_infinity/keymaps/not-quite-neo/rules.mk
keyboards/ergoinu/config.h
keyboards/ergotravel/keymaps/ckofy/config.h
keyboards/felix/config.h
keyboards/four_banger/config.h
keyboards/fourier/keymaps/jennetters/config.h
keyboards/fractal/config.h
keyboards/frosty_flake/keymaps/nikchi/rules.mk
keyboards/gh80_3000/config.h
keyboards/gherkin/config.h
keyboards/gherkin/keymaps/talljoe_gherkin/config.h
keyboards/gonnerd/keymaps/gam3cat/config.h
keyboards/hadron/keymaps/default/config.h
keyboards/hadron/keymaps/side_numpad/config.h
keyboards/handwired/MS_sculpt_mobile/config.h
keyboards/handwired/atreus50/keymaps/ajp10304/config.h
keyboards/handwired/dactyl/config.h
keyboards/handwired/kbod/config.h
keyboards/handwired/promethium/keymaps/default/config.h
keyboards/handwired/promethium/keymaps/priyadi/config.h
keyboards/handwired/space_oddity/config.h
keyboards/helix/pico/config.h
keyboards/helix/rev1/keymaps/OLED_sample/config.h
keyboards/helix/rev2/config.h
keyboards/hhkb/keymaps/blakedietz/rules.mk
keyboards/infinity60/config.h
keyboards/iris/keymaps/davidrambo/config.h
keyboards/iris/keymaps/jennetters/config.h
keyboards/iris/keymaps/krusli/config.h
keyboards/iris/keymaps/xyverz/config.h
keyboards/jc65/v32u4/keymaps/gam3cat/config.h
keyboards/jj40/keymaps/ajp10304/config.h [deleted file]
keyboards/jj40/keymaps/fun40/config.h
keyboards/jj40/keymaps/krusli/config.h
keyboards/jj40/keymaps/oscillope/config.h
keyboards/jj40/keymaps/suzuken/config.h
keyboards/jj40/keymaps/waples/config.h
keyboards/jm60/config.h
keyboards/k_type/config.h
keyboards/katana60/config.h
keyboards/kbd75/config.h
keyboards/kinesis/keymaps/insertsnideremarks/config.h
keyboards/lets_split/keymaps/OLED_sample/config.h
keyboards/lets_split/keymaps/adam/config.h
keyboards/lets_split/keymaps/khord/config.h
keyboards/lets_split/keymaps/piemod/config.h
keyboards/lets_split/keymaps/waples/config.h
keyboards/lets_split/keymaps/xk/config.h
keyboards/m10a/keymaps/gam3cat/config.h [deleted file]
keyboards/mechmini/v2/config.h
keyboards/melody96/config.h
keyboards/minidox/keymaps/alairock/config.h
keyboards/minidox/keymaps/khitsule/config.h
keyboards/mint60/config.h
keyboards/mitosis/config.h
keyboards/niu_mini/config.h
keyboards/novelpad/config.h
keyboards/noxary/268/config.h
keyboards/ok60/config.h
keyboards/omnikey_blackheart/config.h
keyboards/paladin64/config.h
keyboards/pegasushoof/keymaps/citadel/config.h
keyboards/planck/keymaps/ajp10304/config.h [deleted file]
keyboards/planck/keymaps/altgr/config.h
keyboards/planck/keymaps/am/config.h
keyboards/planck/keymaps/andylikescandy/config.h
keyboards/planck/keymaps/bone2planck/config.h [deleted file]
keyboards/planck/keymaps/davidrambo/config.h
keyboards/planck/keymaps/dshields/config.h
keyboards/planck/keymaps/espynn/keymap.c
keyboards/planck/keymaps/experimental/config.h
keyboards/planck/keymaps/experimental/rules.mk
keyboards/planck/keymaps/hiea/config.h
keyboards/planck/keymaps/hieax/config.h
keyboards/planck/keymaps/ishtob/config.h
keyboards/planck/keymaps/jarred/config.h
keyboards/planck/keymaps/jeremy-dev/keymap.c
keyboards/planck/keymaps/kmontag42/rules.mk
keyboards/planck/keymaps/lae3/config.h [deleted file]
keyboards/planck/keymaps/mitch/config.h
keyboards/planck/keymaps/mitch/readme.md
keyboards/planck/keymaps/narze/config.h
keyboards/planck/keymaps/neo2planck/config.h [deleted file]
keyboards/planck/keymaps/priyadi/config.h
keyboards/planck/keymaps/sdothum/config.h
keyboards/planck/keymaps/steno/config.h
keyboards/planck/keymaps/tehwalris/config.h
keyboards/planck/keymaps/vifon/config.h
keyboards/planck/keymaps/yale/config.h [deleted file]
keyboards/planck/keymaps/zach/config.h
keyboards/planck/rev6/config.h
keyboards/playkbtw/ca66/config.h
keyboards/playkbtw/pk60/config.h
keyboards/preonic/keymaps/bucktooth/config.h
keyboards/preonic/keymaps/jacwib/config.h
keyboards/preonic/keymaps/kuatsure/rules.mk
keyboards/preonic/keymaps/that_canadian/config.h [deleted file]
keyboards/preonic/keymaps/zach/config.h
keyboards/preonic/rev3/config.h
keyboards/prime_r/config.h
keyboards/rorschach/keymaps/insertsnideremarks/config.h
keyboards/s60_x/keymaps/bluebear/config.h
keyboards/s60_x/rgb/config.h
keyboards/s65_plus/config.h
keyboards/s65_x/config.h
keyboards/sx60/config.h
keyboards/telophase/config.h
keyboards/tetris/config.h
keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h
keyboards/tokyo60/config.h
keyboards/tomato/config.h
keyboards/uk78/config.h
keyboards/viterbi/keymaps/drashna/config.h
keyboards/whitefox/config.h
keyboards/xd60/keymaps/kmontag42/rules.mk [new file with mode: 0644]
keyboards/xd75/keymaps/davidrambo/config.h
keyboards/xd75/keymaps/tdl-jturner/config.h
keyboards/xmmx/config.h
keyboards/ymd96/keymaps/hgoel89/config.h
keyboards/z150_blackheart/config.h
keyboards/zeal60/keymaps/tusing/config.h
keyboards/zlant/config.h
layouts/community/60_ansi/talljoe-ansi/config.h
layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
layouts/community/60_hhkb/talljoe-hhkb/config.h
layouts/community/ergodox/adam/config.h
layouts/community/ergodox/albert/rules.mk
layouts/community/ergodox/algernon/rules.mk
layouts/community/ergodox/alphadox/config.h
layouts/community/ergodox/deadcyclo/rules.mk
layouts/community/ergodox/erez_experimental/rules.mk
layouts/community/ergodox/familiar/rules.mk
layouts/community/ergodox/mclennon_osx/README.md
layouts/community/ergodox/techtomas/readme.md
layouts/community/ortho_4x12/symbolic/config.h
layouts/community/tkl_ansi/talljoe-tkl/config.h
quantum/process_keycode/process_chording.c [deleted file]
quantum/process_keycode/process_chording.h [deleted file]
quantum/process_keycode/process_leader.c
quantum/quantum.c
quantum/quantum.h
quantum/quantum_keycodes.h
tmk_core/common/action.c
tmk_core/common/action.h
tmk_core/common/action_layer.c
tmk_core/common/action_layer.h
users/333fred/333fred_config.h
users/bocaj/config.h
users/drashna/config.h
users/ishtob/config.h
users/replicaJunction/config.h
users/talljoe/config.h
users/wanleg/config.h
users/zer09/config.h

index c637582d457c859bbbde40afe1962d7de76920b6..7af7789808dffe5446fe5662549da065cc8926d7 100644 (file)
@@ -221,7 +221,6 @@ ifeq ($(strip $(USB_HID_ENABLE)), yes)
     include $(TMK_DIR)/protocol/usb_hid.mk
 endif
 
-
 ifeq ($(strip $(HD44780_ENABLE)), yes)
     SRC += drivers/avr/hd44780.c
     OPT_DEFS += -DHD44780_ENABLE
@@ -232,11 +231,15 @@ ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
     SRC += $(QUANTUM_DIR)/dynamic_keymap.c
 endif
 
+ifeq ($(strip $(LEADER_ENABLE)), yes)
+  SRC += $(QUANTUM_DIR)/process_keycode/process_leader.c
+  OPT_DEFS += -DLEADER_ENABLE
+endif
+
 QUANTUM_SRC:= \
     $(QUANTUM_DIR)/quantum.c \
     $(QUANTUM_DIR)/keymap_common.c \
-    $(QUANTUM_DIR)/keycode_config.c \
-    $(QUANTUM_DIR)/process_keycode/process_leader.c
+    $(QUANTUM_DIR)/keycode_config.c
 
 ifndef CUSTOM_MATRIX
     ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
@@ -251,5 +254,5 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
     QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_flags.c \
                 $(QUANTUM_DIR)/split_common/split_util.c \
                 $(QUANTUM_DIR)/split_common/i2c.c \
-                $(QUANTUM_DIR)/split_common/serial.c  
+                $(QUANTUM_DIR)/split_common/serial.c
 endif
index eaaa59872c7552f55274c85d575d36714cc13550..072857727bd2403549377c01c9912767c35a3214 100644 (file)
@@ -119,8 +119,8 @@ If you define these options you will enable the associated feature, which may in
 
 * `#define FORCE_NKRO`
   * NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
-* `#define PREVENT_STUCK_MODIFIERS`
-  * stores the layer a key press came from so the same layer is used when the key is released, regardless of which layers are enabled
+* `#define STRICT_LAYER_RELEASE`
+  * force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
 
 ## Behaviors That Can Be Configured
 
index 46633b28703d7ba45694b60700fc168207a6a9ad..0c3f4a13328fb3bdde90d843f032a95d23613b8c 100644 (file)
@@ -39,3 +39,11 @@ void matrix_scan_user(void) {
 As you can see, you have a few function. You can use `SEQ_ONE_KEY` for single-key sequences (Leader followed by just one key), and `SEQ_TWO_KEYS`, `SEQ_THREE_KEYS` up to `SEQ_FIVE_KEYS` for longer sequences.
 
 Each of these accepts one or more keycodes as arguments. This is an important point: You can use keycodes from **any layer on your keyboard**. That layer would need to be active for the leader macro to fire, obviously.
+
+## Adding Leader Key Support in the `rules.mk`
+
+To add support for Leader Key you simply need to add a single line to your keymap's `rules.mk`:
+
+```
+LEADER_ENABLE = yes
+```
index bf695d008ddd519318787e6616955e6192382ffa..35596cc6924a34e2375b4f67a63a0a4757093a14 100644 (file)
@@ -129,6 +129,7 @@ Comparing against our keymap we can see that the pressed key is KC_NLCK. From he
 <!-- FIXME: Magic happens between here and process_record -->
 
 ##### Process Record
+
 The `process_record()` function itself is deceptively simple, but hidden within is a gateway to overriding functionality at various levels of QMK. The chain of events is listed below, using cluecard whenever we need to look at the keyboard/keymap level functions.  Depending on options set in rule.mk or elsewhere, only a subset of the functions below will be included in final firmware.
 
 * [`void process_record(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/tmk_core/common/action.c#L172)
@@ -146,7 +147,6 @@ The `process_record()` function itself is deceptively simple, but hidden within
     * [`bool process_music(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_music.c#L114)
     * [`bool process_tap_dance(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_tap_dance.c#L136)
     * [`bool process_leader(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_leader.c#L38)
-    * [`bool process_chording(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_chording.c#L41)
     * [`bool process_combo(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_combo.c#L115)
     * [`bool process_unicode(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_unicode.c#L22)
     * [`bool process_ucis(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_ucis.c#L91)
index bfdf354af7da295c57ac9ca73d757820125e331e..ee49211b48fa1f7da9a5398a09a20afa9936d82d 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 77d9e276dc7bfbdb702c3b530a8f9ce3a0f3711c..20d99651da9cb93635f573b280e12f34db1ecc4d 100644 (file)
@@ -9,7 +9,7 @@
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    1up Keyboards
 #define PRODUCT         Sweet16
-#define DESCRIPTION     4x4 grid 
+#define DESCRIPTION     4x4 grid
 
 /* key matrix size */
 #define MATRIX_ROWS 4
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN B1
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
@@ -55,4 +52,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index c44ba737e8e32fe6b850815e47bed89544b3f1dc..3066f349de05968c58be0df79b4e437143660c5c 100644 (file)
@@ -41,9 +41,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 20
index 31212ce3368cb0239e32f25cc23842c2420835f2..f2106fa88e103486bf6542bfae95622eebb13a51 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
@@ -55,4 +52,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 02952756358c86cc72c746d88a0712e278d1807a..1e16f5ca3c99689f341edcbd1c5304c94720e92a 100755 (executable)
@@ -43,8 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
 
 #define RGB_DI_PIN F4
 #ifdef RGB_DI_PIN
index 9e013dbcc3ea5b070bac2a1f283f422cee1a9b8f..9d2dca409c7e5a9a5bf86d3d6a12020134f5dc19 100755 (executable)
@@ -59,9 +59,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLED_NUM 16
index 6a809a02f86969b25191a7704cf31780b27b062d..237cb095e663a699ab4add416f1effcb99158408 100644 (file)
@@ -38,6 +38,3 @@
 #define IS_COMMAND() ( \
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
-
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
\ No newline at end of file
index 42bef9d80c9525a58193e47563d5dfe34c67ee66..890980f41f7a5ad6a2f8dd40820650e338ef192c 100644 (file)
@@ -4,8 +4,6 @@
 #include "action_layer.h"
 #include "keymap_colemak.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 #define ALPH 0
 #define NUMS 1
index 19714ec7d5c9a9d13132362e0f28c1533c20987b..c74909a9ff253092843cc73c36d7e7955cab4ec3 100644 (file)
@@ -3,8 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define IGNORE_MOD_TAP_INTERRUPT
 
-#endif
\ No newline at end of file
+#endif
index 2f8110167e1ce03ce0bed2f99fee34fa0485be59..a8b9c88057391ea022c7f10e263efa608af63e6a 100644 (file)
@@ -30,8 +30,7 @@ the Free Software Foundation, either version 2 of the License, or
 #define MOUSEKEY_WHEEL_MAX_SPEED   8
 #define MOUSEKEY_WHEEL_TIME_TO_MAX 40
 
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 #define PERMISSIVE_HOLD
 
-#endif
\ No newline at end of file
+#endif
index 73eb0fa33dacd5589e2fb2f83a3cf9b5b5e7dd6e..a89bf5503c859840343c82d6489569bf4debd0a7 100644 (file)
@@ -1,6 +1,5 @@
 #define ONESHOT_TIMEOUT 3000
 #define TAPPING_TERM 200
-#define PREVENT_STUCK_MODIFIERS
 #define FORCE_NKRO
 #define LEADER_TIMEOUT 1000
 
index 046aec2733dc3279767a9e38bdc15d3e323a9d49..160ce6edbf71c648fb508febf8b480d06be11ece 100644 (file)
@@ -3,3 +3,4 @@ NKRO_ENABLE = true
 MOUSEKEY_ENABLE = no
 EXTRAKEY_ENABLE = yes
 CONSOLE_ENABLE = no
+LEADER_ENABLE = yes
index 9d124a98e5c706cd6dd9923a8a78421bc9be9e4c..be57e385ef5cef21926227bf472acfc508fbfcda 100644 (file)
@@ -37,7 +37,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
  #define PERMISSIVE_HOLD
 
- #define PREVENT_STUCK_MODIFIERS
-
-
 #endif
index 4e30276fc0fbb68e2126e425fbaf1b3b0c34c7c9..966f2062c4a4f393f09ce1119f4c2bf10c266ab0 100755 (executable)
@@ -47,9 +47,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
 #define RGBLIGHT_ANIMATIONS
index 83c8e3141733d15831bcb1678df3e8516b678599..79b9ed3786a3ecf0e9c248bfb16e593faf52b0b9 100755 (executable)
@@ -47,9 +47,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
 #define RGBLIGHT_ANIMATIONS
index e10b14db42b6dafb3e8c8d47a2c1a5b8818b9166..9963a821977c3bf6423a97a10e954d5f2fcd31d5 100755 (executable)
@@ -47,9 +47,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
 #define RGBLIGHT_ANIMATIONS
index 3ebcfe0911e88c26e46518424aa710b1a631c772..a222512d3c58bf6917806166d9bb6206b0f672b7 100755 (executable)
@@ -47,9 +47,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
 #define RGBLIGHT_ANIMATIONS
index cc290fd79b1b53b2934e64212b803d33636d49f3..a0ef6b5554346b800ddfe86b006db73ec3fb87e9 100755 (executable)
@@ -47,8 +47,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
 
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
index cb7ca7d84c4fdea780e1abd0c4c799522a2d0429..f151e7048f4ecd176bdd861095ac24d1504d8cd2 100644 (file)
@@ -46,9 +46,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN F6
 #define RGBLIGHT_ANIMATIONS
index 86ee237181726f4b7a8e1f3e02d126d9d6ac12d3..8ce195cc06b06681829d55d1dc635f3630210e79 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index d92878026b6209a952cdb2c4312f8174bfb9bf69..254dad30645d5bbe33be0fe0cfd26d510fdb9133 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index 44c6212b17bb201c95aba5c7fc7399af255106d0..4bf85eb88f3bc4bcfd7c6ee9383e78362860d0d1 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index bf861ccda41ba8c23bb9d6663999c11210d27a2c..2163ff8bc449df5692471a211d38e7c318b9cb29 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLIGHT_HUE_STEP 8
@@ -56,4 +52,4 @@
 #define ws2812_PORTREG  PORTD
 #define ws2812_DDRREG   DDRD
 
-#endif
\ No newline at end of file
+#endif
index 5c5a86296f954a67f1c3fbbd940368ccfa2993c2..a862d2cda3f6a94915e463ea8e6c4bb5b2c524c9 100644 (file)
@@ -49,9 +49,6 @@
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 6
 
-/* Prevent modifiers from being stuck on after layer changes. */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 //#define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */
index 320401dbda522490ddd29512ffa88573f0b7abe4..456936cf930dffb33980891dad2f2070cfeb299d 100644 (file)
@@ -3,6 +3,5 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define DISABLE_SPACE_CADET_ROLLOVER
 #endif
index 90d923f90b9a8884a92f67b468e9193a561e039c..2421f534125944c09f1e9607c1e4b7908c01ef7f 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index 85077ed46ad1069c5e7cbbe1162f5960e4e5f569..c6bb374da233bf39a9fd7d654209bb5fbb71bcd1 100755 (executable)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
index 9a458b892d4b63553111f9862fb509c71232ba43..224a4a37d09807389d4bd04e20dff8511211b08c 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "config_common.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_TERM 200
 
 #ifdef AUDIO_ENABLE
@@ -28,7 +27,7 @@
 /* enable basic MIDI features:
    - MIDI notes can be sent when in Music mode is on
 */
-                                
+
 #define MIDI_BASIC
 
 /* enable advanced MIDI features:
@@ -42,4 +41,4 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 2
 
-#endif
\ No newline at end of file
+#endif
index a07c79cd20b09a112a48bfc6420380e8e37f4033..c72be83f28d28b0a5370328d940b73d84b6b266d 100755 (executable)
@@ -40,9 +40,6 @@
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef RGBLIGHT_ENABLE
 #define RGB_DI_PIN D3
 #define RGBLIGHT_ANIMATIONS
index 8d25f7cbc68100393a0bb86a8b790bd3cad0b560..c573530f7482e8b83a54eba52dd971ec87b9909d 100644 (file)
@@ -36,7 +36,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define USE_SERIAL_PD2
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index b3bd6d942121326239bff26f8e700ea9ca176e67..1d92cf74e57130ce067fd4e3fe649646c53d9fcf 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index 97a6e533bb071f51f0b3aac7cb1dd6a58e71d2ff..d9ca4597cf57a71c6277bdc6c9bbeea16db3623f 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLIGHT_HUE_STEP 8
@@ -59,4 +55,4 @@
 #define ws2812_PORTREG  PORTD
 #define ws2812_DDRREG   DDRD
 
-#endif
\ No newline at end of file
+#endif
index 8e1a5ae5f583366c4a5e4966acbf06ed69866a54..e58eae0858a4255380cac37336b78680d73b556b 100644 (file)
@@ -41,9 +41,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 16
index bb78d9bb66e73a634603be4b79069ed1523ec153..4f991b9ca2ca15f0658b4eaf99ad48289b5531eb 100644 (file)
@@ -41,9 +41,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 16
index 1feff26aa73ab7f84d755ac9849d3f58b999fa23..2c764d782c10a34dfe04c5b6581c715e268e3234 100644 (file)
@@ -53,8 +53,6 @@
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE    5
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define USB_MAX_POWER_CONSUMPTION 500
 
 /* NKRO */
index 07a9b549773a0a52a4f88e983f9f228d40917576..7a350183b190f32ca95a93f2ca34afcd8e7e10ca 100644 (file)
@@ -97,8 +97,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #define DEBOUNCE    15
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define USB_MAX_POWER_CONSUMPTION 500
 
 // RGB backlight
index 38112a9065ad9c1ced84f8a9c3099ce430951c66..db5e5d15587a6261e8d82830b2ec1b14b46ef528 100644 (file)
@@ -13,6 +13,7 @@ AUTOLOG_ENABLE = no
 RGBLIGHT_ENABLE = yes
 RGBLIGHT_ANIMATION = yes
 EXTRAKEY_ENABLE = yes
+LEADER_ENABLE = yes
 
 OPT_DEFS += -DUSER_PRINT
 
@@ -31,4 +32,4 @@ OPT_DEFS += -DKEYMAP_VERSION=\"$(KEYMAP_VERSION)\\\#$(KEYMAP_BRANCH)\"
 
 ifndef QUANTUM_DIR
        include ../../../../Makefile
-endif
\ No newline at end of file
+endif
index e9b682fd3f267302e3e6167277da9c470ac603da..7565c6e3e6a5604ea8f88338f0ba679b61348b65 100644 (file)
@@ -9,7 +9,6 @@
 
 #define PRESS(keycode) register_code16(keycode)
 #define RELEASE(keycode) unregister_code16(keycode)
-#define PREVENT_STUCK_MODIFIERS
 
 uint16_t VIM_QUEUE = KC_NO;
 
index 88d495b12b23c077844694a3c7a15bd29a7ff1cd..772ce0bac9f7fef30fa422558902df5dedcbd045 100644 (file)
@@ -15,8 +15,6 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#define PREVENT_STUCK_MODIFIERS
-
 #undef  IGNORE_MOD_TAP_INTERRUPT
 #define IGNORE_MOD_TAP_INTERRUPT
 
index 8174edd359733d1ba3dedee3aec2462e90df4392..551327a126c6bd84245afb3e59ab9bb9be0ff134 100644 (file)
@@ -13,7 +13,6 @@
 
 #define IGNORE_MOD_TAP_INTERRUPT
 #define PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
 
 #undef MOUSEKEY_DELAY
 #define MOUSEKEY_DELAY 100
index 75624bb8c61f1e82caa548a1ac8defc2eafe3381..74505bd69ef87d250b24bd27237f12e59b872b33 100644 (file)
@@ -1,2 +1,3 @@
 BACKLIGHT_ENABLE = yes
-UNICODE_ENABLE = yes
\ No newline at end of file
+UNICODE_ENABLE = yes
+LEADER_ENABLE = yes
index 4b7c584005e9ddcb129ea408b0b47c6df36b4c9c..de72635b19d2d1f1022d44819cea8bd830f6fad5 100644 (file)
@@ -31,8 +31,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define PRODUCT         ergoinu
 #define DESCRIPTION     An (Not Portable But Small) Ergonomic split keyboard
 
-
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index caae080d70e5ff3a44b0afaad707572d4ef91c25..41ec06657e911be17da21d65db60462910c07485 100644 (file)
@@ -33,9 +33,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TOGGLE 2
 
-// required if modifiers are defined in layers besided the default one.
-#define PREVENT_STUCK_MODIFIERS
-
 #undef RGBLED_NUM
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 12
index f70089af492743a11a739723ccd3f91891c7194b..003fe87dc83233b6de5532869e27a68007d53536 100644 (file)
@@ -42,8 +42,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
 
 /* there is no rgb underglow by default. */
 #define RGB_DI_PIN
@@ -53,4 +51,4 @@
 #define RGBLIGHT_SAT_STEP 8
 #define RGBLIGHT_VAL_STEP 8
 
-#endif
\ No newline at end of file
+#endif
index 96011cbdfa80bbbf71a34da8a59270579150af11..8dceff5db5dcca6c8ce4ad16b9e558f45ef00d10 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E6
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
@@ -55,4 +52,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 87cda7b5c95c5fab244a2c5bd60ff30017b87aba..5f99c65ad55591da9934ea2e01a8b258ba894541 100644 (file)
@@ -22,10 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TERM 100
 
-/* Try to prevent sticky keys */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Use I2C or Serial, not both */
 
 #define USE_SERIAL
-// #define USE_I2C
\ No newline at end of file
+// #define USE_I2C
index 30b703b6e63c1e7c335de76f30d44c0af669c07b..1a5901f98449d566256c6ca1c69dc7b8e7c32358 100755 (executable)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
index ad86e82d2053ab2375b2fc9de604819837722f2d..b21eb640443a67682a96a2939173e9b07352243f 100644 (file)
@@ -1,5 +1,5 @@
 # Build Options
-#   change to "no" to disable the options, or define them in the Makefile in 
+#   change to "no" to disable the options, or define them in the Makefile in
 #   the appropriate keymap folder that will get included automatically
 #
 BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
@@ -17,6 +17,7 @@ BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 TAP_DANCE_ENABLE = yes
+LEADER_ENABLE = yes
 
 ifndef QUANTUM_DIR
        include ../../../../Makefile
index 83d30129a15a4ea3b665348f174dda302543f553..ca72aba5aa31fd41af9586a5dd9e8a4dfef63d94 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
@@ -55,4 +51,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 4607962d7c2090ac0d748415d83ba7fe9d8fa6b5..34f38e35c29f599c42c74aee3f8acc6a2203ea69 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
@@ -55,4 +51,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 3e9e692d3cace46b2fe1d394d14df99d171f9c62..7fa3bf328ec94721cdc1626374db562e84209b63 100644 (file)
@@ -3,6 +3,4 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
\ No newline at end of file
+#endif
index a3819d3a59a99af85ff9bea29fca781e922e7975..d86da86e40b640ac73778a2534a34265cbafbf06 100644 (file)
@@ -1,7 +1,6 @@
 #include "../../config.h"
 //GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
 #define GRAVE_ESC_CTRL_OVERRIDE
-#define PREVENT_STUCK_MODIFIERS
 
 //Delay matrix scan for tap dance, reduce to activate modifier keys faster.
 //#define TAPPING_TERM 200
index 0f349ad93265f915f273941016702e3cc95ee119..09922b61bcf2a6e49b2e0f15b388c83a9831f59b 100644 (file)
@@ -5,7 +5,6 @@
 
 #define LEADER_TIMEOUT 300
 //#define BACKLIGHT_BREATHING
-#define PREVENT_STUCK_MODIFIERS
 
 #define USE_I2C
 #define SSD1306OLED
index 0f349ad93265f915f273941016702e3cc95ee119..09922b61bcf2a6e49b2e0f15b388c83a9831f59b 100644 (file)
@@ -5,7 +5,6 @@
 
 #define LEADER_TIMEOUT 300
 //#define BACKLIGHT_BREATHING
-#define PREVENT_STUCK_MODIFIERS
 
 #define USE_I2C
 #define SSD1306OLED
index f89514278d7b8db44a2b2dddb1dc9503b750cb5d..c3bdf333e26b706e7d91db93b8205fc3801d39e7 100644 (file)
@@ -28,10 +28,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DESCRIPTION     6000
 
 /* key matrix size */
-#define MATRIX_ROWS 8 
-#define MATRIX_COLS 18 
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 18
 
-#ifdef ASTAR 
+#ifdef ASTAR
 #define PRODUCT         sculpt mobile astar
                         /*0   1   2   3    4   5  6   7   8 */
 #define MATRIX_ROW_PINS {D7, C6, D4, D0, D1, D3, D2, E2}
@@ -95,6 +95,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 
-#define PREVENT_STUCK_MODIFIERS
-
 #endif
index 6916d1a7d46f9cf02bcae4d3174dfcdf8316f418..f5e6bbabe6c8cb59821a7227a39c49dfde3f106d 100644 (file)
@@ -3,8 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
 #undef MATRIX_ROW_PINS
 #undef MATRIX_COL_PINS
 
index a990cc72080d75c39eb736f7ae47d4fc3526bf52..08931ecd345af50c185780e80fe08c9daf8ba778 100644 (file)
@@ -63,8 +63,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE    15
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define USB_MAX_POWER_CONSUMPTION 500
 
 #endif
index f3d0c8bf2deb008e4ce28f70dd807054aeb297b1..a3f3e3908a12484436725f2855048dded413c671 100644 (file)
@@ -48,7 +48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 #define DIODE_DIRECTION COL2ROW
+
 // #define BACKLIGHT_PIN B7
 // #define BACKLIGHT_BREATHING
 // #define BACKLIGHT_LEVELS 3
@@ -159,8 +159,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 
-#define PREVENT_STUCK_MODIFIERS
-
 #undef TAPPING_TOGGLE
 #define TAPPING_TOGGLE 2
 
index fa86e2247949e35b166d28def8e94f30943ef1af..2064f3676a7ea49b5953ade78fd23810e43b9142 100644 (file)
@@ -11,8 +11,6 @@
 /* skip bootmagic and eeconfig */
 #define BOOTMAGIC_KEY_SKIP              KC_SPACE
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGBSPS_ENABLE
 #define RGBSPS_DEMO_ENABLE
 
index fa86e2247949e35b166d28def8e94f30943ef1af..2064f3676a7ea49b5953ade78fd23810e43b9142 100644 (file)
@@ -11,8 +11,6 @@
 /* skip bootmagic and eeconfig */
 #define BOOTMAGIC_KEY_SKIP              KC_SPACE
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGBSPS_ENABLE
 #define RGBSPS_DEMO_ENABLE
 
index 9c9361ced7bd6023b7580617a4d2cd14efa72171..46d854099cb524f5400e029569f51c272ace8552 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
index b49f0173b4508c7d3c8ae340ce4c8d0447b82952..41edfcbc204402f07aaa0a8fd2cace736234227e 100644 (file)
@@ -28,7 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DESCRIPTION     A split keyboard for the cheap makers
 
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index 0e1b787a5aa425df5c44ec6de2562c4d80e35e3c..5e8989d96f467513c6a84c64b153017b4b462dc9 100644 (file)
@@ -35,7 +35,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define SSD1306OLED
 
-#define PREVENT_STUCK_MODIFIERS
+#define USE_SERIAL_PD2
+
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index 058236122ffcbdc94512049ebfe2284d85d7ec1d..b354d312d5511384ae15dabc7f01e950410083a7 100644 (file)
@@ -28,7 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DESCRIPTION     A split keyboard for the cheap makers
 
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index 7c16b2c98d66b4640b257937ee7d58c14b229836..7d97e7a5240fccfe3caed61fcdb3af8e2adae1e8 100644 (file)
@@ -1,2 +1,3 @@
 TAP_DANCE_ENABLE = no
 UNICODE_ENABLE   = no
+LEADER_ENABLE = yes
index 8306c8f7efc8d5ba0ad8d4da18b6e5d7504cba5d..c1e9ec5b1f2a90dad84df9ef2a6aabb6908bdaae 100644 (file)
@@ -18,8 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef CONFIG_H
 #define CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0x1c11
 #define PRODUCT_ID      0xb04d
index 01e078e326419fa24edf1c1dea9cc5649ac5df5e..2cdff4213babfa13a6b6e2405276276206349739 100644 (file)
@@ -27,7 +27,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* Select hand configuration */
 #define PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
 #define MASTER_LEFT
 // #define MASTER_RIGHT
 // #define EE_HANDS
index a3c0634f52348f967bbd14bbc096d07f5a88f04f..42f91bd0270bb462a3b91f201bd48083f5b38edd 100644 (file)
@@ -19,9 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TERM 150
 
-/* Try to prevent sticky keys */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Use I2C or Serial, not both */
 
 #define USE_SERIAL
@@ -38,4 +35,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLED_NUM 12
 #define RGBLIGHT_HUE_STEP 8
 #define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
\ No newline at end of file
+#define RGBLIGHT_VAL_STEP 8
index a53c746ad93fbb380e75ea1e62573ad2467f52ee..72e35c4728705a1eac7a706bc7a0798eca357278 100644 (file)
@@ -20,8 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// #define PREVENT_STUCK_MODIFIERS
-
 /* Use I2C or Serial, not both */
 
 #define USE_SERIAL
index 0c61a8eac8aa18d67b455ef2bcbcc4d7e8682155..b820a0753d514b9990b037a7ca0d94b4c875f67a 100644 (file)
@@ -23,8 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define USE_SERIAL
 #define EE_HANDS
 
-#define PREVENT_STUCK_MODIFIERS
-
 #undef PRODUCT
 #define PRODUCT Iris Keyboard
 
index a3819d3a59a99af85ff9bea29fca781e922e7975..d86da86e40b640ac73778a2534a34265cbafbf06 100644 (file)
@@ -1,7 +1,6 @@
 #include "../../config.h"
 //GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
 #define GRAVE_ESC_CTRL_OVERRIDE
-#define PREVENT_STUCK_MODIFIERS
 
 //Delay matrix scan for tap dance, reduce to activate modifier keys faster.
 //#define TAPPING_TERM 200
diff --git a/keyboards/jj40/keymaps/ajp10304/config.h b/keyboards/jj40/keymaps/ajp10304/config.h
deleted file mode 100644 (file)
index 11cafbe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
index 89807d84ade595bb5f74ad88a7ba80f48ac32e49..f2b5d264e7a2e01c8b381bd83a815971dc610939 100644 (file)
@@ -4,6 +4,5 @@
 #include "../../config.h"
 
 #define FORCE_NKRO
-#define PREVENT_STUCK_MODIFIERS
 
 #endif
index 6d98a37a67825afae72922ddce7e2736074f718b..e710dbbb60a594a7de47b347f214d12cd4547aa4 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 // #define TAPPING_TERM 300
 
 #endif
index d7f991fa91f40430e4052e8f4b2dc161a922f889..e812903de9b53ce179e0861a47139106843d5828 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_TERM 200
 
 #endif
index 52aaa8f24dce2b9250499e1d3c13f357cad86ed4..b1d74e1e6931f3c72e1424d52855ffd2ac7d24c0 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_TERM 300
 
 #endif
index 52aaa8f24dce2b9250499e1d3c13f357cad86ed4..b1d74e1e6931f3c72e1424d52855ffd2ac7d24c0 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_TERM 300
 
 #endif
index 847cf20780f00bfb52935350a2fe1d312b65d9bb..cb5c90bb1937ef9c3580edf4a0e544c2a8172e22 100644 (file)
@@ -18,8 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef CONFIG_H
 #define CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
 #define PRODUCT_ID      0x6464
index d19e0ff64901885a6dc43ac87a28647522b7b9a7..4937d9ad99a5ef05aafd3903335aa09e4c0ede1e 100644 (file)
@@ -18,8 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef CONFIG_H
 #define CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0x1c11
 #define PRODUCT_ID      0xb04d
index 169cffb420ce797f205b9fb1c5a2fda200786e57..aaf2b5d5447cbd196ef671f848c1a5acc2f42575 100644 (file)
@@ -48,7 +48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 #define DIODE_DIRECTION ROW2COL
+
 // #define BACKLIGHT_PIN B7
 // #define BACKLIGHT_BREATHING
 // #define BACKLIGHT_LEVELS 3
@@ -111,7 +111,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 )
 
 #define TAPPING_TERM 200
-#define PREVENT_STUCK_MODIFIERS
 
 /* control how magic key switches layers */
 //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
index f76d9082fb43550b8a8785a483b567788ffb11e4..726afcaf6e792ec59ee3aaae6a6f4911aa63ce88 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 3548fa3486b56a73a2d6d62d2e6a5cb35301ef67..9ce094be51646c02801f031c4b5377281b90cbb9 100644 (file)
@@ -5,7 +5,6 @@
 #include "../../config.h"
 
 // place overrides here
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 #define TAPPING_TERM 175
 #define TAPPING_TOGGLE 2
index e8632fe61df85fa3c23faa20947a7df9a3804134..6aa909d284fbc21dde527126b6421ad09f6a4eb1 100644 (file)
@@ -38,8 +38,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define SSD1306OLED
 //#define OLED_ROTATE180
 
-
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index ff29eb1bde14a5555466d203a445cf3ff31bd875..59a2e5db72f1c4d04123f696e9d8d1f4c1facfa7 100644 (file)
@@ -43,7 +43,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #undef TAPPING_TERM
 #define TAPPING_TERM 200 //At 500 some bad logic takes hold
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 #define PERMISSIVE_HOLD
 
index 4ebdbad7691979b45385c682c12c6efb450fefe8..71ec20dbc86d32b019045b491edeb58535ea0986 100644 (file)
@@ -25,9 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define TAPPING_TERM 150
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Use I2C or Serial, not both */
 
 #define USE_SERIAL
index 001b62e41bbc2f1c05bd3fe717a2cfed452a2075..1b3fd7544e7300fe9676b6c4b171701dc21391a4 100644 (file)
@@ -43,7 +43,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 1
 
 // Typing Options
-#define PREVENT_STUCK_MODIFIERS
 #define QMK_KEYS_PER_SCAN 4
 
 #endif
index 98ebeff4558087113a4501baa10c34dc25ea90c0..5221fd011a547ccf7d232bf33bf5cf880629a438 100644 (file)
@@ -12,6 +12,4 @@
 //  #define MASTER_RIGHT
 #define EE_HANDS              // We like to have choices I guess
 
-#define PREVENT_STUCK_MODIFIERS // When switching layers, this will release all mods
-
 #endif
index c75ed12cc806b9c7092973f1ea3e03ace613824c..a5cd518576e439aaf939f78834370583b5e0e318 100644 (file)
@@ -37,7 +37,6 @@ the Free Software Foundation, either version 2 of the License, or
 #define EE_HANDS
 
 
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 #define PERMISSIVE_HOLD
 
diff --git a/keyboards/m10a/keymaps/gam3cat/config.h b/keyboards/m10a/keymaps/gam3cat/config.h
deleted file mode 100644 (file)
index 73bc50b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "../../config.h"
-#define PREVENT_STUCK_MODIFIERS
index 58c751e0f89e36c789206726b6aa3a879c87eeec..e0922bb7e22eed1d88527868abae2287ccfdb38d 100755 (executable)
@@ -62,9 +62,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 6083dcf751c0d894f26e3464c9a4287e22599aad..67123a7e524c60f055c2354bc4c43f6bcccaaa52 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 4456060319b4a06bd1d906b4aa226fdbb65f6859..3649fdd12c6f95a16fd12bf5a8b71e779a71eebb 100644 (file)
@@ -36,5 +36,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_HUE_STEP 10
 #define RGBLIGHT_SAT_STEP 17
 #define RGBLIGHT_VAL_STEP 17
-#define PREVENT_STUCK_MODIFIERS
 #endif
index 7023548646fb27dbbbdf2a174eeefe1fb2e40ac7..645e80ee8f1172ab8c68b5e346628cd61f511e93 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define IGNORE_MOD_TAP_INTERRUPT
 
-#endif
\ No newline at end of file
+#endif
index 37b69e93a123dc06606c1e7e3fe5d1cd80f0b96f..51c586e6368f2c7303d6d1e98752fffba08b3afa 100644 (file)
@@ -29,7 +29,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define PRODUCT         Mint60
 #define DESCRIPTION     A row staggered split keyboard
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 100
 
index 6101ee12379f95e1be346d39e57fae413c399779..5cfd2e4b122ef5ccffc3b9ec343c38dc09f4c8ed 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index 2f223061609e6a93a56a3d2526d6049f53b5919f..b9d3ed4e9ddc4f7dcd5b65cd798130f9034eff08 100644 (file)
@@ -64,9 +64,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 0d6a7134332c14aa8a1b863fe1b71b3c43d85148..3a47c0eb65128de56108aed28d50475b010c45e2 100755 (executable)
@@ -53,9 +53,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     false \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define BACKLIGHT_LEVELS 10
 #define BACKLIGHT_PIN B7
 
index b2cb95e95cc54eadd2e53fa43070bbbec5c20d19..7eec79a1bcd2ddb12456b430a2ae28794c9f0cb3 100644 (file)
@@ -60,9 +60,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 /* ws2812b options */
 #define RGB_DI_PIN B5
 #ifdef RGB_DI_PIN
@@ -73,4 +70,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_VAL_STEP 16
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 61c2fa0ed34d0d1f22790d5b01566c842604d2ea..db7b74e58724c9ac8299bf44eb55d6d2d0272236 100644 (file)
@@ -71,9 +71,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN F6
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 10
index 14b4a5f172acde0683430d63616d1dddbe08fbcc..94412cfa673061225ef0b09668485c88d7f78d5c 100644 (file)
 /* force n-key rollover*/
 #define FORCE_NKRO
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
@@ -57,4 +53,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 27f54bf1611c6dff17216d855eb7dadadfcb8b45..a5280f4d48b28ed07c82215eba99e14238e23fe9 100755 (executable)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
 #define RGB_DI_PIN D0
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index e8eafe2e172da2c2cfb7af726e78731987fa58b3..2d27ff392d6fd19b34c588549618a6f20634b0b4 100644 (file)
@@ -8,7 +8,4 @@
 #undef PRODUCT
 #define PRODUCT Pegasus Hoof Citadel
 
-/* necessary option for this keymap, because CAPS is redefined in Layer 0 */
-#define PREVENT_STUCK_MODIFIERS
-
 #endif
diff --git a/keyboards/planck/keymaps/ajp10304/config.h b/keyboards/planck/keymaps/ajp10304/config.h
deleted file mode 100644 (file)
index 11cafbe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
index d55258c02bd8c1fd666333ba1141f1e7ad33ba93..e517a8b24b92ec9af91a40bbd01183d16e3e384e 100644 (file)
@@ -3,9 +3,6 @@
 
 #include "../../config.h"
 
-// required because lower/raise modifiers are redefined by colemak-dh
-#define PREVENT_STUCK_MODIFIERS
-
 // tap dance key press termination interval
 #define TAPPING_TERM 250
 
index b2b87045b8735539b8fa929c07f16a53c5d7d514..1ae457e3b8b76f62736cd339a349a4a2c1bb0e68 100644 (file)
@@ -1,8 +1,5 @@
 #pragma once
 
-/* Prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef AUDIO_ENABLE
     #define STARTUP_SONG SONG(PLANCK_SOUND)
 
index 0de5f3db0ccd3caaf7409ed319d7c44fd7ed16d3..01169db2aa44eeb17346d2834dd62aacf5d69eda 100644 (file)
@@ -17,9 +17,6 @@
 
 #define PERMISSIVE_HOLD
 
-#define PREVENT_STUCK_MODIFIERS
-
-
 /*
  * MIDI options
  */
diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h
deleted file mode 100644 (file)
index 3e9e692..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
\ No newline at end of file
index c3bebf579906ac1af5b9b18d116d8957d46875c9..2decb3dc8de73538c3febd7818e8b01116f34430 100644 (file)
@@ -3,7 +3,6 @@
 #define CONFIG_USER_H
 #define TAPPING_TERM 200
 #include "../../config.h"
-#define PERMISSIVE_HOLD 
-#define PREVENT_STUCK_MODIFIERS
+#define PERMISSIVE_HOLD
 
-#endif
\ No newline at end of file
+#endif
index 480ba453a26e720a696279b5a8b9d6c98204c723..9ba854ef04520686e5167b9612c0e075b2c91435 100644 (file)
@@ -10,7 +10,6 @@
 
 #define _______ KC_TRNS
 #define XXXXXXX KC_NO
-#define PREVENT_STUCK_MODIFIERS
 
 #define USB_MAX_POWER_CONSUMPTION 100
 #define ONESHOT_TAP_TOGGLE        2
index 9cf508af6d700784ee77fcbc29a415fad225321f..5615a78bf75e9d73d60f87343e045db0eae8b503 100644 (file)
@@ -5,7 +5,6 @@
 #ifdef BACKLIGHT_ENABLE
   #include "backlight.h"
 #endif
-#define PREVENT_STUCK_MODIFIERS
 extern keymap_config_t keymap_config;
 
 // Symbolic names for macro IDs.
index 0864b5fbc92df64ab5292fd7756ce5589a45ea7a..86cc4760bb63dc800bc66e35bfc3593b09ee3a75 100644 (file)
@@ -5,8 +5,6 @@
 
 #define LEADER_TIMEOUT 300
 #define BACKLIGHT_BREATHING
-#define PREVENT_STUCK_MODIFIERS
-
 
 /* ws2812 RGB LED */
 #define RGB_DI_PIN B1
index b135dfca01cae45cf4b5d4e2043da51ec91a7e2e..168d3cb9f094f1fc5d26f5642720353caee04ff3 100644 (file)
@@ -18,10 +18,11 @@ BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 SWAP_HANDS_ENABLE = yes        # Enable one-hand typing
 STENO_ENABLE = yes                                     # Enable TX Bolt protocol for Stenography, requires VIRTSER and may not work with mouse keys
+LEADER_ENABLE = yes
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 
 ifndef QUANTUM_DIR
        include ../../../../Makefile
-endif
\ No newline at end of file
+endif
index 9bb5e0873507e530fe625662e40931b3cf61afc2..655cdf5db31fe0614d34ac74dcdcd349d4d0480f 100644 (file)
@@ -3,9 +3,6 @@
 
 #include "../../config.h"
 
-// required because lower/raise modifiers are redefined by colemak-dh
-#define PREVENT_STUCK_MODIFIERS
-
 // tap dance key press termination interval
 #define TAPPING_TERM 250
 
index 9bb5e0873507e530fe625662e40931b3cf61afc2..655cdf5db31fe0614d34ac74dcdcd349d4d0480f 100644 (file)
@@ -3,9 +3,6 @@
 
 #include "../../config.h"
 
-// required because lower/raise modifiers are redefined by colemak-dh
-#define PREVENT_STUCK_MODIFIERS
-
 // tap dance key press termination interval
 #define TAPPING_TERM 250
 
index e58ade0b0fc2227dce2315a72d69e334eb2a8ce4..688607634c89479ec184716b0fc867cd0a6f3901 100755 (executable)
@@ -2,7 +2,6 @@
 #ifndef USERSPACE_CONFIG_H
 #define USERSPACE_CONFIG_H
 
-
 #ifdef AUDIO_ENABLE
 
 // #define STARTUP_SONG SONG(E1M1_DOOM)
@@ -24,7 +23,6 @@
 #define FORCE_NKRO
 
 #define LEADER_TIMEOUT 300
-#define PREVENT_STUCK_MODIFIERS
 
 #undef DEBOUNCE
 #define DEBOUNCE 0
index f98b8935e29d5fd432c0556be98cfb66dde583a6..9e8f404c15b1ec54220128d94c6c5af309b72d86 100644 (file)
@@ -19,8 +19,6 @@
 
 #include "config_common.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef AUDIO_ENABLE
     #define STARTUP_SONG SONG(PLANCK_SOUND)
 #endif
@@ -34,6 +32,6 @@
 
 #define MOUSEKEY_WHEEL_DELAY 0
 #define MOUSEKEY_WHEEL_MAX_SPEED   4
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
 
 #endif
index 5aea4432901ec0afed9df29772821c9b73071f1b..89b7e6b84ad6cc82812c5bb14e8bf656a133d737 100644 (file)
@@ -1,7 +1,6 @@
 // This is the personal keymap of Jeremy Cowgar (@jcowgar). It is written for the programmer.
 
 // Configuration options
-#define PREVENT_STUCK_MODIFIERS
 
 #pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
 #include "planck.h"
index b9f73934aa813e4977da907773aabc79e1e39da3..0c100076beae6bda15825d786030d1e1d87c804e 100644 (file)
@@ -1,4 +1,5 @@
 UNICODE_ENABLE = yes
+LEADER_ENABLE = yes
 
 ifndef QUANTUM_DIR
        include ../../../../Makefile
diff --git a/keyboards/planck/keymaps/lae3/config.h b/keyboards/planck/keymaps/lae3/config.h
deleted file mode 100644 (file)
index a28634e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef LAE3_KEYMAP_H
-#define LAE3_KEYMAP_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
index 10591b3c8ca0cbc0ed0d9df0d214bcdcac377503..bb7989d90d82ad63c4eb89800914388f2b79d1d5 100644 (file)
@@ -1,6 +1,5 @@
 #include "../../config.h"
-#define PREVENT_STUCK_MODIFIERS
 
 // for the broken board
 #undef MATRIX_COL_PINS
-#define MATRIX_COL_PINS { F1, F0, B0, B2, F4, F5, F6, F7, D4, D6, B4, D7 }
\ No newline at end of file
+#define MATRIX_COL_PINS { F1, F0, B0, B2, F4, F5, F6, F7, D4, D6, B4, D7 }
index 3869304f443f824c5abfb436f22b756c8684d74b..9ed1133ef9c34bc345d3adb179a454ead57c7bb0 100644 (file)
@@ -20,7 +20,3 @@ rest of the symbols, mostly mapped with the ten key numbers.
 
 The normal right shift key uses the `MT` macro to trigger Enter on tap and right
 shift when held.
-
-This keymap sets the `PREVENT_STUCK_MODIFIERS` flag to avoid the occasional WTF
-moments when using a modifier keys and accidentally releasing them after moving
-to a new layer.
index e081a93b5344986488e2e5735c5a17695dd958ec..19d784b2bef489ad65994a1611a01f967b71858a 100644 (file)
 
 #define IGNORE_MOD_TAP_INTERRUPT
 #define PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
 
 #define SUPER_DUPER_SOUND S__NOTE(_B1)
 
 #define MOUSEKEY_DELAY 100
 
-#endif
\ No newline at end of file
+#endif
diff --git a/keyboards/planck/keymaps/neo2planck/config.h b/keyboards/planck/keymaps/neo2planck/config.h
deleted file mode 100644 (file)
index 3e9e692..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
\ No newline at end of file
index 448ae3b908acd377e84d8d1b93c0356f2c5dcc56..876d057bf2a34c1e09f3d7450f8ff48a3809b074 100644 (file)
@@ -11,8 +11,6 @@
 /* skip bootmagic and eeconfig */
 #define BOOTMAGIC_KEY_SKIP              KC_SPACE
 
-#define PREVENT_STUCK_MODIFIERS
-
 #define UNICODE_TYPE_DELAY 0
 
 #define LAYOUT_DVORAK
index 4b2cdeece173133742e2a68da59a8ae76c00ed53..8bed79e6f7c811fca1b3f92b3481997e334453af 100644 (file)
@@ -3,9 +3,6 @@
 
 #include "../../config.h"
 
-// required because lower/raise modifiers are redefined by colemak-dh
-#define PREVENT_STUCK_MODIFIERS
-
 // tap dance key press termination interval
 #define TAPPING_TERM 250
 
index 1879ab007f8ccb70c1731fac4e7e645b6a3e91b6..4f99c7eb81d921919aca57d3f460562871b61bcf 100644 (file)
@@ -15,8 +15,6 @@
 
 #define MUSIC_MASK (keycode != KC_NO)
 
-#define PREVENT_STUCK_MODIFIERS
-
 /*
  * MIDI options
  */
@@ -41,4 +39,4 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 2
 
-#endif
\ No newline at end of file
+#endif
index 4725e1426db80bc633e443ca9d769961a8a67362..c5d55b96938fe0c8037a4916b1d0f7127122127f 100644 (file)
@@ -3,8 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
-
 #ifdef AUDIO_ENABLE
     // #define STARTUP_SONG SONG(PLANCK_SOUND)
     #define STARTUP_SONG SONG(NO_SOUND)
@@ -27,7 +25,7 @@
 /* enable basic MIDI features:
    - MIDI notes can be sent when in Music mode is on
 */
-                                
+
 #define MIDI_BASIC
 
 /* enable advanced MIDI features:
index 4cb4a1235a5cc2b188012dd2cabe710453f8da14..be395faad3eb5896a995fb159410b3a8fb1dfd96 100644 (file)
@@ -26,9 +26,6 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 2
 
-/* prevent the modifiers from being stuck, sacrificing some memory */
-#define PREVENT_STUCK_MODIFIERS
-
 /* A larger buffer for the dynamic macros as this keymap is not taking
  * up that much memory.
  */
diff --git a/keyboards/planck/keymaps/yale/config.h b/keyboards/planck/keymaps/yale/config.h
deleted file mode 100644 (file)
index 8a916bb..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
-
-
-
index 19a3856a39da8e7c37da023d07556ed8f0da750f..dc79bad064e45881e372fc1a32449145817e6459 100644 (file)
@@ -55,7 +55,6 @@
 //#define NO_ACTION_ONESHOT
 #define NO_ACTION_MACRO
 #define NO_ACTION_FUNCTION
-#define PREVENT_STUCK_MODIFIERS
 //#define DYNAMIC_MACRO_ENABLE    // Enable if you need to use the macro functionality
 //#define SPACE_CADET             // Parenthesis on L/R shift
 
index 0e462180bd4943c4bbf7558eeafb0778cb139b5d..afd69f7d847b8578f0aa45e0e6e5b2c55a48a0bb 100644 (file)
@@ -50,9 +50,6 @@
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 6
 
-/* Prevent modifiers from being stuck on after layer changes. */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 //#define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */
index c35718042aad7e3cafefc40d899438c94a9a9fd5..53bbe95e3a66cd1e51472bb26856e88e599451fc 100644 (file)
@@ -42,8 +42,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
 
 #define RGB_DI_PIN B1
 #ifdef RGB_DI_PIN
index 06101349ccd135913e46efbb67b81dafe1ca04ce..601e3c8a5c6711105a103c48f8c4e0ca8c40c55d 100644 (file)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
@@ -55,4 +52,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index b988831207bae1e660d4f21a1b2d12cea630d5ab..23e9e0ed28f702f43c18dac9fc853991adff51a3 100644 (file)
@@ -4,6 +4,5 @@
 #include "../../config.h"
 
 #define FORCE_NKRO 1
-#define PREVENT_STUCK_MODIFIERS
 
 #endif
index b988831207bae1e660d4f21a1b2d12cea630d5ab..23e9e0ed28f702f43c18dac9fc853991adff51a3 100644 (file)
@@ -4,6 +4,5 @@
 #include "../../config.h"
 
 #define FORCE_NKRO 1
-#define PREVENT_STUCK_MODIFIERS
 
 #endif
index 76d73acef7587f68ba6ef1b0aaf893e421d5e17c..9369f99a9e9b3738802c2e9f013d82fa9dc2235c 100644 (file)
@@ -1 +1,2 @@
 BACKLIGHT_ENABLE  = no
+LEADER_ENABLE = yes
diff --git a/keyboards/preonic/keymaps/that_canadian/config.h b/keyboards/preonic/keymaps/that_canadian/config.h
deleted file mode 100644 (file)
index 11cafbe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#define PREVENT_STUCK_MODIFIERS
-
-#endif
index bb8913c7afaad8a15a6a85faec943e30fdb01670..40a083da37b8616264ee81c71f44c60a02b3ab1c 100644 (file)
@@ -87,7 +87,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_ONESHOT
 #define NO_ACTION_MACRO
 #define NO_ACTION_FUNCTION
-#define PREVENT_STUCK_MODIFIERS
 //#define DYNAMIC_MACRO_ENABLE    // Enable if you need to use the macro functionality
 //#define SPACE_CADET             // Parenthesis on L/R shift
 
index 3f57c591abd9d063276df5e1b9fa4b4cfd11961c..98899dc6ac778d254b954fad260fe74f01291007 100644 (file)
@@ -50,9 +50,6 @@
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 6
 
-/* Prevent modifiers from being stuck on after layer changes. */
-#define PREVENT_STUCK_MODIFIERS
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 //#define LOCKING_SUPPORT_ENABLE
 /* Locking resynchronize hack */
index b53f1490518d887d1c011448817105cac8c26d53..ad92199a22a1ca71e64b9e927c2548b0018cbd52 100644 (file)
@@ -60,10 +60,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
index 90fb5120dfd90736d48004f84f44707a4f91de6d..2048232c9c3a26e940d90cdbd869752fb8df3d41 100644 (file)
@@ -11,7 +11,6 @@
 // #define MASTER_RIGHT
 #define EE_HANDS
 
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 #define TAPPING_TERM 175
 #define TAPPING_TOGGLE 2
index 35754b523393d9f7d9744e0b668513b5133164df..10bddf0d37136b2dfdb5b1e349d7615426ede79a 100644 (file)
@@ -105,7 +105,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // Space Cadet Rollover - if set, allows to tap opposite shift key to cancel erroneous press
 #define DISABLE_SPACE_CADET_ROLLOVER
 
-// Prevent stuck modifiers
-#define PREVENT_STUCK_MODIFIERS
-
 #endif
index ec8b0f49e1df2894ede4f99dd3f95876c565c002..d9c26658dfd93a2619b657392f82ad77827a226b 100644 (file)
@@ -17,9 +17,6 @@
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN F6
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
@@ -29,4 +26,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index df60e60a8d4d95ab3513ecfd3d9e75d98c343fb6..60512db46252fb83b03d758577b88f9a56e41b55 100644 (file)
@@ -49,7 +49,4 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #endif
index 8288ef78346816efb6727e8b91479feac8d89271..367efc526c68e8c2959136a58a7894f9cf7e256d 100644 (file)
@@ -49,8 +49,4 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #endif
index f22fbe8be4bb8ddabdf9a482f4db81d768d45a25..52a1cc7a18ec36c1f7265408e1bd0abf72ca44b8 100755 (executable)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
index 09655c0258e5ba342e949dc3ce5f758529f5e681..be0a3697737142e3520ac5bfba5e232f25216098 100644 (file)
@@ -52,8 +52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  These options are also useful to firmware size reduction.
  */
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* disable debug print */
 //#define NO_DEBUG
 
index 9c7f525a715f91cd22b88f1ce0f98b49760a24f1..7e7dac7cf63ee2a001f2e4fce8286bdb1cbb1d6a 100644 (file)
@@ -41,9 +41,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define TAPPING_TERM 200
 #define PERMISSIVE_HOLD
 
@@ -62,4 +59,4 @@
 //#define RGBLIGHT_LIMIT_VAL 128
 #endif
 
-#endif
\ No newline at end of file
+#endif
index bb2aadfa6999ff2b50d616a39b4c6d44b7e39797..fc9bd3d616526c948ffc56b46977b3ca8eae4885 100644 (file)
@@ -3,7 +3,6 @@
 
 #include QMK_KEYBOARD_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define SPACE_COUNT 3
 
 #define TEMPLATE(                                                                     \
index 6e6ab2215d6c72ae0152b18fed51066d9080e309..16927be17e072534e4b974951b1093414a3b1402 100644 (file)
@@ -47,9 +47,6 @@
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN F7
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index f33c131087205b409f9f89a2d8de00c0ddd95817..185cb326cce04dbd1df0462a62059a9ac3b63325 100644 (file)
@@ -34,9 +34,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 /* eliminate lag on space cadet mods */
 #define PERMISSIVE_HOLD
 
index 35f5bf70b323b596f17c13eefa539fc331bdb1c4..34d67207929ad9fbc44f2bd7ce4aa8af8025bf73 100644 (file)
@@ -60,9 +60,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 /* ws2812b options */
 #define RGB_DI_PIN F6
 #ifdef RGB_DI_PIN
index 687f80441a17e0099def9bdc284361c15ed7174c..a1e361e346de72b43d724c7f473acc636517b640 100644 (file)
@@ -53,7 +53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define NO_MUSIC_MODE
 #endif
 
-#undef PREVENT_STUCK_MODIFIERS
+#define STRICT_LAYER_RELEASE
 
 #define LAYOUT_ortho_5x7( \
     L00, L01, L02, L03, L04, L05, L06, \
index 9f021fb516eccfb95f12769c2eba95ebd5bf362d..a8047cf54f428a4540afe57c4bca1deedd473248 100644 (file)
@@ -18,8 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef CONFIG_H
 #define CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0x1c11
 #define PRODUCT_ID      0xb04d
diff --git a/keyboards/xd60/keymaps/kmontag42/rules.mk b/keyboards/xd60/keymaps/kmontag42/rules.mk
new file mode 100644 (file)
index 0000000..d0d2ef6
--- /dev/null
@@ -0,0 +1 @@
+LEADER_ENABLE = yes
index e87ccde7979a42924a99ad4210b90593f12d9926..f219147034d49ba6157f3f9f1a7aa19fbb1ece31 100644 (file)
@@ -20,7 +20,6 @@
 #include "../../config.h"
 
 #define TAPPING_TERM 200
-#define PERMISSIVE_HOLD 
-#define PREVENT_STUCK_MODIFIERS
+#define PERMISSIVE_HOLD
 
 #endif
index 561a48d7eb88cdcc5b71f9f87c0d6122d1aa99ca..985247bb2e3f4dee49eb433862bf0e9cf3f46bda 100644 (file)
@@ -26,7 +26,6 @@
 #define TAPPING_TOGGLE 2
 //#define PERMISSIVE_HOLD
 //#define QMK_KEYS_PER_SCAN 4
-#define PREVENT_STUCK_MODIFIERS
 #define FORCE_NKRO
 
 #define MOUSEKEY_INTERVAL 16
index f3f893e2834753a80e746746d2593f2381135de4..8cb2cf82df923b6a09d2651e9d3fe543138576a7 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
@@ -55,4 +51,4 @@
 #define RGBLIGHT_VAL_STEP 8
 #endif
 
-#endif
\ No newline at end of file
+#endif
index 52aaa8f24dce2b9250499e1d3c13f357cad86ed4..b1d74e1e6931f3c72e1424d52855ffd2ac7d24c0 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
 #define TAPPING_TERM 300
 
 #endif
index d2fce9aeef555746629b9388b52a1421ccea22fd..3621536522632e4da596ff992c17c682c2300aef 100644 (file)
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 0
 #define RGBLIGHT_HUE_STEP 8
 #define RGBLIGHT_SAT_STEP 8
 #define RGBLIGHT_VAL_STEP 8
-#endif
\ No newline at end of file
+#endif
index 93f260946cfb17b1d2966c1e53ae85ef5b88746b..64aaece501eface17ceef1185f4d7eb52183fbd8 100644 (file)
@@ -34,7 +34,3 @@
 // Scale brightnes according to BRIGHTNESS_CORRECTION_TABLE in quantum/rgblight.c.
 // This allows to mitigate uneven brightness from LED underglow strips.
 // #define LED_BRIGHTNESS_CORRECTION
-
-// Prevent modifiers on layer 1 from persisting after we let go
-#define PREVENT_STUCK_MODIFIERS
-
index 456d225aa2dd0b68960062af37138bcea502d889..ae9dcfef67eca79418a06ecc087de008a4cccafd 100755 (executable)
@@ -43,9 +43,6 @@
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
 #define RGB_DI_PIN D6
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_ANIMATIONS
index 1990b0ee3b0f1138833cd600fa1fd46a5ce29e6c..4326a2fd1039908c05d5e8b802363d06b1e15eb2 100644 (file)
@@ -3,7 +3,6 @@
 
 #include QMK_KEYBOARD_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define ENABLE_GAME_LAYER
 
 #define TEMPLATE(                                                                   \
index 81ab5cf89e448cdb64adfa637d732ac786a42096..bf18fd9f7d000111ed6c0e8094e5bae95c072b73 100644 (file)
@@ -3,7 +3,6 @@
 
 #include QMK_KEYBOARD_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define ENABLE_GAME_LAYER
 
 #define TEMPLATE(                                                                   \
index 938ea6cd631e0495815fde010995db3efb1bf1fe..9e907feeb53a9f395b08e931c8d8bffa061b3962 100644 (file)
@@ -3,7 +3,6 @@
 
 #include QMK_KEYBOARD_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define ENABLE_GAME_LAYER
 
 #define TEMPLATE(                                                                   \
index 21af8c6b8dcc6b4fcd9f75c463b6546609351aa1..1a8fddb50685c2fe802a2847ed3dfa2b7863c948 100644 (file)
@@ -2,5 +2,4 @@
 
 #undef TAPPING_TERM
 #define TAPPING_TERM 300 //At 500 some bad logic takes hold
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
index fcd019e838b00cbe4489afafa615c6745428a43e..47549b50f6449379d477ea9c890bb7e4c09f4ffa 100644 (file)
@@ -1,3 +1,2 @@
 COMMAND_ENABLE = no        # Commands for debug and configuration
-
-
+LEADER_ENABLE = yes
index f795a8676e284cd4608b5288a1a304fd78bbe5a0..53dec5153afe98197ec50d0467551f26342b7da4 100644 (file)
@@ -8,6 +8,7 @@ TAP_DANCE_ENABLE = yes
 KEYLOGGER_ENABLE ?= yes
 UCIS_ENABLE = yes
 MOUSEKEY_ENABLE = no
+LEADER_ENABLE = yes
 
 AUTOLOG_ENABLE ?= no
 
index 6fc64f508230db75abc6c0bb1ed04ab6fc788cfa..9e076dead12a6ec1cbacce1feb49fc4869b89673 100644 (file)
@@ -4,7 +4,6 @@
 #include QMK_KEYBOARD_CONFIG_H
 
 #define FORCE_NKRO
-#define PREVENT_STUCK_MODIFIERS
 
 #undef TAPPING_TERM
 #undef IGNORE_MOD_TAP_INTERRUPT
index 039f07c8e35ab8f6df066a2b1c749f5f757bd131..f5093529bfbc47b8827e0d175740aadefd0da8ff 100644 (file)
@@ -1 +1,2 @@
 UNICODE_ENABLE = yes
+LEADER_ENABLE = yes
index 839dd82e1e350c9239882d74961f8185e95e33dc..f68b56f872d0f479f44e715e3bdc3b435647d006 100644 (file)
@@ -3,5 +3,4 @@
 
 SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
 COMMAND_ENABLE   = no  # Commands for debug and configuration
-
-
+LEADER_ENABLE = yes
index 31e0fcf29339dbd9cb219618dfefba3cad683196..4a3c58621c727a4c667884066695d7178922a656 100644 (file)
@@ -1 +1,2 @@
 TAP_DANCE_ENABLE=yes
+LEADER_ENABLE = yes
index 28cdb7c1089283a7b3be0932f2cc94f3172cce74..53b3d4841440a1023fe5c42466146967f9f86cd1 100644 (file)
@@ -1,5 +1,5 @@
 # Ergodox EZ for OS X
 
-This keymapping is designed to be reasonably familiar to an ordinary Mac keyboard while taking advantage of the Ergodox EZ's features. Caps lock instead enables a layer which allows a user to use HJKL as arrow keys and to control media. Shift and control have additional mappings on S and D to provide easier access while holding down caps lock. 
+This keymapping is designed to be reasonably familiar to an ordinary Mac keyboard while taking advantage of the Ergodox EZ's features. Caps lock instead enables a layer which allows a user to use HJKL as arrow keys and to control media. Shift and control have additional mappings on S and D to provide easier access while holding down caps lock.
 
-If you choose to compile this yourself, be sure to compile with `#define PREVENT_STUCK_MODIFIERS` in your `config.h`. Firmware built using [qmk_firmware](https://github.com/qmk/qmk_firmware/).
+Firmware built using [qmk_firmware](https://github.com/qmk/qmk_firmware/).
index 36e0591a8e6bcea541ca7ddd3b301eb0b0965ef3..3d1bcb9e11fc24cccc5f91b4415dc89bcb96e629 100644 (file)
@@ -39,7 +39,7 @@ The right arrow key and End key toggle the control layer on the left board. Ther
 On the left board you have mouse control with left & right click in the location of the G and B keys.
 On the right board you have vim-style arrow keys using hjkl
 
-The left thumb cluster moves shift and alt within easy reach while holding the toggle (end). So far I've found this convient to navigate and  skip around text when using the hjkl arrow keys. I found that it was easy to get the alt key stuck on depending on what key you released first so I added the PREVENT_STUCK_MODIFIERS to the config.h to help with that.
+The left thumb cluster moves shift and alt within easy reach while holding the toggle (end). So far I've found this convient to navigate and  skip around text when using the hjkl arrow keys.
 
 ## Changelog
 
index 702c9226c6213d4e9d1c31f7fe2539adce3a061b..c29b0770622ab53ea62075a6f8625736897c9141 100644 (file)
@@ -20,10 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-// prevent stuck modifiers
-#define PREVENT_STUCK_MODIFIERS
-
-
 // hold & tapping delay setting
 #define TAPPING_TERM 100
 
index 8b27d41365ef6694efa94bc007653bcb5799b6c5..02f8a94e3997c7409f2d0925f1c3ddfbcbe6ee41 100644 (file)
@@ -3,7 +3,6 @@
 
 #include QMK_KEYBOARD_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define ENABLE_GAME_LAYER
 
 #define TEMPLATE_TKL(\
diff --git a/quantum/process_keycode/process_chording.c b/quantum/process_keycode/process_chording.c
deleted file mode 100644 (file)
index 6c6ebe3..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "process_chording.h"
-
-bool keys_chord(uint8_t keys[]) {
-  uint8_t keys_size = sizeof(keys)/sizeof(keys[0]);
-  bool pass = true;
-  uint8_t in = 0;
-  for (uint8_t i = 0; i < chord_key_count; i++) {
-    bool found = false;
-    for (uint8_t j = 0; j < keys_size; j++) {
-      if (chord_keys[i] == (keys[j] & 0xFF)) {
-        in++; // detects key in chord
-        found = true;
-        break;
-      }
-    }
-    if (found)
-      continue;
-    if (chord_keys[i] != 0)  {
-      pass = false; // makes sure rest are blank
-    }
-  }
-  return (pass && (in == keys_size));
-}
-
-bool process_chording(uint16_t keycode, keyrecord_t *record) {
-  if (keycode >= QK_CHORDING && keycode <= QK_CHORDING_MAX) {
-    if (record->event.pressed) {
-      if (!chording) {
-        chording = true;
-        for (uint8_t i = 0; i < CHORDING_MAX; i++)
-          chord_keys[i] = 0;
-        chord_key_count = 0;
-        chord_key_down = 0;
-      }
-      chord_keys[chord_key_count] = (keycode & 0xFF);
-      chord_key_count++;
-      chord_key_down++;
-      return false;
-    } else {
-      if (chording) {
-        chord_key_down--;
-        if (chord_key_down == 0) {
-          chording = false;
-          // Chord Dictionary
-          if (keys_chord((uint8_t[]){KC_ENTER, KC_SPACE})) {
-            register_code(KC_A);
-            unregister_code(KC_A);
-            return false;
-          }
-          for (uint8_t i = 0; i < chord_key_count; i++) {
-            register_code(chord_keys[i]);
-            unregister_code(chord_keys[i]);
-            return false;
-          }
-        }
-      }
-    }
-  }
-  return true;
-}
diff --git a/quantum/process_keycode/process_chording.h b/quantum/process_keycode/process_chording.h
deleted file mode 100644 (file)
index 8c0f486..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef PROCESS_CHORDING_H
-#define PROCESS_CHORDING_H
-
-#include "quantum.h"
-
-// Chording stuff
-#define CHORDING_MAX 4
-bool chording = false;
-
-uint8_t chord_keys[CHORDING_MAX] = {0};
-uint8_t chord_key_count = 0;
-uint8_t chord_key_down = 0;
-
-bool process_chording(uint16_t keycode, keyrecord_t *record);
-
-#endif
index c87ef115af3f5ec56620e8c352e494e016c7dd79..eddbf71f7001d0a14719fd7e43b8fc63fe655465 100644 (file)
@@ -14,7 +14,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef DISABLE_LEADER
+#ifdef LEADER_ENABLE
 
 #include "process_leader.h"
 
index 9d352a94cf253f43a5d95548f25f87221df2028b..9bf91eb86538362c4dbafc31af5440803eb033f5 100644 (file)
@@ -196,7 +196,7 @@ bool process_record_quantum(keyrecord_t *record) {
   keypos_t key = record->event.key;
   uint16_t keycode;
 
-  #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+  #if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
     /* TODO: Use store_or_get_action() or a similar function. */
     if (!disable_action_cache) {
       uint8_t layer;
@@ -251,12 +251,9 @@ bool process_record_quantum(keyrecord_t *record) {
   #ifdef TAP_DANCE_ENABLE
     process_tap_dance(keycode, record) &&
   #endif
-  #ifndef DISABLE_LEADER
+  #ifdef LEADER_ENABLE
     process_leader(keycode, record) &&
   #endif
-  #ifndef DISABLE_CHORDING
-    process_chording(keycode, record) &&
-  #endif
   #ifdef COMBO_ENABLE
     process_combo(keycode, record) &&
   #endif
index d1f761f17afb78dc2396d1905b2fe62251752ce3..7cf16d81e68bcd1e5b96af34c542e79db81b65c3 100644 (file)
@@ -89,15 +89,10 @@ extern uint32_t default_layer_state;
     #include "process_music.h"
 #endif
 
-#ifndef DISABLE_LEADER
+#ifdef LEADER_ENABLE
     #include "process_leader.h"
 #endif
 
-#define DISABLE_CHORDING
-#ifndef DISABLE_CHORDING
-    #include "process_chording.h"
-#endif
-
 #ifdef UNICODE_ENABLE
     #include "process_unicode.h"
 #endif
index 0ecc293a826067393881f9f934fbe558fc35c71d..3b87954960e4ae799eb56024e13393fa4be1efe7 100644 (file)
@@ -63,10 +63,6 @@ enum quantum_keycodes {
     QK_ONE_SHOT_LAYER_MAX = 0x54FF,
     QK_ONE_SHOT_MOD       = 0x5500,
     QK_ONE_SHOT_MOD_MAX   = 0x55FF,
-#ifndef DISABLE_CHORDING
-    QK_CHORDING           = 0x5600,
-    QK_CHORDING_MAX       = 0x56FF,
-#endif
     QK_TAP_DANCE          = 0x5700,
     QK_TAP_DANCE_MAX      = 0x57FF,
     QK_LAYER_TAP_TOGGLE   = 0x5800,
@@ -123,7 +119,7 @@ enum quantum_keycodes {
     GRAVE_ESC,
 
     // Leader key
-#ifndef DISABLE_LEADER
+#ifdef LEADER_ENABLE
     KC_LEAD,
 #endif
 
index ae086474963699369b48476077f0478c7c73063b..76d02bc9dff8639a37cfdf15cf3f08a6d74b6d73 100644 (file)
@@ -120,7 +120,7 @@ void process_hand_swap(keyevent_t *event) {
 }
 #endif
 
-#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
 bool disable_action_cache = false;
 
 void process_record_nocache(keyrecord_t *record)
index acc55c7d3881b73e01ae3dc03b2a834be98e8d59..0322c73ed1e3fa08efbf21eb25f046a888be92b8 100644 (file)
@@ -62,7 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
 bool process_record_quantum(keyrecord_t *record);
 
 /* Utilities for actions.  */
-#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
 extern bool disable_action_cache;
 #endif
 
index f3cd381ab0b32bc956db42252ce1b4d535e1306b..62375dfbfebe516339ae7749a28b135a771d5290 100644 (file)
@@ -219,7 +219,7 @@ void layer_debug(void)
 }
 #endif
 
-#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
 uint8_t source_layers_cache[(MATRIX_ROWS * MATRIX_COLS + 7) / 8][MAX_LAYER_BITS] = {{0}};
 
 void update_source_layers_cache(keypos_t key, uint8_t layer)
@@ -263,7 +263,7 @@ uint8_t read_source_layers_cache(keypos_t key)
  */
 action_t store_or_get_action(bool pressed, keypos_t key)
 {
-#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
     if (disable_action_cache) {
         return layer_switch_get_action(key);
     }
index 72a6bd8f684c13a717806065a71b3f37f2fc08e8..7bf116be2d4be23c8f9f7311c90785af09c4e784 100644 (file)
@@ -88,7 +88,7 @@ uint32_t layer_state_set_kb(uint32_t state);
 #endif
 
 /* pressed actions cache */
-#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
 /* The number of bits needed to represent the layer number: log2(32). */
 #define MAX_LAYER_BITS 5
 void update_source_layers_cache(keypos_t key, uint8_t layer);
index 7c637d8d3650ee779f7a02e68a105288a90a2aa3..b158e2d5a26aaa24a30d3eb98735a4a772f39e2f 100644 (file)
@@ -1,4 +1,3 @@
 #pragma once
 
-#define PREVENT_STUCK_MODIFIERS
 #define PERMISSIVE_HOLD
index ce5ec65d62ab60e8e364addab6db7ff26b084414..0e726598cdfeba3c655bd901cfccfe77ecc592bd 100644 (file)
@@ -10,7 +10,6 @@
 // actually sends Ctrl-x. That's bad.)
 #define IGNORE_MOD_TAP_INTERRUPT
 #undef PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
 
 #ifdef TAPPING_TERM
 #undef TAPPING_TERM
index dd6875ceb1d0625df11b2fef222ff24cf9f0aff4..92efcc5c741fd8254557d4caf6d15d7560d53a05 100644 (file)
@@ -43,7 +43,6 @@
 // actually sends Ctrl-x. That's bad.)
 #define IGNORE_MOD_TAP_INTERRUPT
 #undef  PERMISSIVE_HOLD
-#define PREVENT_STUCK_MODIFIERS
 // #define TAPPING_FORCE_HOLD
 //#define RETRO_TAPPING
 
@@ -64,8 +63,4 @@
 #define NO_ACTION_MACRO
 #define NO_ACTION_FUNCTION
 
-#define DISABLE_LEADER
-
 #define MACRO_TIMER 5
-
-
index 9c4a7ed8dda8652d7e224bf7d74880d002de8cfb..1f567f4a5b8a511c4acc6e44d95959d9b138b923 100755 (executable)
@@ -15,7 +15,6 @@
 
 //#define LEADER_TIMEOUT 300
 //#define BACKLIGHT_BREATHING
-#define PREVENT_STUCK_MODIFIERS
 //#define PERMISSIVE_HOLD
 // #define QMK_KEYS_PER_SCAN 4
 
@@ -72,5 +71,5 @@
 
 // Most tactile encoders have detents every 4 stages
 #define ENCODER_RESOLUTION 4
-                                
+
 #endif
index f3556c87ed04df5382f86a2d2eaa619af92b59fe..4b58b579f89be03bac6d228de0cb17155aabdf0c 100644 (file)
@@ -6,12 +6,6 @@
 // https://docs.qmk.fm/reference/config-options#features-that-can-be-enabled
 ////////////////////////////////////////////////////////////////////////////////
 
-// Prevent modifiers from sticking when switching layers
-// Uses 5 bytes of memory per 8 keys, but makes sure modifiers don't get "stuck" switching layers
-#define PREVENT_STUCK_MODIFIERS
-
-
-
 ////////////////////////////////////////////////////////////////////////////////
 // Behaviors That Can Be Configured
 // https://docs.qmk.fm/reference/config-options#behaviors-that-can-be-configured
index 15bbde6bcd192152b812cf3ac4658d9f46ee4788..1cdbb5a412fec5fc2a9a49054302f1c8f225c705 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef USERSPACE_CONFIG_H
 #define USERSPACE_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
 #define IGNORE_MOD_TAP_INTERRUPT
 
 #define RESET_LAYER 15
index 22073449b2433deb400324cfb60b33796dc09c7a..28e7690e653f0a6b3d0d641012ec2ade0b5fb5aa 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef USERSPACE_CONFIG_H
 #define USERSPACE_CONFIG_H
 
-#define PREVENT_STUCK_MODIFIERS
-
 //TAPPING_TERM
 #ifdef TAP_DANCE_ENABLE
 #define TAPPING_TERM 200
index 766806462253d037153a2454a3961d6b0ce1d677..4cb65c258f9ac00a7185494cd215a2e7c8a4c93f 100644 (file)
@@ -11,7 +11,7 @@
 // actually sends Ctrl-x. That's bad.)
 #define IGNORE_MOD_TAP_INTERRUPT
 #undef PERMISSIVE_HOLD
-#undef PREVENT_STUCK_MODIFIERS
+#define STRICT_LAYER_RELEASE
 
 #define FORCE_NKRO