-
@getreuer , thank you so much for this contribution. QMK really missed a native positional check. I just wanted to clarify something about how Chordal Hold works : Let's say I press SFT_T(KC_A), then press and release KC_C, then release SFT_T(KC_A) (before the tapping term). Both keys are on the same side. If I understand the doc correctly, SFT_T(KC_A) is settled as tapped as soon as KC_C is pressed. Same exemple with CTL_T(KC_C) instead of KC_C. In this case, if I understood your PR, SFT_T(KC_A) will be settled as tapped when CTL_T(KC_C) is released. Am I correct ? I tried to read action_tapping.c, but I'm not skilled enough yet ! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
You're welcome, I appreciate it! =) Yes, you are correct on both scenarios. It does get complicated when multiple tap-hold keys are involved, as in the latter scenario. If you're interested in a full description, see this PR comment where I formulated the set of rules that Chordal Hold implements.
Yeah, action_tapping.c is awfully complicated, unfortunately. IME the best way to work with it is to enable console debugging and add |
Beta Was this translation helpful? Give feedback.
-
Thank you for your answer and your advice. That's perfect, I gonna try Chordal Hold ASAP ! |
Beta Was this translation helpful? Give feedback.
You're welcome, I appreciate it! =) Yes, you are correct on both scenarios.
It does get complicated when multiple tap-hold keys are involved, as in the latter scenario. If you're interested in a full description, see this PR comment where I formulated the set of rules that Chordal Hold implements.
Yeah, action_tapping.c is awfully complicated, unfortunately. IME the best way to work with it is to enable console debugging and add
#define ACTION_DEBUG
to config.h. Then you'll get verbose debug logging of what the action_tapping code is doing in real time as you use the keyboard.