qmk_firmware/tmk_core/common
Sergey Vlasov 610035dce8
Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404)
* Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys

Implement an additional option for dual-role keys which converts the
dual-role key press into a hold action immediately when another key is
pressed (this is different from the existing PERMISSIVE_HOLD option,
which selects the hold action when another key is tapped (pressed and
then released) while the dual-role key is pressed).  The Mod-Tap keys
already behave in a similar way, unless the IGNORE_MOD_TAP_INTERRUPT
option is enabled (but with some additional delays); the added option
makes this behavior available for all other kinds of dual-role keys.

* [Docs] Update tap-hold docs for HOLD_ON_OTHER_KEY_PRESS

Document the newly added HOLD_ON_OTHER_KEY_PRESS option and update the
documentation for closely related options (PERMISSIVE_HOLD and
IGNORE_MOD_TAP_INTERRUPT).

Use Layer Tap instead of Mod Tap in examples for PERMISSIVE_HOLD and
HOLD_ON_OTHER_KEY_PRESS, because the effect of using these options with
Mod Tap keys is mostly invisible without IGNORE_MOD_TAP_INTERRUPT.

Add comments before return statements in sample implementations of
`get_ignore_mod_tap_interrupt()`, `get_hold_on_other_key_press()` and
`get_permissive_hold()`.

Thanks to @Erovia and @precondition for comments and suggestions to
improve the documentation.
2021-08-07 09:16:26 +10:00
..
arm_atsam Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:54:10 +00:00
avr Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:54:10 +00:00
chibios Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:54:10 +00:00
test Avoid name conflicts with usb_hid Arduino code (#13870) 2021-08-06 15:53:38 +10:00
action.c Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
action.h Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
action_code.h
action_layer.c Improve layer mask handling (#13065) 2021-07-03 00:19:52 -07:00
action_layer.h Improve layer mask handling (#13065) 2021-07-03 00:19:52 -07:00
action_macro.c
action_macro.h
action_tapping.c Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) 2021-08-07 09:16:26 +10:00
action_tapping.h Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
action_util.c [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
action_util.h
atomic_util.h
bootloader.h
eeconfig.c
eeconfig.h
eeprom.h
gpio.h
host.c Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
host.h
host_driver.h
keyboard.c
keyboard.h
keycode.h
pin_defs.h
progmem.h __flash? (#13799) 2021-07-31 14:35:30 +01:00
raw_hid.h
report.c
report.h
sleep_led.h
suspend.h
sync_timer.c Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) 2021-06-19 19:18:00 -07:00
sync_timer.h Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) 2021-06-19 19:18:00 -07:00
timer.h Merge remote-tracking branch 'upstream/master' into develop 2021-07-25 12:17:15 +10:00
usb_util.c Avoid LTO conficts on arm_atsam (#13676) 2021-07-24 12:13:06 +01:00
usb_util.h Avoid LTO conficts on arm_atsam (#13676) 2021-07-24 12:13:06 +01:00
virtser.h
wait.h