> That establishes the fact that modern keyboards contribute to the latency bloat we’ve seen over the past forty years<p>Sometimes I try to imagine what things would be like if people were still trying to optimize their stuff as if it were to be ran on a 16mhz machine with a few kb of ram. Then I get back to the 6 electron apps I gotta work with, where latency between a key showing up in the search box and search results appearing gets close to 10s.<p>Somehow things got wrong somewhere.
I'm surprised by the section on including key travel time in the latency measures. Wasn't the Apple 2 keyboard about comparable in travel distance and resistance to today's typical mechanical keyboard switches?<p>I still can't find it in me to like the Apple Magic keyboard because I feel like my fingers are smashing into a metal plate hundreds of times a minute. That's a me problem though and others just have better form.<p>Now I'm curious about the latency of the stuff I've put on teensys in my own custom keyboards/controllers and will need to resist the urge to go shopping for a scope.<p>Also wondering how much PS/2 vs USB matters.
Seeing this again makes me want to dig out the sketches I had for a FPGA-based keyboard controller. There's no poll latency when nothing is polled! (Okay, okay, there's a few clocks.)<p>The trouble with that project was always that I hate prototyping with BGAs, having to deal with carrier boards sucks, and all the QFP or similar FPGAs were limited to 144 pins, which is just not quite enough for 108 keys given the number of other demands for I/Os, and the number of I/Os you actually get on a 144-lead package.<p>I wasn't much looking forward to dealing with the USB either (I seem to remember it would require at least a small softcore?) but at least there's plenty of open or vendor implementations there to "borrow".<p>If anyone wants to rip this off, go right ahead as long as you let me know... this controller was only one piece of a larger idea, and I love it when people do my job for me :)
In case anyone is wondering about the keyboard prices, i looked through the list and also looked up the unavailable ones on the Internet. Here's their current prices at a glance, in USD:<p><pre><code> Keyboard Latency Connection Price (USD)
chinfai silicone 35 USB FS 17
genius luxemate i200 55 USB 21
logitech k360 60 unifying 25
logitech k120 30 USB 29
easterntimes i500 50 USB FS 31
razer ornata chroma 35 USB FS 59
MS comfort 5000 40 wireless 71
kinesis freestyle 2 30 USB FS 89
apple magic (usb) 15 USB FS 99
das 3 25 USB 101
unicomp model M 30 USB FS 104
hhkb lite 2 20 USB FS 112
pok3r vortex 30 USB FS 129
filco majestouch 30 USB 129
topre type heaven 55 USB FS 149
olkb planck rev 4 40 USB FS 169
kinesis advantage 50 USB FS 319
ergodox 40 USB FS 354
MS natural 4000 20 USB 399
</code></pre>
Personally, i have a Logitech K120 at home as a backup keyboard, and as far as membrane keyboards go, it's a solid and affordable choice. I'm not sure whether it's regional differences or something else, but i got my keyboard for about 10-15 euros. I guess the fact that it's extremely "boring" also adds to the charm, at least when compared to designs like Logitech K360.<p>Also, i wish i could vouch for the Unicomp Model M keyboards, however shipping one to Europe would almost cost me as much as the keyboard itself and i'm currently not sure i can exactly afford to splurge like that. Regardless, have a look at their site, they're essentially carrying on with the legacy of IBM Model M keyboards in a way: <a href="https://www.pckeyboard.com/" rel="nofollow">https://www.pckeyboard.com/</a><p>From what i've seen while occasionally visiting their site, they also seem to introduce some new varieties occasionally. From what i've heard, those keyboards aren't exactly ideal for gaming (a regular mechanical keyboard might be better there), but are really good for typing because of their buckling spring design. LinusTechTips also had a video on the Model M keyboards a while ago: <a href="https://www.youtube.com/watch?v=D7wmMZmMinM" rel="nofollow">https://www.youtube.com/watch?v=D7wmMZmMinM</a>
I've been thinking about building a new PC, mostly for development (if the budget allows also for a bit of gaming), and was wondering what components to pick to reduce latency and to get a satisfying feeling of "immediacy". Like when I first got an SSD and apps started instantly. Or when I got my first > GHz PC and optical mouse, and the cursor moved so smoothly it was uncanny.<p>For input to screen latency, I think wired keyboard and mouse would be important. For "instant app opening" a recent CPU and enough RAM, and a NVME SSD. But beyond that I'm not sure. Does anybody have any recommendations or tips? Does a 140 Hz or G-Sync monitor help? Are there any pitfalls (I've heard anecdotically that some CPU power saving states can cause micro-stutter)?
Well, that's why I'm holding on to my decades old Cherry PS/2 keyboard. No polling, no latency, no ghosting, no key rollover issues.
Unfortunately the PS/2 port is becoming rare, I'm limited to MSI for my upcoming AMD B550 motherboard because it's the only brand that offers it on a nicely specced ATX board.
More up to date keyboard latency tests:<p><a href="https://www.rtings.com/keyboard/tools/table/61322" rel="nofollow">https://www.rtings.com/keyboard/tools/table/61322</a>
Michael Stapelberg has a few interesting blog posts about keyboard input latency.
His latest is at <a href="https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/" rel="nofollow">https://michael.stapelberg.ch/posts/2021-05-08-keyboard-inpu...</a>
I recently switched to Ergodox keyboard and was wondering about latency since it felt like the keyboard had lag, but I attributed it to learning period.<p>I was like - no way this is happening, since Ergodox is using USB cable whereas I used Apple's keyboard before. This seems to confirm my feeling.<p>Interestingly, I think that it's highlighted the most in Slack which is slow enough bloatware to have a lot of latency already and those extra milliseconds just add up. The simpler the editor the smaller the impact I think.
I just want to chime in and say that at with my personal computer setup I was not able to recreate these findings at all. I was getting keypress to character latencies of around 30ms in Windows gVim as measured by averaging multiple runs w/ a 240Hz camera. I don't even think I have a particularly low latency setup as I'm using an eGPU.
I'm surprised that he includes the key travel time. If a keyboard maker claims low latency, I assume they mean from the point when the switch actuates, not when the keypress starts. It seems like he is mostly measuring travel distance and actuation point position, which are things you can find out without a high speed camera.
2017 cheap keyboards, interesting the difference in latency rating between his setup and rting's<p><a href="https://www.rtings.com/keyboard/reviews/razer/ornata-chroma" rel="nofollow">https://www.rtings.com/keyboard/reviews/razer/ornata-chroma</a>
A related issue: this article measures the latency of a large selection of terminal emulators, with interesting results: <a href="https://lwn.net/Articles/751763/" rel="nofollow">https://lwn.net/Articles/751763/</a>
A repeat of my 2017 post for the original article.<p>The issue not mentioned in the article is number of lines on the keyboard matrix used to detect keypresses. Cheaper non-gaming keyboards can only detect up to 4 simultaneous keystrokes. Gaming keyboards can detect up to 6. That may not sound like a significant difference, but if you're moving diagonally (eg. W and D), running (Shift), holding an item (or use) (E) and jumping (space), that is 5 keys which need to be processed. Moving from my older Gaming keyboard to a generic Logitec keyboard, and I was no longer able to run diagonally in FIFA games while doing trick moves. So the non gaming keyboard made me stop playing that game.
I guess it wouldn't work with the lab setup, but it'd be interesting to see how various laptop keyboards factor in. My one here has very short travel (similar to a apple magic keyboard) and is the ribbon cable to motherboard connection going to be quicker than USB?<p>I'm dubious about the accuracy of their lab setup though. From the write up - "The start-of-input was measured by pressing two keys at once -- one key on the keyboard and a button that was also connected to the logic analyzer." that seems like a very week point in what is otherwise a great experiment although they do state "The median jitter was < 1ms" which surprises me.
i once was in an environment where keystrokes for everyday applications, like, windows instant messenger clients, traveled through three states with hundreds of millis of latency. i complained that this would make everyone slow and crazy. they didn't like the complaints and pushed back. i think they should have fixed it instead.
Does anyone else experience massive latency with Apple's keyboard/case for iPad Pro? Mine is unusable in Pages (better in Notes), and often the first keystroke is missed, regardless of which app I'm in. Super annoying defect in an otherwise enjoyable keyboard.
>keyboards are often more powerful than entire computers from the 70s and 80s!<p>That's interesting. Has anyone hacked a keyboard? It sounds like a very interesting project.
Awhile ago there was a submission and discussion on HN looking at the latency between a keystroke and something appearing on screen through the layers of OS and application, but I can't find it, anyone?<p>And I thought human reaction time was 100-200ms+ anyway Or would training on a particular game/movement sequence improve that.
This has been posted here a few times, but one interesting exception is what systems these were tested on. The author prefaces their analysis by comparing a mysterious 'Kaby Lake' system with their Mac, then proceeds to crown the Apple HID as the winner.<p>An easy way to cook the results would be to test the Apple peripheral on a Mac and run everything else on your Windows desktop. Frankly, the BSD I/O stack will destroy the one on Windows any day, so it would stand to reason that it might be more of a software bottleneck than a hardware one.<p>I'm not accusing them of getting anything wrong though, I simply assume they aren't withholding any important testing info.