The timing of the input itself doesn't vary, but the timing of the visual feedback does. I like a fast 60Hz autorepeat, and I rely on visual feedback for precise positioning (I find this has lower cognitive load than Vim style character/word/line/etc counting). If the terminal is displaying at 40fps then some separate inputs will be merged and displayed at the same time. And if you like 30Hz autorepeat, instead of consistent 2 frames per input, you get a mixture of 1 to 3 frames per input depending on how the cycles line up. It makes it much harder to hit the exact character you want if you're using autorepeat for navigation.
Ideally the terminal should have MPV-style motion interpolation for supporting keyboard repeat rates that aren't an integer multiple of the display's refresh rate.
> I like a fast 60Hz autorepeat, and I rely on visual feedback for precise positioning (I find this has lower cognitive load than Vim style character/word/line/etc counting).
I thought I was the only one who turned the key repeat way up and then navigated things by moving one line/character at a time really fast! I've always felt a bit guilty about this due to feeling like I'm just too lazy to get used to using more typical navigation, but "preferring lower cognitive load" sounds like a more more positive spin on it.
I have slowly, over the course of 20 years moved to holding down movement keys to trying (and not always succeeding) to remember to use forward and backward search to jump around to the string I am moving to.
I think it's the "right thing to do" but it's hard to not just hold down 'k' ...
But I acknowledge there's a general problem with the slow screen refresh rates we have. What are people doing if they want an ergonomic FPS shooter, or a video decoder that must decode videos with arbitrary video and audio rates? Probably ignore the problem and drop a frame here and there.
Ideally the terminal should have MPV-style motion interpolation for supporting keyboard repeat rates that aren't an integer multiple of the display's refresh rate.