-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
achordion behaviour with layer taps #13
Comments
I did some more experimentation and one difference I see between achordion on and off is, I believe, when I press the mod key, then the second key, then release the mod key, then release the second key (maybe all within tapping term, not sure). In the logs, without achordion this looks like:
with the mod key in row 03 and second key in row 09. With achordion:
So with achordion it results in a press of the second key only, without achordion it results in the layer switched version of the second key. As for the difference between MT and LT, I'm not sure, it's subtle. However, I noticed that when I enable HOLD_ON_OTHER_KEY_PRESS, the difference is very obvious. With achordion, pressing two MT keys on the same hand rapidly results in achordion kicking in with both normal characterr as output. But when the first key is a LT key and the second a MT key, it results in only the normal mode output of the second key with the first key neither being output nor getting their hold layer switch triggered. Maybe a similar difference is what is tripping me up without HOLD_ON_OTHER_KEY_PRESS enabled. Settings:
Layout: https://github.com/bschwehn/qmk_firmware/tree/master/keyboards/moonlander/keymaps/custom and https://github.com/bschwehn/qmk_firmware/tree/master/keyboards/cantor/keymaps/custom |
Without HOLD_ON_OTHER_KEY_PRESS set and PERMISSIVE_HOLD and IGNORE_MOD_TAP_INTERRUPT set, I type a sequence: I see that when the sequence is started with an MT key, process_record_user is triggered in between key2 press and key1 release:
But when the sequence is started with an LT key, process_record_user is triggered later, after key1 release:
Not sure yet why that is, but for now it does not look this is caused by achordion. |
qmk/qmk_firmware#17281 seems to fix my issue :) |
Thanks for the report, detailed logging, and the pointer about qmk/qmk_firmware#17281! It sounds like you have already have this resolved, but if not, a couple other things worth checking:
|
Thanks for the additional hints! I tried your layout (with the minimal changes required to make it run on my keyboard), and I /think/ I don't see the difference in MT and LT. I'm not 100% sure, as the layout is quite different, so maybe I just cannot reproduce the way I type on my normal layout. And it is possible that I just type in a particularly sloppy way on my normal layout... I then tried moving my layout closer to yours (changing my config.h, rules.mk and process_record_user to closer match yours), but so far no luck, I still see the difference in MT vs LT without applying the patch. I'm curious why there seems to be a difference. If I can figure it out, I will let you know. Until then, I have it working now in a way I like, so I'm quite happy, thanks again for sharing those libraries! |
Hi, first thanks for the extensions you developed and shared. Other than achordion I use layer lock and caps word, it's really nice!
With achordion I have a behaviour which I don't like and am not sure what is causing it. It works great for my home row mods (MT(MOD_LSFT, KC_S) and so on), but less so for the layer taps (LT(1,KC_COMMA) and so on).
For example, I have comma ',' set up to switch to a special character layer. When I press and hold ',' it switches to the layer and if I then press 'a', I get a colon ':'.
Even if I override
achordion_chord
to always return true, I get the following behaviour when I press ',' and 'a' quickly (and the behaviour is different compared to when I press the home row mod shift and another key quickly):achordion_chord
returns true?Do you have an idea why that may be and if there is a way to make the layer taps behave the same way as the mod taps? I couldn't figure it out from reading the code. No worries if you don't have an immediate idea, I can try and do some debugging when I have some time, maybe it's an interaction with some of my other config.
Thanks,
Ben
The text was updated successfully, but these errors were encountered: