mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 04:43:02 +00:00
Merge pull request #1098 from lambdalisue/tapping-force-hold
Add TAPPING_FORCE_HOLD to regulate behaviour
This commit is contained in:
commit
216f669276
@ -549,6 +549,9 @@ Layer switching with tap key:
|
||||
|
||||
[dual_role]: http://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
|
||||
|
||||
When user hold a key after tap, it repeat the tapped key rather to hold a modifier key.
|
||||
If you prefer to hold a modifier instead, define `TAPPING_FORCE_HOLD` in `config.h`.
|
||||
See https://github.com/qmk/qmk_firmware/issues/889 for the detail.
|
||||
|
||||
### 4.2 Tap Toggle
|
||||
This is a feature to assign both toggle layer and momentary switch layer action to just same one physical key. It works as momentary layer switch when holding a key but toggle switch with several taps.
|
||||
|
@ -228,6 +228,7 @@ bool process_tapping(keyrecord_t *keyp)
|
||||
if (WITHIN_TAPPING_TERM(event)) {
|
||||
if (event.pressed) {
|
||||
if (IS_TAPPING_KEY(event.key)) {
|
||||
#ifndef TAPPING_FORCE_HOLD
|
||||
if (!tapping_key.tap.interrupted && tapping_key.tap.count > 0) {
|
||||
// sequential tap.
|
||||
keyp->tap = tapping_key.tap;
|
||||
@ -237,11 +238,11 @@ bool process_tapping(keyrecord_t *keyp)
|
||||
tapping_key = *keyp;
|
||||
debug_tapping_key();
|
||||
return true;
|
||||
} else {
|
||||
// FIX: start new tap again
|
||||
tapping_key = *keyp;
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
// FIX: start new tap again
|
||||
tapping_key = *keyp;
|
||||
return true;
|
||||
} else if (is_tap_key(event.key)) {
|
||||
// Sequential tap can be interfered with other tap key.
|
||||
debug("Tapping: Start with interfering other tap.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user