Forgot your password?
typodupeerror
Input Devices Games

Ask Slashdot: Low-Latency PS2/USB Gaming Keyboards? 177

Posted by timothy
from the edge-of-the-edge-cases dept.
An anonymous reader writes "I've a cheap but low latency mouse (A4Tech) and I noticed my trusty old wired Logitech PS/2 keyboard seems at least 50ms slower (if not more) than the mouse when I test with those reaction time sites. I even increased finger travel distance over my mouse button to make it fairer and the difference still remains. So either the tests are slower with keyboards or my keyboard is high latency. Assuming the latter any suggestions for a good reasonably priced gaming keyboard? Extra function keys might be nice but since my hands aren't big what would be better is being able to output a custom key/combo if you hold down (special?) keys while pressing another key. For example I could configure it so if I hold down "Special Key 1" with pinkie or thumb and press 4 it actually outputs 9, and if I hold down shift as well it outputs shift+9 (and not just 9). Being able to replace the capslock key function and have it behave as another key (or a special modifier) would be a bonus — I've never needed capslock and have probably used it more by mistake than for its normal function, or to test how badly a PC has hung."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Low-Latency PS2/USB Gaming Keyboards?

Comments Filter:
  • You're testing wrong (Score:5, Interesting)

    by guruevi (827432) <evi.smokingcube@be> on Saturday July 13, 2013 @03:09PM (#44270941) Homepage

    There is not a single modern keyboard that has 50ms latency. You (humans) have that sort of latency.

    As far as response times, all you need to do is increase the poll time on the USB stack, you should be able to set it to ~1-5ms, most keyboards are in the 5-10ms range. You can also get a custom keyboard which is used for psychophysics, they run about $300 and have a guaranteed sub-ms latency. But there must be some firmwares out there that can achieve the same for cheaper. I've tested Arduino Leonardo to about 1-2ms latency (also for psychophysics experiments).

    • by bwoneill (1973028)
      Actually, PS/2 keyboards can't have a latency less than about 50 ms. The PS/2 specification requires a clock speed between 10 and 16.7 kHz which means that the signal must be in the up or down state for 30-50 ms. http://www.computer-engineering.org/ps2protocol/ [computer-engineering.org]
      • by Blaskowicz (634489) on Saturday July 13, 2013 @03:34PM (#44271101)

        You're off by a factor of one thousand. What you're quoting says :

        Data sent from the device to the host is read on the falling edge of the clock signal; data sent from the host to the device is read on the rising edge. The clock frequency must be in the range 10 - 16.7 kHz. This means clock must be high for 30 - 50 microseconds and low for 30 - 50 microseconds.. If you're designing a keyboard, mouse, or host emulator, you should modify/sample the Data line in the middle of each cell. I.e. 15 - 25 microseconds after the appropriate clock transition. Again, the keyboard/mouse always generates the clock signal, but the host always has ultimate control over communication.

    • by AmiMoJo (196126) * <mojoNO@SPAMworld3.net> on Saturday July 13, 2013 @06:01PM (#44271873) Homepage

      Every keyboard I have ever seen is a USB 1.1 HID device. The maximum polling rate is 10ms in the spec, although some might work at higher frequencies. In any case you are correct, the latency of pretty much any keyboard will be max 10ms. If the test sites say there is more then it isn't the keyboard, it is something in the OS or the browser or the operator.

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        Every keyboard I have ever seen is a USB 1.1 HID device.

        You must either be very young or have not seen many keyboards.

      • by TheLink (130905)

        the latency of pretty much any keyboard will be max 10ms

        Where's your evidence for that? USB is just at the interface level. There's plenty of other things going on in the keyboard between the key being pressed and the keyboard interface stuff.

        So far it seems PC input devices can and do vary a lot in latency:
        http://www.blackboxtoolkit.com/responsedevices.html [blackboxtoolkit.com]
        http://www.pstnet.com/eprimedevice.cfm [pstnet.com]
        Yes these bunch might be trying to sell something, but in my own personal experience mice and keyboards definitely vary in lag, and it can be in tens of milliseconds.

        10ms

    • by mc6809e (214243) on Saturday July 13, 2013 @06:06PM (#44271915)

      There is not a single modern keyboard that has 50ms latency. You (humans) have that sort of latency.

      As far as response times, all you need to do is increase the poll time on the USB stack,

      Polling the USB stack has almost nothing to do keyboard response time.

      Keyboard response time depends mostly on how often the built-in microcontroller scans the keyboard matrix. A common interval is 40 ms. Polling the USB stack does nothing to get the microcontroller to scan the keyboard matrix more frequently. If the writer of the firmware decides 40 ms between scans is frequent enough, then you're stuck with 39+ ms latency in the worst case.

      • by guruevi (827432)

        What I meant is with a typical keyboard, the typical poll rate is ~250Hz on most OS HID drivers. You can increase that to ~1000Hz (either direct hardware access or alter the driver).

        Yes, the keyboard has an inherent delay as well but there is no reason it should be as high as 40ms, even very slow microprocessors can scan the matrix much faster than that. In fact that would be fairly noticeable (40ms + OS latency). The typical modern keyboard I have tested to be about 10ms which includes it's own delay and t

        • by Mr Z (6791)

          Yeah, I was going to say, 40ms seems a bit out there. If you consider a touch typist typing 100WPM, that's about 8.3 characters/second, or about 120ms / character. You may think 40ms is fast enough to accommodate that, but not really. Typing is bursty by nature, and so many of those consecutive keystrokes will come close together. If you scan too slowly, you might see two keys "become active" on the same scan, and end up reordering them. At 40ms, that seems entirely likely for a touch typist at 100WPM

      • by Misagon (1135)

        The scanning frequency is not that significant. The response time is more limited by something called "debouncing".

        When a key switch is pressed, it does not actually change state from open to closed in a perfect way. Instead, it often "bounces" between open and closed states for a little while until it settles. Another issue is that short spurious positives may be caused by static electricity. Keyboard microcontrollers will therefore have to delay reporting each key press until it is sure that the key repor

        • by batkiwi (137781)

          That's not QUITE how debouncing works, depending on the circumstances. Debouncing is more of a "sticky" state change than a delayed state change.

          If you're not pressing a key, and haven't been for a few mS, and then press it, the state change is registered instantly. Debounce then keeps you from "unpressing" the key until XYZ mS have passed to filter out stray switch glitches.

          As long as you're not trying to press a key on and off faster than the debounce time it's not actually slowing down your response ti

    • by AdamHaun (43173)

      The real issue with USB keyboards is that if multiple keys are pressed within one polling interval, the order is ignored. For fast typists, this can easily result in swapped letters. It's quite annoying. Unfortunately, this behavior is part of the HID spec so there's not much that can be done now.

      To the submitter: I'm very sensitive to input lag, but I've never had noticeable lag from any PS2 keyboard. Right now I'm using a Dell AT101W, and before that I had some junky IBM membrane thing. Do you have any so

    • You also have to take into account how long it takes to physically depress a key. For example, John Carmack measured [twitter.com] that it takes 16-20 milliseconds to fully depress one of the triggers on a Xbox 360 controller.
    • Given that he managed to get first post, I'm going to have to agree with this guy. His input method is clearly superior!

  • I am very skeptical of the marketing claims of low-latency human input devices like gaming mice and keyboards. I understand the usefulness of special device configuration (e.g., macro buttons), but does a mouse really need to be polled every 1ms (like Razer mice)? In driving tests, the reaction time of a prepared driver is on the order of 750 to 1000ms (http://www.tandfonline.com/doi/abs/10.1207/STHF0203_1#.UeGmimR4a04 --- sorry for the paywall). Obviously, driving is not gaming, but let's suppose a gami

    • by Splab (574204) on Saturday July 13, 2013 @03:45PM (#44271181)

      Normal human reaction time is in the 200ms to 300ms range, however, for specific stuff like gaming where we are reacting to known events, we can possibly react faster (sound for instance is keying us way before this, so we start reacting to the event).

      Now the 1 MS reaction time for gaming equipment is for precision, if your mouse doesn't stop moving the place where you wanted it to stop moving, it might be off by one or two pixels, which is a huge deal in gaming.

    • On a PS/2 mouse at least, changing the polling time is useful. It defaulted to 40Hz on Windows 9x which was terrible, though the worst of it was making your mouse look choppy in games. So you could change it to 100Hz (Windows XP default) or 200Hz.

      Apart of that I'd say shaving a bit of latency is useful, one main application would be playing Counterstrike 1.6 on the net. Network latency is the big offender here and you can always find how playing is easier when you have 60 or 80ms ping instead of 100 or 120m

    • by Sycraft-fu (314770) on Saturday July 13, 2013 @04:20PM (#44271359)

      For certain kinds of games, where reaction time is pretty much the be all, end all (like Call of Duty) it does seem like it can make a difference. It isn't that your human reaction time isn't still the biggest thing, but that you make it faster relative to other people and thus gain an advantage. I was, and still am to a degree, skeptical that it matter much but I've tried it and seen results.

      So in my case, it was my monitor. I have long used professional screens, at the time it was a NEC 2690WUXi. Nice pro quality IPS screen, fully calibrated for a great image. It runs at 60fps, meaning 16.7ms between images and has about 33.3ms (2 frames) of delay for its image processing time. So basically 50ms from the time the computer sends the data to it, to the beginning of image formation. A few more ms for the image to fully form.

      I decided I wanted to see what the 120Hz hype was about, so I bought myself a second monitor, a BenQ XL2420T. It's a cheap TN panel, but very, very fast and has a mode to cut through all processing and lower latency. In 120fps mode you get a frame every 8.3ms, and delay of about 3.4ms until the image start forming, just another 1.5ms until it is complete. So 11.7ms from data to beginning of image formation.

      Well I found out two things. One is that you definitely CAN see the difference between 60 and 120 fps. It is actually more noticeable on the desktop, where you have sharp lines and high contrast, but in games too. It is a level of smoothness and fluidity you hadn't seen before.

      The other thing is that my performance in Black Ops 2 was quite measurably better playing on the faster monitor. My KDR (kill death ratio, how many times on average you kill another player per time you die) increased by over 0.5, which is a lot. It was just much easier for me to get shots off on people before they could get me.

      Now is that all latency? Probably not, the smoother frame rate probably helps too, but it is a difference that is really there. It isn't a case of "Oh you just want you new monitor to be better," or something I have both kinds of monitors and the pro one is what I use 99.9% of the time and for almost all games (I now have a PA301W) because the better colour and image quality is just so worth it. But there is no question for speed sensitive games, the faster display helps me do better.

      So how does this apply to mouse and keyboard? I've no idea. I haven't tested it. The keyboard I use is based off of ergonomics, not speed (a Kinesis Freestyle 2, they rock). However perhaps such a thing could help too.

      I mean the theory would go like this: Presume you have two people, both with an equal reaction time. Say 500ms if you like. Their computers process and prepare everything for display at the same time. However one guy has a fast screen, and the other a slow screen, like 10ms vs 50ms. Then also one guy has a fast input device, the other guy a slow one, say 1ms vs 10ms. What this means is that the net reaction time, as in the time from the computer saying "This has happened," to the time it receives a response, is 511ms in one case, and 560ms in the other. If you are talking games where a lot of damage is done per shot, that could be enough to make a difference.

      I'm not sure that it is worth worry about as much as people do, but I can see how it can make a difference in theory and I was amazed that the fast monitor made as much difference for me as it did. In general though, my recommendation is just stick to games that aren't so twitch based, and use a nicer display.

      • by TheLink (130905)

        With those reaction time sites you can compare your reaction times on your different monitors and maybe try mouse vs keyboard too. The results might be interesting.

        From what I see even for a game like Guild Wars 1 it does help. If you need to interrupt 750ms skills (like Word of Healing, Restore Condition) it all adds up.

        Many interrupt skills often have an activation time of 250ms (as part of game play). So add go/"no go" reaction time of 300ms and maybe ping of 100, you get 650 which only leaves 100ms for

    • by DrXym (126579)
      I suppose if you were a professional gamer then the slight % boost might give you the edge you need. In the top rankings it might make a difference. But really any pro competition should require entrants to use regulation mice, keyboards, computers, drivers and settings to eliminate any advantage.

      I would not be surprised if a lot of so-called gaming keyboards / mice and assorted other gaming junk (gloves, mats, chairs, screens) are the equivalent of Monster cables and their ilk - just an excuse to slap a

    • by Twinbee (767046)
      Take a look at this. Even 10ms makes a perceptual difference:

      http://www.youtube.com/watch?v=vOvQCPLkPt4 [youtube.com]

      As I explained in my previous posts, a score line bias of 20% results too (assuming 200-400ms reaction time, and 10ms latency).
  • by aglider (2435074) on Saturday July 13, 2013 @03:29PM (#44271063) Homepage
    Mechanical-to-electronic interface is just one. The one you think it's to blame.
    Then you have the system interface (the USB and the PS/2).
    Then you have the full OS stack with its drivers, event listeners etc.
    Then you have the browser technologies (like Javascript stuff) which could react differently to different input classes.
    And finally the network latency.
    All of them at the same time.
    Maybe you are right in blaming the device, but I wouldn't bet a penny on it.
    • So, do the test again with MS-DOS human latency measuring software? ;), even if you have to write it yourself.

  • by TeknoHog (164938) on Saturday July 13, 2013 @03:44PM (#44271175) Homepage Journal
    I find some old DOS games (emulated) unplayable because some key combinations won't register at all. For example, pressing one arrow key might not work, if another arrow key is already down. This seems to depend on both the keyboard and the motherboard though...
    • by pedrop357 (681672) *

      Sounds like called ghosting and is likely a problem with the keyboard itself or the way the emulator handles keystroke 'translation'.
      With the former, you'll see a lot of high end keyboards talk about being '100% ghosting free' or something similar to mean that every key press will be registered no matter how many keys are simultaneously held down.

      https://en.wikipedia.org/wiki/Rollover_(key) [wikipedia.org]

  • I don't know what genre of game the submitter plays, but for fighting games, which I play, input latency can mean the difference between winning and losing. 50ms is 3 frames of lag, which means you need to react 3 frames faster to an overhead or throw. This wouldn't be a problem if everyone used the same equipment, ie PlayStation controller, but if someone had a controller that somehow had lower latency than the regular controllers then everyone who wants to compete would flock to it.
  • As has been said more than once already, the latency overall lies within you. Perhaps you should try over clocking your brain:

    http://www.foc.us/

    I plan on getting one, and I don't even game -- disclaimer: you can actually build a crude 2 milliamp transcranial stimulator for about ten bucks, but this looks really cool and contains features outside of my ability to design and build circuits.
  • by PopeRatzo (965947) on Saturday July 13, 2013 @04:26PM (#44271389) Homepage Journal

    Forget about latency. It's not that big an issue with decent keyboards.

    Just get yourself a decent mechanical keyboard with the Cherry MX Brown switches. The Cherry Blue are good for typists, but not for gamers. The Browns are just right for keyboard gaming. Coolermaster makes about the least expensive one that is well-made. About $80 at newegg. Mine is a Ducky, but it was too expensive. The Coolermaster is every bit as good, and $60 cheaper.

    • Re:Cherry MX Brown (Score:5, Informative)

      by willy_me (212994) on Saturday July 13, 2013 @04:54PM (#44271545)

      Brown is not what you want. They are similar to the "blue" keys but with less noise - I actually own both. There is still a significant distance the key must travel (up then down) to register sequential keystrokes. What you really want are the "red" keys. These keys require only a minimal amount of travel and do not have a noticeable "click" when activated. A pain for typists but it allows gamers to press keys at a very high frequency. The "black" keys are similar but require ~50% more force so they're a bit slower.

      But all mechanical keyboards are great at minimizing latency - it is because of the differences between switches and capacitors. The chiclet keyboards work my altering observed capacitance - this requires a controller to continuously scan for key changes and then send the appropriate signals to the host. This takes time and results in the latency the original poster was talking about. Mechanical keyboards are simple switches and are faster to scan. I imagine some mechanical keyboards are even interrupt driven resulting in latency measured in microseconds -- but changes in capacitance can't trigger interrupts.

      • by PopeRatzo (965947)

        Hey, thanks. I misunderstood what the Cherry Red switches were for.

        I'll give my Brown keyboard to my wife to use for work, and I'll order a Red keyboard right away.

        Seriously, thank you very much, friend.

      • I disagree, being a pretty hardcore gamer and having used both reds and browns. You need that tactile feedback in order to understand exactly where you can pivot the keypress on. With reds, sure you can actuate more often and faster, but generally you don't spam the keyboard to just register one keypress and even if you do, you're generally bottoming the keyes out to make sure they register because you don't know where that actuation point is. With browns you can rock on that actuation point up and down wit
  • A mouse button has a hair trigger while you have to push a keyboard key down a pretty good bit before it registers a press. On the reaction time test, the margin between keyboard and mouse narrows to about 10-20ms when I try to make sure that I press down on the key as quickly as possible.

  • What the system does with the key labeled "Caps Lock" is controlled by the OS, just like all the other keys. Remapping Caps Lock is usually quite easy in any modern system; KDE's Keyboard settings page has options to make it an extra Control or more exotic things like Hyper or Super, and on Windows you can use RemapKey or AutoHotkey.

  • I still keep at least one PS/2 device, either keyboard or mouse, on every computer. Why? Because no BIOS I have ever seen has the capability to wake up a PC from USB events. Presumably this is due to USB controllers not using hardware interrupts (IRQs), instead relying on polling to give some software-emulated interrupts.

    It's so much more convenient to be able to hit the space bar or jiggle the mouse to switch the computer on rather than fumbling beneath the desk for a flimsy power button.

    • At least many laptops can be woken up by an USB keyboard or mouse just fine.
    • by antdude (79039)

      Ditto. It seems like newer motherboards are removing them. I had to use an USB mouse since my friend and I couldn't get any USB to PS/2 adapters to work correctly (mouse pauses and then sometimes locks up randomly in both Windows XP Pro. SP3 and Ubuntu liveCD) with a mouse on my three years old EVGA X58 SLI (132-BL-E758; BIOS date 5/11/2010; v6.00 PG; release number IX58SZ64) motherboard. :( Also, I still use old KVMs from Y2K (unrelated to the issue).

  • I'm only mildly surprised that I didn't see even a single semi-helpful comment yet. Everyone else appears to be bitching about the question, and saying that USB isn't capable of that. It is, of course, with a few caveats. But assuming you're not connecting a HID device to a USB3 port under Linux and expecting it to get better than 125Hz (driver limitation, works fine on Windows), it all works out of the box assuming you have the right connected devices.

    A4Tech makes pretty high quality low latency mice, and

  • Now known as the Unicomp Customizer.

FORTRAN is for pipe stress freaks and crystallography weenies.

Working...