qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

commit 743449472e58651ec8111e6f70811103fb0a28bd
parent b65e2143751fd7c1721a6690597f523137c7c484
Author: Joe Wasson <jwasson+github@gmail.com>
Date:   Mon, 17 Sep 2018 10:48:02 -0700

Make `PREVENT_STUCK_MODIFIERS` the default (#3107)

* 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.

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

diff --git a/common_features.mk b/common_features.mk @@ -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 diff --git a/docs/config_options.md b/docs/config_options.md @@ -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 diff --git a/docs/feature_leader_key.md b/docs/feature_leader_key.md @@ -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 +``` diff --git a/docs/understanding_qmk.md b/docs/understanding_qmk.md @@ -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) diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h @@ -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 diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h @@ -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 diff --git a/keyboards/acr60/config.h b/keyboards/acr60/config.h @@ -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 diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h @@ -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 diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h @@ -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 diff --git a/keyboards/alu84/config.h b/keyboards/alu84/config.h @@ -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 diff --git a/keyboards/at101_blackheart/config.h b/keyboards/at101_blackheart/config.h @@ -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 diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c @@ -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 diff --git a/keyboards/atreus/keymaps/khitsule/config.h b/keyboards/atreus/keymaps/khitsule/config.h @@ -3,8 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS - #define IGNORE_MOD_TAP_INTERRUPT -#endif- \ No newline at end of file +#endif diff --git a/keyboards/atreus/keymaps/xk/config.h b/keyboards/atreus/keymaps/xk/config.h @@ -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 diff --git a/keyboards/atreus62/keymaps/mneme/config.h b/keyboards/atreus62/keymaps/mneme/config.h @@ -1,6 +1,5 @@ #define ONESHOT_TIMEOUT 3000 #define TAPPING_TERM 200 -#define PREVENT_STUCK_MODIFIERS #define FORCE_NKRO #define LEADER_TIMEOUT 1000 diff --git a/keyboards/atreus62/keymaps/mneme/rules.mk b/keyboards/atreus62/keymaps/mneme/rules.mk @@ -3,3 +3,4 @@ NKRO_ENABLE = true MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no +LEADER_ENABLE = yes diff --git a/keyboards/bfo9000/keymaps/andylikescandy6x18/config.h b/keyboards/bfo9000/keymaps/andylikescandy6x18/config.h @@ -37,7 +37,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define PERMISSIVE_HOLD - #define PREVENT_STUCK_MODIFIERS - - #endif diff --git a/keyboards/bigseries/1key/config.h b/keyboards/bigseries/1key/config.h @@ -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 diff --git a/keyboards/bigseries/2key/config.h b/keyboards/bigseries/2key/config.h @@ -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 diff --git a/keyboards/bigseries/3key/config.h b/keyboards/bigseries/3key/config.h @@ -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 diff --git a/keyboards/bigseries/4key/config.h b/keyboards/bigseries/4key/config.h @@ -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 diff --git a/keyboards/bigswitch/config.h b/keyboards/bigswitch/config.h @@ -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 diff --git a/keyboards/catch22/config.h b/keyboards/catch22/config.h @@ -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 diff --git a/keyboards/chimera_ergo/config.h b/keyboards/chimera_ergo/config.h @@ -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 diff --git a/keyboards/chimera_ls/config.h b/keyboards/chimera_ls/config.h @@ -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 diff --git a/keyboards/chimera_ortho/config.h b/keyboards/chimera_ortho/config.h @@ -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 diff --git a/keyboards/chocopad/config.h b/keyboards/chocopad/config.h @@ -40,10 +40,6 @@ 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 diff --git a/keyboards/clueboard/60/config.h b/keyboards/clueboard/60/config.h @@ -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 */ diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/config.h b/keyboards/clueboard/66/keymaps/bloodlvst/config.h @@ -3,6 +3,5 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS #define DISABLE_SPACE_CADET_ROLLOVER #endif diff --git a/keyboards/comet46/config.h b/keyboards/comet46/config.h @@ -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 diff --git a/keyboards/contra/config.h b/keyboards/contra/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/contra/keymaps/ryanm101/config.h b/keyboards/contra/keymaps/ryanm101/config.h @@ -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 diff --git a/keyboards/crawlpad/config.h b/keyboards/crawlpad/config.h @@ -40,9 +40,6 @@ false \ ) -/* prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - #ifdef RGBLIGHT_ENABLE #define RGB_DI_PIN D3 #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/crkbd/keymaps/default/config.h b/keyboards/crkbd/keymaps/default/config.h @@ -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 diff --git a/keyboards/dichotemy/config.h b/keyboards/dichotemy/config.h @@ -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 diff --git a/keyboards/dilly/config.h b/keyboards/dilly/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/dz60/config.h b/keyboards/dz60/config.h @@ -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 diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h @@ -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 diff --git a/keyboards/ergodone/config.h b/keyboards/ergodone/config.h @@ -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 */ diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h @@ -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 diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk b/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk @@ -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 diff --git a/keyboards/ergodox_ez/keymaps/vim/vim.h b/keyboards/ergodox_ez/keymaps/vim/vim.h @@ -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; diff --git a/keyboards/ergodox_infinity/keymaps/gordon/config.h b/keyboards/ergodox_infinity/keymaps/gordon/config.h @@ -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 diff --git a/keyboards/ergodox_infinity/keymaps/narze/config.h b/keyboards/ergodox_infinity/keymaps/narze/config.h @@ -13,7 +13,6 @@ #define IGNORE_MOD_TAP_INTERRUPT #define PERMISSIVE_HOLD -#define PREVENT_STUCK_MODIFIERS #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 100 diff --git a/keyboards/ergodox_infinity/keymaps/not-quite-neo/rules.mk b/keyboards/ergodox_infinity/keymaps/not-quite-neo/rules.mk @@ -1,2 +1,3 @@ BACKLIGHT_ENABLE = yes -UNICODE_ENABLE = yes- \ No newline at end of file +UNICODE_ENABLE = yes +LEADER_ENABLE = yes diff --git a/keyboards/ergoinu/config.h b/keyboards/ergoinu/config.h @@ -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 diff --git a/keyboards/ergotravel/keymaps/ckofy/config.h b/keyboards/ergotravel/keymaps/ckofy/config.h @@ -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 diff --git a/keyboards/felix/config.h b/keyboards/felix/config.h @@ -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 diff --git a/keyboards/four_banger/config.h b/keyboards/four_banger/config.h @@ -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 diff --git a/keyboards/fourier/keymaps/jennetters/config.h b/keyboards/fourier/keymaps/jennetters/config.h @@ -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 diff --git a/keyboards/fractal/config.h b/keyboards/fractal/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/frosty_flake/keymaps/nikchi/rules.mk b/keyboards/frosty_flake/keymaps/nikchi/rules.mk @@ -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 diff --git a/keyboards/gh80_3000/config.h b/keyboards/gh80_3000/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/gherkin/config.h b/keyboards/gherkin/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/gherkin/keymaps/talljoe_gherkin/config.h b/keyboards/gherkin/keymaps/talljoe_gherkin/config.h @@ -3,6 +3,4 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS - -#endif- \ No newline at end of file +#endif diff --git a/keyboards/gonnerd/keymaps/gam3cat/config.h b/keyboards/gonnerd/keymaps/gam3cat/config.h @@ -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/hadron/keymaps/default/config.h b/keyboards/hadron/keymaps/default/config.h @@ -5,7 +5,6 @@ #define LEADER_TIMEOUT 300 //#define BACKLIGHT_BREATHING -#define PREVENT_STUCK_MODIFIERS #define USE_I2C #define SSD1306OLED diff --git a/keyboards/hadron/keymaps/side_numpad/config.h b/keyboards/hadron/keymaps/side_numpad/config.h @@ -5,7 +5,6 @@ #define LEADER_TIMEOUT 300 //#define BACKLIGHT_BREATHING -#define PREVENT_STUCK_MODIFIERS #define USE_I2C #define SSD1306OLED diff --git a/keyboards/handwired/MS_sculpt_mobile/config.h b/keyboards/handwired/MS_sculpt_mobile/config.h @@ -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 diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h b/keyboards/handwired/atreus50/keymaps/ajp10304/config.h @@ -3,8 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS - #undef MATRIX_ROW_PINS #undef MATRIX_COL_PINS diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h @@ -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 diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h @@ -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 diff --git a/keyboards/handwired/promethium/keymaps/default/config.h b/keyboards/handwired/promethium/keymaps/default/config.h @@ -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 diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h @@ -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 diff --git a/keyboards/handwired/space_oddity/config.h b/keyboards/handwired/space_oddity/config.h @@ -49,10 +49,6 @@ 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 diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h @@ -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 diff --git a/keyboards/helix/rev1/keymaps/OLED_sample/config.h b/keyboards/helix/rev1/keymaps/OLED_sample/config.h @@ -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 diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h @@ -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 diff --git a/keyboards/hhkb/keymaps/blakedietz/rules.mk b/keyboards/hhkb/keymaps/blakedietz/rules.mk @@ -1,2 +1,3 @@ TAP_DANCE_ENABLE = no UNICODE_ENABLE = no +LEADER_ENABLE = yes diff --git a/keyboards/infinity60/config.h b/keyboards/infinity60/config.h @@ -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/iris/keymaps/davidrambo/config.h b/keyboards/iris/keymaps/davidrambo/config.h @@ -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 diff --git a/keyboards/iris/keymaps/jennetters/config.h b/keyboards/iris/keymaps/jennetters/config.h @@ -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 diff --git a/keyboards/iris/keymaps/krusli/config.h b/keyboards/iris/keymaps/krusli/config.h @@ -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 diff --git a/keyboards/iris/keymaps/xyverz/config.h b/keyboards/iris/keymaps/xyverz/config.h @@ -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 diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/config.h b/keyboards/jc65/v32u4/keymaps/gam3cat/config.h @@ -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 @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define PREVENT_STUCK_MODIFIERS - -#endif diff --git a/keyboards/jj40/keymaps/fun40/config.h b/keyboards/jj40/keymaps/fun40/config.h @@ -4,6 +4,5 @@ #include "../../config.h" #define FORCE_NKRO -#define PREVENT_STUCK_MODIFIERS #endif diff --git a/keyboards/jj40/keymaps/krusli/config.h b/keyboards/jj40/keymaps/krusli/config.h @@ -3,7 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS // #define TAPPING_TERM 300 #endif diff --git a/keyboards/jj40/keymaps/oscillope/config.h b/keyboards/jj40/keymaps/oscillope/config.h @@ -3,7 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS #define TAPPING_TERM 200 #endif diff --git a/keyboards/jj40/keymaps/suzuken/config.h b/keyboards/jj40/keymaps/suzuken/config.h @@ -3,7 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS #define TAPPING_TERM 300 #endif diff --git a/keyboards/jj40/keymaps/waples/config.h b/keyboards/jj40/keymaps/waples/config.h @@ -3,7 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS #define TAPPING_TERM 300 #endif diff --git a/keyboards/jm60/config.h b/keyboards/jm60/config.h @@ -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 diff --git a/keyboards/k_type/config.h b/keyboards/k_type/config.h @@ -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/katana60/config.h b/keyboards/katana60/config.h @@ -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 diff --git a/keyboards/kbd75/config.h b/keyboards/kbd75/config.h @@ -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 diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/config.h b/keyboards/kinesis/keymaps/insertsnideremarks/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/OLED_sample/config.h b/keyboards/lets_split/keymaps/OLED_sample/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/adam/config.h b/keyboards/lets_split/keymaps/adam/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/khord/config.h b/keyboards/lets_split/keymaps/khord/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/piemod/config.h b/keyboards/lets_split/keymaps/piemod/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/waples/config.h b/keyboards/lets_split/keymaps/waples/config.h @@ -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 diff --git a/keyboards/lets_split/keymaps/xk/config.h b/keyboards/lets_split/keymaps/xk/config.h @@ -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 @@ -1,2 +0,0 @@ -#include "../../config.h" -#define PREVENT_STUCK_MODIFIERS diff --git a/keyboards/mechmini/v2/config.h b/keyboards/mechmini/v2/config.h @@ -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 diff --git a/keyboards/melody96/config.h b/keyboards/melody96/config.h @@ -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 diff --git a/keyboards/minidox/keymaps/alairock/config.h b/keyboards/minidox/keymaps/alairock/config.h @@ -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 diff --git a/keyboards/minidox/keymaps/khitsule/config.h b/keyboards/minidox/keymaps/khitsule/config.h @@ -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 diff --git a/keyboards/mint60/config.h b/keyboards/mint60/config.h @@ -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 diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h @@ -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 diff --git a/keyboards/niu_mini/config.h b/keyboards/niu_mini/config.h @@ -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 diff --git a/keyboards/novelpad/config.h b/keyboards/novelpad/config.h @@ -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 diff --git a/keyboards/noxary/268/config.h b/keyboards/noxary/268/config.h @@ -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 diff --git a/keyboards/ok60/config.h b/keyboards/ok60/config.h @@ -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 diff --git a/keyboards/omnikey_blackheart/config.h b/keyboards/omnikey_blackheart/config.h @@ -45,10 +45,6 @@ /* 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 diff --git a/keyboards/paladin64/config.h b/keyboards/paladin64/config.h @@ -110,8 +110,6 @@ 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 diff --git a/keyboards/pegasushoof/keymaps/citadel/config.h b/keyboards/pegasushoof/keymaps/citadel/config.h @@ -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 @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define PREVENT_STUCK_MODIFIERS - -#endif diff --git a/keyboards/planck/keymaps/altgr/config.h b/keyboards/planck/keymaps/altgr/config.h @@ -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 diff --git a/keyboards/planck/keymaps/am/config.h b/keyboards/planck/keymaps/am/config.h @@ -1,8 +1,5 @@ #pragma once -/* Prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - #ifdef AUDIO_ENABLE #define STARTUP_SONG SONG(PLANCK_SOUND) diff --git a/keyboards/planck/keymaps/andylikescandy/config.h b/keyboards/planck/keymaps/andylikescandy/config.h @@ -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 @@ -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 diff --git a/keyboards/planck/keymaps/davidrambo/config.h b/keyboards/planck/keymaps/davidrambo/config.h @@ -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 diff --git a/keyboards/planck/keymaps/dshields/config.h b/keyboards/planck/keymaps/dshields/config.h @@ -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 diff --git a/keyboards/planck/keymaps/espynn/keymap.c b/keyboards/planck/keymaps/espynn/keymap.c @@ -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. diff --git a/keyboards/planck/keymaps/experimental/config.h b/keyboards/planck/keymaps/experimental/config.h @@ -5,8 +5,6 @@ #define LEADER_TIMEOUT 300 #define BACKLIGHT_BREATHING -#define PREVENT_STUCK_MODIFIERS - /* ws2812 RGB LED */ #define RGB_DI_PIN B1 diff --git a/keyboards/planck/keymaps/experimental/rules.mk b/keyboards/planck/keymaps/experimental/rules.mk @@ -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 diff --git a/keyboards/planck/keymaps/hiea/config.h b/keyboards/planck/keymaps/hiea/config.h @@ -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 diff --git a/keyboards/planck/keymaps/hieax/config.h b/keyboards/planck/keymaps/hieax/config.h @@ -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 diff --git a/keyboards/planck/keymaps/ishtob/config.h b/keyboards/planck/keymaps/ishtob/config.h @@ -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 diff --git a/keyboards/planck/keymaps/jarred/config.h b/keyboards/planck/keymaps/jarred/config.h @@ -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 diff --git a/keyboards/planck/keymaps/jeremy-dev/keymap.c b/keyboards/planck/keymaps/jeremy-dev/keymap.c @@ -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" diff --git a/keyboards/planck/keymaps/kmontag42/rules.mk b/keyboards/planck/keymaps/kmontag42/rules.mk @@ -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 @@ -1,8 +0,0 @@ -#ifndef LAE3_KEYMAP_H -#define LAE3_KEYMAP_H - -#include "../../config.h" - -#define PREVENT_STUCK_MODIFIERS - -#endif diff --git a/keyboards/planck/keymaps/mitch/config.h b/keyboards/planck/keymaps/mitch/config.h @@ -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 } diff --git a/keyboards/planck/keymaps/mitch/readme.md b/keyboards/planck/keymaps/mitch/readme.md @@ -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. diff --git a/keyboards/planck/keymaps/narze/config.h b/keyboards/planck/keymaps/narze/config.h @@ -33,10 +33,9 @@ #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 @@ -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 diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h @@ -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 diff --git a/keyboards/planck/keymaps/sdothum/config.h b/keyboards/planck/keymaps/sdothum/config.h @@ -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 diff --git a/keyboards/planck/keymaps/steno/config.h b/keyboards/planck/keymaps/steno/config.h @@ -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 diff --git a/keyboards/planck/keymaps/tehwalris/config.h b/keyboards/planck/keymaps/tehwalris/config.h @@ -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: diff --git a/keyboards/planck/keymaps/vifon/config.h b/keyboards/planck/keymaps/vifon/config.h @@ -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 @@ -1,11 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define PREVENT_STUCK_MODIFIERS - -#endif - - - diff --git a/keyboards/planck/keymaps/zach/config.h b/keyboards/planck/keymaps/zach/config.h @@ -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 diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h @@ -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 */ diff --git a/keyboards/playkbtw/ca66/config.h b/keyboards/playkbtw/ca66/config.h @@ -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 diff --git a/keyboards/playkbtw/pk60/config.h b/keyboards/playkbtw/pk60/config.h @@ -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 diff --git a/keyboards/preonic/keymaps/bucktooth/config.h b/keyboards/preonic/keymaps/bucktooth/config.h @@ -4,6 +4,5 @@ #include "../../config.h" #define FORCE_NKRO 1 -#define PREVENT_STUCK_MODIFIERS #endif diff --git a/keyboards/preonic/keymaps/jacwib/config.h b/keyboards/preonic/keymaps/jacwib/config.h @@ -4,6 +4,5 @@ #include "../../config.h" #define FORCE_NKRO 1 -#define PREVENT_STUCK_MODIFIERS #endif diff --git a/keyboards/preonic/keymaps/kuatsure/rules.mk b/keyboards/preonic/keymaps/kuatsure/rules.mk @@ -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 @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define PREVENT_STUCK_MODIFIERS - -#endif diff --git a/keyboards/preonic/keymaps/zach/config.h b/keyboards/preonic/keymaps/zach/config.h @@ -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 diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h @@ -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 */ diff --git a/keyboards/prime_r/config.h b/keyboards/prime_r/config.h @@ -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 diff --git a/keyboards/rorschach/keymaps/insertsnideremarks/config.h b/keyboards/rorschach/keymaps/insertsnideremarks/config.h @@ -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 diff --git a/keyboards/s60_x/keymaps/bluebear/config.h b/keyboards/s60_x/keymaps/bluebear/config.h @@ -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 diff --git a/keyboards/s60_x/rgb/config.h b/keyboards/s60_x/rgb/config.h @@ -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 diff --git a/keyboards/s65_plus/config.h b/keyboards/s65_plus/config.h @@ -49,7 +49,4 @@ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) -/* prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - #endif diff --git a/keyboards/s65_x/config.h b/keyboards/s65_x/config.h @@ -49,8 +49,4 @@ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) - -/* prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - #endif diff --git a/keyboards/sx60/config.h b/keyboards/sx60/config.h @@ -46,10 +46,6 @@ 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 diff --git a/keyboards/telophase/config.h b/keyboards/telophase/config.h @@ -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 diff --git a/keyboards/tetris/config.h b/keyboards/tetris/config.h @@ -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 diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h @@ -3,7 +3,6 @@ #include QMK_KEYBOARD_CONFIG_H -#define PREVENT_STUCK_MODIFIERS #define SPACE_COUNT 3 #define TEMPLATE( \ diff --git a/keyboards/tokyo60/config.h b/keyboards/tokyo60/config.h @@ -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 diff --git a/keyboards/tomato/config.h b/keyboards/tomato/config.h @@ -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 diff --git a/keyboards/uk78/config.h b/keyboards/uk78/config.h @@ -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 diff --git a/keyboards/viterbi/keymaps/drashna/config.h b/keyboards/viterbi/keymaps/drashna/config.h @@ -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, \ diff --git a/keyboards/whitefox/config.h b/keyboards/whitefox/config.h @@ -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 @@ -0,0 +1 @@ +LEADER_ENABLE = yes diff --git a/keyboards/xd75/keymaps/davidrambo/config.h b/keyboards/xd75/keymaps/davidrambo/config.h @@ -20,7 +20,6 @@ #include "../../config.h" #define TAPPING_TERM 200 -#define PERMISSIVE_HOLD -#define PREVENT_STUCK_MODIFIERS +#define PERMISSIVE_HOLD #endif diff --git a/keyboards/xd75/keymaps/tdl-jturner/config.h b/keyboards/xd75/keymaps/tdl-jturner/config.h @@ -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 diff --git a/keyboards/xmmx/config.h b/keyboards/xmmx/config.h @@ -43,10 +43,6 @@ 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 diff --git a/keyboards/ymd96/keymaps/hgoel89/config.h b/keyboards/ymd96/keymaps/hgoel89/config.h @@ -3,7 +3,6 @@ #include "../../config.h" -#define PREVENT_STUCK_MODIFIERS #define TAPPING_TERM 300 #endif diff --git a/keyboards/z150_blackheart/config.h b/keyboards/z150_blackheart/config.h @@ -39,14 +39,10 @@ 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 diff --git a/keyboards/zeal60/keymaps/tusing/config.h b/keyboards/zeal60/keymaps/tusing/config.h @@ -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 - diff --git a/keyboards/zlant/config.h b/keyboards/zlant/config.h @@ -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 diff --git a/layouts/community/60_ansi/talljoe-ansi/config.h b/layouts/community/60_ansi/talljoe-ansi/config.h @@ -3,7 +3,6 @@ #include QMK_KEYBOARD_CONFIG_H -#define PREVENT_STUCK_MODIFIERS #define ENABLE_GAME_LAYER #define TEMPLATE( \ diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h @@ -3,7 +3,6 @@ #include QMK_KEYBOARD_CONFIG_H -#define PREVENT_STUCK_MODIFIERS #define ENABLE_GAME_LAYER #define TEMPLATE( \ diff --git a/layouts/community/60_hhkb/talljoe-hhkb/config.h b/layouts/community/60_hhkb/talljoe-hhkb/config.h @@ -3,7 +3,6 @@ #include QMK_KEYBOARD_CONFIG_H -#define PREVENT_STUCK_MODIFIERS #define ENABLE_GAME_LAYER #define TEMPLATE( \ diff --git a/layouts/community/ergodox/adam/config.h b/layouts/community/ergodox/adam/config.h @@ -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 diff --git a/layouts/community/ergodox/albert/rules.mk b/layouts/community/ergodox/albert/rules.mk @@ -1,3 +1,2 @@ COMMAND_ENABLE = no # Commands for debug and configuration - - +LEADER_ENABLE = yes diff --git a/layouts/community/ergodox/algernon/rules.mk b/layouts/community/ergodox/algernon/rules.mk @@ -8,6 +8,7 @@ TAP_DANCE_ENABLE = yes KEYLOGGER_ENABLE ?= yes UCIS_ENABLE = yes MOUSEKEY_ENABLE = no +LEADER_ENABLE = yes AUTOLOG_ENABLE ?= no diff --git a/layouts/community/ergodox/alphadox/config.h b/layouts/community/ergodox/alphadox/config.h @@ -4,7 +4,6 @@ #include QMK_KEYBOARD_CONFIG_H #define FORCE_NKRO -#define PREVENT_STUCK_MODIFIERS #undef TAPPING_TERM #undef IGNORE_MOD_TAP_INTERRUPT diff --git a/layouts/community/ergodox/deadcyclo/rules.mk b/layouts/community/ergodox/deadcyclo/rules.mk @@ -1 +1,2 @@ UNICODE_ENABLE = yes +LEADER_ENABLE = yes diff --git a/layouts/community/ergodox/erez_experimental/rules.mk b/layouts/community/ergodox/erez_experimental/rules.mk @@ -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 diff --git a/layouts/community/ergodox/familiar/rules.mk b/layouts/community/ergodox/familiar/rules.mk @@ -1 +1,2 @@ TAP_DANCE_ENABLE=yes +LEADER_ENABLE = yes diff --git a/layouts/community/ergodox/mclennon_osx/README.md b/layouts/community/ergodox/mclennon_osx/README.md @@ -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/). diff --git a/layouts/community/ergodox/techtomas/readme.md b/layouts/community/ergodox/techtomas/readme.md @@ -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 diff --git a/layouts/community/ortho_4x12/symbolic/config.h b/layouts/community/ortho_4x12/symbolic/config.h @@ -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 diff --git a/layouts/community/tkl_ansi/talljoe-tkl/config.h b/layouts/community/tkl_ansi/talljoe-tkl/config.h @@ -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 @@ -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 @@ -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 diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c @@ -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" diff --git a/quantum/quantum.c b/quantum/quantum.c @@ -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 diff --git a/quantum/quantum.h b/quantum/quantum.h @@ -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 diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h @@ -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 diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c @@ -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) diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h @@ -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 diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c @@ -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); } diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h @@ -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); diff --git a/users/333fred/333fred_config.h b/users/333fred/333fred_config.h @@ -1,4 +1,3 @@ #pragma once -#define PREVENT_STUCK_MODIFIERS #define PERMISSIVE_HOLD diff --git a/users/bocaj/config.h b/users/bocaj/config.h @@ -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 diff --git a/users/drashna/config.h b/users/drashna/config.h @@ -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 - - diff --git a/users/ishtob/config.h b/users/ishtob/config.h @@ -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 diff --git a/users/replicaJunction/config.h b/users/replicaJunction/config.h @@ -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 diff --git a/users/talljoe/config.h b/users/talljoe/config.h @@ -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 diff --git a/users/wanleg/config.h b/users/wanleg/config.h @@ -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 diff --git a/users/zer09/config.h b/users/zer09/config.h @@ -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