1. 44
  1.  

  2. 9

    It turns out the machines that feel quick are actually quick, much quicker than my modern computer – computers from the 70s and 80s commonly have keypress-to-screen-update latencies in the 30ms to 50ms range out of the box, whereas modern computers are usually in the 100ms to 200ms range.

    This makes me sad.

    Updated to add: if the original author is reading this, I have some 1990s Models M and a modern Unicomp (Model M remake built by the original IBM contractor) and I’d be really interested in seeing how they compare. I am in NYC and would be happy to lend them to you. But your “please contact me” link goes to Twitter (of which I am not a member), so please e-mail me if you are interested.

    1. 3

      For the 90s keyboards, you might want to measure the latency coming out of the original interface, then as it goes through a PS/2->USB converter (or in my case, an AT->PS/2->USB converter).

      1. 1

        Heh. I used a single “Windows 98 ready!” Logitech NewTouch ergo keyboard with an integrated touchpad for the bulk of my career, taking it with me from job to job. Best keyboard feel I ever found, and completely indestructible. I can’t speak to its latency, but its longevity was legendary – six jobs, sixteen years, and who knows how many lines of code.

        The series of keyboard connectors that I had to use to keep it running got pretty ludicrous though, and I remember that a crummy ps/2 to usb converter did seem to change how responsive the keyboard felt. It was worth it to suffer the return line at Fry’s to find good ones.

      2. 2

        Models M

        Thank you for your proper pluralization.

      3. 7

        The Planck in the data table is mine, running the standard qmk firmware with a custom keymap. I told Dan that if he’d like to modify it for latency I’d be happy to flash it, but I don’t think it’s too likely to happen.

        1. 3

          The latency measurements are the time from when the key starts moving to the time when the USB packet associated with the key makes it out onto the USB bus.

          Well that’s not very reasonable. That will massively privilege short-throw keyboards (as we observe with the truly atrocious Apple desktop keyboard getting the shortest latency number). The same measurement applied to one of the systems the author likes will surely make it look bad, as key travel on e.g. a Model M or an Apple II keyboard is long for modern keyboards (and the Model M in particular is incredibly heavy).

          They do go on to mention this:

          This is because, as a human, you don’t activate the switch, you press the key.

          I would argue pretty strenuously that, in fact, neither of those is accurate. When you’re in the flow of typing, the keypress latency is bundled into all the other latencies your brain deals with and heavily compensated. (Keep in mind, the minimum latency for a nerve signal to travel from brainstem to fingertip is in excess of 15ms. In practice, the brainstem and spine aren’t just dumb transmission media, so it’s certainly longer.) “You” are neither pressing keys nor activating switches; you’re typing.

          When you’re not in the flow, a brain-mediated reflexive response (e.g. any learned behavior) takes on the order of 300ms, so the extra 10ms from key travel is totally irrelevant.

          Not only that, but it’s not unheard of for people to consciously press the key and not activate the switch. Depending on pressure profiles, there might be a great deal of slack between “key begins moving” and “switch activates”, and when preparing for a carefully-timed keypress, users will take up some of that slack in preparation.

          Ultimately, the relevant latency number is for the loop from cortex through hindbrain, nerves, keyboard, computer, display, eyes, back to cortex, which is obviously both subjective and nigh-impossible to measure. So measure the objective parts—switch closure through pixel activation (though the latter is a gradual, albeit typically fast, process as well) and minimize those. Many of them are certainly much worse than they should be (e.g. John Carmack’s angry monitor latency tweet).

          1. 2

            The author suggests that many people have and will argue cognitive things and minimum human latencies such as this (appendix: counter arguments). Do you have citations supporting these claims?

            1. 1

              The numbers I use are trivially derived. The fastest nerve signals travel on the order of 100 m/s; given a fintertip-to-base-of-skull distance of 1.5m, that’s 15ms propogation delay. (That distance is probably a little long. I didn’t actually take a tape measure to myself to estimate it.) Reflex delays are well-measured as well. I can dig up a citation if you want, but I’d consider that common knowledge.

              Assuming you’re referring to the “humans can’t notice 100ms or 200ms latency” section, the author is absolutely right and I’m not disputing any of that. People are completely capable of noticing 100ms latency (note that “notice” is not the same as “react to”). I suspect people can reliably detect 30ms latency. To be clear, I’m totally behind the author’s central thesis; I’m just disagreeing that key travel is reasonable to consider part of that latency.

              edit: I realize I haven’t really been explicit about why propogation delay is relevant. The brain internally compensates for latency all over the place (e.g., you can drum your fingers along to music with incredibly precise synchronization even though it takes 15+ms for the signal to get from your brain to your finger, so there’s clearly not a brain round-trip involved). Some stuff is included in that, and is imperceptible for that reason; some is not. I’m arguing that, while typing, key travel delay is compensated for. (It has to be; at 100wpm, you’re hitting another key at least every tenth of a second. If there were a roundtrip to the brain involved with every keypress, nearly half that time would be spent just waiting for signal propogation. Also, fingers have momentum, etc., etc.)

          2. 2

            If so much time is added by key travel, I’d really like to know what the key travel is on the keyboards on those machines from the 70s?

            1. 5

              For the typical 8-bit computer from the 80s, the CPU itself would do the scanning. In the PC world (starting with the original IBM in 1981) the keyboard itself had a CPU that scanned the keyboard matrix, then sent the keycode down a serial connection to the main PC. I don’t recall the baud rate, but I’m sure there’s some delay right there.

              1. 5

                That answers where pretty much all the latency except the key travel time comes in. ;)

                1. 2

                  The old keyboards tend to have a large key travel in my experience. The really old teletypes were actual typewriters with some digital interfaces attached. The key travel on those would be measured at like an inch or more I bet (just from memory, I don’t happen to have any laying around anymore).

            2. 1

              I’m noticing that the Das 3 and the Filco Majestouch both link to the “clicky” MX blue variant. Could this be why they placed higher than other MX counterparts? It would be nice to see switch data.

              1. 1

                Aren’t the latencies due to electronics and not mechanical? That would explain why the ErgoDox places so average - because the firmware can do so many different things.

                1. 1

                  The latency measurements are the time from when the key starts moving to the time when the USB packet associated with the key makes it out onto the USB bus.

                  The Apple keyboard in first place has very little key travel, while the Planck and Ergodox in the middle of the heap probably have full-travel mechanical switches that have a way to move before closing the circuit.

                  1. 2

                    Which also makes the results surprising because the Filco has quite a lot of key travel. It would be interesting if this could be broken down further by activating the switches directly and comparing that to the overall time.