Allow mod-tap hold action on one shot layer (#19214)
This commit is contained in:
parent
24adecd922
commit
0f5500182c
2 changed files with 254 additions and 1 deletions
|
@ -350,7 +350,12 @@ void process_action(keyrecord_t *record, action_t action) {
|
|||
#ifndef NO_ACTION_ONESHOT
|
||||
bool do_release_oneshot = false;
|
||||
// notice we only clear the one shot layer if the pressed key is not a modifier.
|
||||
if (is_oneshot_layer_active() && event.pressed && (action.kind.id == ACT_USAGE || !IS_MOD(action.key.code))
|
||||
if (is_oneshot_layer_active() && event.pressed &&
|
||||
(action.kind.id == ACT_USAGE || !(IS_MOD(action.key.code)
|
||||
# ifndef NO_ACTION_TAPPING
|
||||
|| (tap_count == 0 && (action.kind.id == ACT_LMODS_TAP || action.kind.id == ACT_RMODS_TAP))
|
||||
# endif
|
||||
))
|
||||
# ifdef SWAP_HANDS_ENABLE
|
||||
&& !(action.kind.id == ACT_SWAP_HANDS && action.swap.code == OP_SH_ONESHOT)
|
||||
# endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue