pinchord-12 Serial Mods
Pinchord · pinchord.git · Tickets · Changelog
A Pinchord Ticket (Open):
Ticket · History
Symptom
Pinchord has had pinchord-4 Mods, but it has no way hold down mods, for things like holding control and dragging. This is quite an essential thing for a lot of applications, and a lot of people.
The only options right now are to either disable Pinchord and use another layer in QMK/Javelin, to use an extra row of keys for mods, if your board has one, or to keep another keyboard around and use its mod keys. None of these are particularly appealing options.
Potential Solution
The Plover HID protocol sends all keys as they're pressed, unlike say the Gemimi PR protocol, which send the entire stroke after all keys have been released.
Similarly, the keyboard protocol also gets key presses and releases, and a custom version of it (and the Plover HID protocol) could check whether a certain stroke is being held down at the current moment. This would allow you to check whether the mod stroke is held down, and start pressing the mod.
Questions
- If you start holding the control stroke, then release it the
Akey, then press theOkey to start holding shift, and then pressTand release the stroke, what should get sent out? Control+shift+t, or just shift+t? - How do you actually send these key ups and downs, I don't think plover has a way to do that.
Notes
- You can hack the
parse_key_combofunction to skip sending key releases and only send key presses. - If releasing one of
AOIUreleases that modifier, then sending a stroke likeTWRATfor control+t might have you releaseAbeforeT, causing you to press and release control, and then press and release control t, when you only meant to do the latter. For this reason, I don't think releasing keys can work. You should also releaseTWRand do the whole pressing and releasing as a unit. This also reflects the behavior of not having first up chord send on, which most people don't (it's off by default). I think it would also work better with first up chord send on, where releasing keys would cause the entire stroke to be released?
See also pinchord-35 One-handed Mods