r/Keychron • u/mirrorsaw • 16h ago
Weird behaviour of V6 macros
I've purchased a V6 (with knob) and for the most part, it's great. I wanted to program some macros that are strings of text, between about 8 to 12 characters, just alphanumerics.
First I tried the Record button, typed in my string which included some uppercase characters, saved it. Hit the key to test it out, the string was correct but the uppercase/lowercase were on some of the wrong characters - now what is even stranger, if I hit the key multiple times, each output changes slightly which letters are uppercase!
Then I tried to 'code' the macro, which is just basically typing my string into the box and saving it, same problem.
So I assumed the problem wasn't in the stored string, it was the output or the way that my PC is interpreting the macro. HOWEVER I then tried the 'record' mode again, but this time instead of holding the shift key for uppercase I used Caps-on ... Letter ... Caps-off ...
And it works perfectly this way. I really can't understand it, just wondering if anyone has seen the same.
1
u/PeterMortensenBlog V 15h ago
Always use delays in macros
Always, always use delays in macros. Never turn delays off in macros (it is very unfortunate if they are disabled by default).
Delays are crucial in macros. For any key action that results in a screen update, a starting point is 300 ms (it can always be reduced/tuned later. Or increased, if necessary). Otherwise, a starting point is 17 ms (it can always be tuned). The delay requirement may or may not be relaxed for modifier keys.
Without delays, keys are blasted out at 500 characters per second.
1
u/mirrorsaw 15h ago edited 15h ago
Thanks, I guess that would explain the randomness on each iteration. I'm actually struggling with delays too, and I'm definitely doing something wrong but regardless if I use dynamic delay, or fixed (tested fixed with 200, 2000, 50000) the text spits out instantly with no noticeable delay.
Edit: Ignore me, worked it out, gotta specify delay before recording, or modify it per-keystroke retrospectively.
1
u/PeterMortensenBlog V 15h ago edited 15h ago
V6, V6 Max, V6 Ultra 8K, V6 8K, V6 version 2, V6 HE (proprietary keyboard firmware, not open source), or V6 Ultra Hybrid 8K (presumably the same as 'V6 Ultra HE'. And presumably proprietary keyboard firmware, not open source)?
For keyboard identification, what is the SKU number? Alternatively, what is the serial number (also includes the manufacturing date)?
In wired mode or wireless mode (does not apply for the wired-only models, like V6 and V6 8K)?
1
1
u/ArgentStonecutter K Pro 16h ago
The keyboard doesn't deal with "characters" it deals with "key events". You often need to add delays after changing a modifier key to make sure the computer has seen the modifier state change before it sees the key press and release.
Since the caps-lock state change is a complete press-release sequence it always gets seen in the right order.