My question:
What is different in how the UHK firmware produces keystrokes between the write
and tapKeySeq
commands?
Background:
Let’s configure three macros:
fn1-mhantsch:
suppressMods tapKeySeq m h a j f d c h
fn2-mhantsch:
suppressMods write mhajfdch
fn3-mhantsch:
I have bound these macros to fn
+1
, fn
+2
, and fn
+3
.
In $onInit
, I have set:
set keystrokeDelay 30
All three macros produce the same result when used directly with a Windows laptop. They type my username mhantsch
on a Colemak keyboard (using weird letters because of reverse Colemak translation).
Now, I have activated home-row mods using Kanata on my Windows host. Amongst other things, Kanata analyses the timing of key-presses and -releases to figure out whether I am intending to activate mods (secondary), or type letters (primary).
When I use the macros to type my username, some macros trigger homerow mods. Fine, I might expect that. But they are not activated for the macro that uses tapKeySeq
. Why is that different? fn
+1
types the word mhantsch
fine. The other two macros type a few characters and also start popping up menu items or dialogues, so they clearly activate some Ctrl or Alt combinations.
This leads me to my question:
What is different between write
and tapKeySeq
how the UHK firmware produces keystrokes? There must be a subtle timing difference.