Replies: 1 comment 4 replies
-
Thank you for taking the time to think about this and dig through how it works. The following might be a bit technical but I am really interested in understanding your idea. To illustrate what information flies by ZipChord as we type, I just quickly wrote a short test in the debug version of ZipChord, and all I did was write (not nearly as fast as you can) without any chords: "That's amazing" You can look at the attached raw input.txt for reference. The test automation console is able to print this out in a more human-readable, summarizing the duration of either each isolated key, or of potential "chord" combinations where two or more keys overlapped for a period of time:
(In the attached file, you can see the absolute times, so you can also see the time in between presses, the time of key being pressed down and the key being released.) So even though I'm just typing, you can see in the raw text file I attached (and interpreted above) that I released the key ZipChord uses a few tricks to get the detection delay as short as possible: it normally does not allow chords in the middle of a word, so even though I was lazy lifting my fingers quickly enough at the end of "amazing" with a 78ms overlap of The other trick is to reject "rolls" -- so even though T overlapped with H at the start of the word and could trigger a chord if the detection delay was short (47 ms here), ZipChord knows not to do that because the 'roll' continued with A which overlapped with the H. Let me know if this helps and if you could rephrase the suggestion using the terminology of time stamps of key being pressed (KEY DOWN) and released (KEY UP), and potential free time between keys. You can also record your own example using the Debug feature on the About tab of the Developer version of ZipChord. |
Beta Was this translation helpful? Give feedback.
-
I may be misunderstanding, but it seems that a chord is determined to be a chord by measuring how long two or more keys were held at the same time?
Instead of using this to identify/rule out a chord, what do you think about measuring the time in between key presses? So if I chord
th
to where outputthe
, then the time in between the letter being pressed (t
h
) determine if it is a chord or not?The reason I mention it is because sometimes I do type very fast (or fast to some, ~125WPM) and trigger a chord when (how...How...How... like so hahah) I do not mean to. I'd rather not have to choose between "type fast" and "chord slow" (set detection delay to high) or "chord fast" and "type slow" (set detection delay to low).
Anyways, just nitpicking here and thinking. Obviously this tech has a lot of features and is usable and has lots of potential too!
Beta Was this translation helpful? Give feedback.
All reactions