Replies: 2 comments
-
https://github.com/jtroo/kanata/blob/main/docs/config.adoc#tap-hold |
Beta Was this translation helpful? Give feedback.
0 replies
-
As gerhard-h said, there is documentation on the matter. Something you didn't mention is that timing matters. You can also test in the simulator. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I'm new and would love to gain some insight /understanding.
I've read that kanata was inspired by kmonad, but to allow differences with monad over timing/ sequencing logic.
I'm not familiar with either, but, I had read the code for dual.ahk (it is a no longer supported project, using AHK) ,and so aware of the level of complexities that arise supporting sequences of dual mode keys.
Let's say, for ease of understanding,
S was a key for s when tapped, but Shift when held down;
C was a key for c when tapped, but Ctrl when held down;
A was a key for a when tapped, but Alt when held down;
I assume "held down" certainly could mean not just held down while another key is pressed but also with a small activation delay, for the key to "activate"/"transition"/"switch" to become a modifier key, unrelated to its first role, but at the same time, with fast typing, at least "shift" should not require a long delay, and a "numeric" or "symbol" layer should also be very quick to access.
If I would aim to type "scan" quickly, but not slowly enough to activate such explicitly delayed alternative modes. If I would press down the keys in the order S C A N, but I might release in any arbitrary different order, as in fast typing. I would expect that :
a. Pressing N would force the question, what the other not yet activated keys represent. They could be expected to represent the pressed-down keys with an intent to print the face value keys, therefore, "scan" should be produced immediately , but therefore, the ambiguity in the previous keys potential meaning has now been decided once and for all, and further holding, and later releasing, the previous keys should then both do nothing.
b. Releasing A, before releasing S or C, should produce A, owing to the dual role, and therefore decide the status for S and C to produce "sca" , and therefore holding or releasing S or C later , should do nothing.
c. Likewise , releasing C before releasing S would produce SC, and either holding orreleasing S later would do nothing.
Consider SCC'S' and SC'S'C' (where ' means key up, as in the Rubik cube notation lol ),
If there was no activation delay for S, but there was for C.
Does/ should SCS'C' immediately produce C (based on S unambiguous and C going down, but violating C's otherwise ambiguous dual status ), or, c , based on C still being down, when C is supposed to be maintaining its potential as a modifier key if only held down long enough, occurring after S is out of the picture. Ie. the S "dominates" C
Beta Was this translation helpful? Give feedback.
All reactions