summaryrefslogtreecommitdiff
path: root/quantum/action.c
diff options
context:
space:
mode:
authorIlya Zhuravlev <whatever@xyz.is>2023-12-16 10:48:34 -0600
committerIlya Zhuravlev <whatever@xyz.is>2023-12-16 10:48:34 -0600
commit66574eb854c5ac48d06fdd767c895e42908af20b (patch)
tree3cc9e54e8fa266c2a14f5966af19885e981fb62e /quantum/action.c
parente49053731e4db354ace3369348f39832693d657e (diff)
parent9874d78da30997023fc07d4c057a7dc4a3ba24dc (diff)
Merge remote-tracking branch 'qmk/master' into merge-2023-12-16
Diffstat (limited to 'quantum/action.c')
-rw-r--r--quantum/action.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/quantum/action.c b/quantum/action.c
index 62016b9d03..677a26d5a1 100644
--- a/quantum/action.c
+++ b/quantum/action.c
@@ -375,7 +375,7 @@ void process_action(keyrecord_t *record, action_t action) {
if (is_oneshot_layer_active() && event.pressed &&
(action.kind.id == ACT_USAGE || !(IS_MODIFIER_KEYCODE(action.key.code)
# ifndef NO_ACTION_TAPPING
- || (tap_count == 0 && (action.kind.id == ACT_LMODS_TAP || action.kind.id == ACT_RMODS_TAP))
+ || ((action.kind.id == ACT_LMODS_TAP || action.kind.id == ACT_RMODS_TAP) && (action.layer_tap.code <= MODS_TAP_TOGGLE || tap_count == 0))
# endif
))
# ifdef SWAP_HANDS_ENABLE
@@ -494,7 +494,7 @@ void process_action(keyrecord_t *record, action_t action) {
default:
if (event.pressed) {
if (tap_count > 0) {
-# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
+# ifdef HOLD_ON_OTHER_KEY_PRESS
if (
# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
get_hold_on_other_key_press(get_event_keycode(record->event, false), record) &&
@@ -922,7 +922,7 @@ __attribute__((weak)) void register_code(uint8_t code) {
// Force a new key press if the key is already pressed
// without this, keys with the same keycode, but different
// modifiers will be reported incorrectly, see issue #1708
- if (is_key_pressed(keyboard_report, code)) {
+ if (is_key_pressed(code)) {
del_key(code);
send_keyboard_report();
}