qmk/qmk_firmware

[Bug] SH_T Swap-hands action produces extra tap depending on timing

Open

#24,410 opened on Sep 19, 2024

View on GitHub
 (8 comments) (0 reactions) (0 assignees)C (43,867 forks)batch import
bughelp wanted

Repository metrics

Stars
 (20,368 stars)
PR merge metrics
 (Avg merge 20d 9h) (27 merged PRs in 30d)

Description

I have r key mirrored to i. Quick SH_T(KC_SPC) + r combination results in i while doing it slowly results in i as expected. Logs below contain both cases in order.

ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0305d(21482)
ilikeheaps:plyboard:1: Tapping: Start(Press tap key).
ilikeheaps:plyboard:1: TAPPING_KEY=0305d(21482):0 
ilikeheaps:plyboard:1: processed: 0305d(21482):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0102d(21553)
ilikeheaps:plyboard:1: waiting_buffer_enq: { [7]=0602d(21553):0  }
ilikeheaps:plyboard:1: ---- action_exec: process waiting_buffer -----
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0305u(21590)
ilikeheaps:plyboard:1: Tapping: First tap(0->1).
ilikeheaps:plyboard:1: TAPPING_KEY=0305d(21482):1-
ilikeheaps:plyboard:1: ACTION: ACT_SWAP_HANDS[0:2C] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 2C 00 00 00 00 00 
ilikeheaps:plyboard:1: waiting_buffer_enq: { [7]=0602d(21553):0  [0]=0305u(21590):1- }
ilikeheaps:plyboard:1: ---- action_exec: process waiting_buffer -----
ilikeheaps:plyboard:1: Tapping: key event while last tap(>0).
ilikeheaps:plyboard:1: ACTION: ACT_LMODS[0:0F] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 2C 0F 00 00 00 00 
ilikeheaps:plyboard:1: processed: waiting_buffer[7] =0602d(21553):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: Tapping: Tap release(1)
ilikeheaps:plyboard:1: ACTION: ACT_SWAP_HANDS[0:2C] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 00 0F 00 00 00 00 
ilikeheaps:plyboard:1: TAPPING_KEY=0000u(0):0 
ilikeheaps:plyboard:1: processed: waiting_buffer[0] =0000u(0):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0102u(21626)
ilikeheaps:plyboard:1: ACTION: ACT_LMODS[0:0F] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 00 00 00 00 00 00 
ilikeheaps:plyboard:1: processed: 0602u(21626):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0305d(23288)
ilikeheaps:plyboard:1: Tapping: Start(Press tap key).
ilikeheaps:plyboard:1: TAPPING_KEY=0305d(23288):0 
ilikeheaps:plyboard:1: processed: 0305d(23288):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: Tapping: End. Timeout. Not tap(0): 0000u(23488)
ilikeheaps:plyboard:1: ACTION: ACT_SWAP_HANDS[0:2C] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: TAPPING_KEY=0000u(0):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0102d(23572)
ilikeheaps:plyboard:1: ACTION: ACT_LMODS[0:0F] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 0F 00 00 00 00 00 
ilikeheaps:plyboard:1: processed: 0602d(23572):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0102u(23798)
ilikeheaps:plyboard:1: ACTION: ACT_LMODS[0:0F] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: keyboard_report: 00 | 00 00 00 00 00 00 
ilikeheaps:plyboard:1: processed: 0602u(23798):0 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: 
ilikeheaps:plyboard:1: ---- action_exec: start -----
ilikeheaps:plyboard:1: EVENT: 0305u(23843)
ilikeheaps:plyboard:1: ACTION: ACT_SWAP_HANDS[0:2C] layer_state:  default_layer_state: 
ilikeheaps:plyboard:1: processed: 0305u(23843):0 

Contributor guide