Ask Slashdot: Low-Latency PS2/USB Gaming Keyboards? 177
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."
You're testing wrong (Score:5, Interesting)
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).
Re: (Score:2)
Re:You're testing wrong (Score:4, Informative)
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.
Re: (Score:3)
So, GGGP was less wrong than stated, but for the wrong reasons. Huzzah! That is a rather strange defense. "I thought I was supposed to go south, when actually I was supposed to go north. But, I misread the roadsign and got on a road that goes northeast, so I ended up not too far from my destination. See? I'm not a bad navigator!"
Anyway, in the interest of actual analysis:
Let's go at the low end: 10kHz. And let's pick a beefier keycode, say "R CTRL", that has a 2 byte scan code. No, we're not going t
Re:You're testing wrong (Score:4, Interesting)
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)
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.
Re: (Score:2)
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
Re:You're testing wrong (Score:5, Informative)
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.
Re: (Score:2)
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
Re: (Score:3)
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
Re: (Score:2)
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
Re: (Score:3)
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
Re: (Score:3)
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
Re: (Score:2)
I don't know what teh heck you're talking about.
Re: (Score:2)
I don't know what teh heck you're talking about.
Er... sorry about that? Is there anything in particular you'd like me to clarify?
Re: (Score:2)
sorry, I guess a whoosh for you?
"For fast typists, this can easily result in swapped letters."
Re: (Score:2)
Oops!
Re: (Score:2)
Re: (Score:2)
Given that he managed to get first post, I'm going to have to agree with this guy. His input method is clearly superior!
Re: (Score:2)
Debounce doesn't add latency per se, you only have to trigger your interrupt on the first transition (given the transition is maintained long enough for the processor to pick up) and who cares if it bounces after that.
Also, in psychophysics, most likely you already know when the decision is being made (either EEG or fMRI), the buttons and the display refresh signal are only there to confirm that you should select data in between those time stamps.
Re: (Score:3)
I saw a TV program about that once; somehow the results of the experiment could be interpreted to cast doubt on what constitutes free will, but I can't find anything else about it. Do you know a few keywords I could use? A link would be superb.
Re: (Score:3, Informative)
The paper that comes to my mind when I read your post is:
Soon, C. S.; Brass, M.; Heinze, H.-J. & Haynes, J.-D. (2008). Unconscious determinants of free decisions in the human brain. Nature Neuroscience, 11, 5, 543-545, doi: 10.1038/nn.2112 [doi.org] (article paywalled but a quick google provides an alternative link to the article PDF [socialbehavior.uzh.ch]).
I've a small collection of references for scientific "mind reading" studies I've gathered over the years, so if it's not the one you're thinking of, give me some more details and I
Re: (Score:2)
1ms is also the minimum poll time possible, as it was never designed for low latency. To get lower than that you have to get away from USB.
Does ultra low-latency really matter? (Score:2)
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
Re:Does ultra low-latency really matter? (Score:4, Interesting)
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.
Re: (Score:2)
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
Probably not, but some changes can matter (Score:5, Insightful)
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.
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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).
Latency can have a number of reasons (Score:4, Interesting)
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.
Re: (Score:2)
So, do the test again with MS-DOS human latency measuring software? ;), even if you have to write it yourself.
Re: (Score:2)
What I fear then is the submitter guy will change keyboard, and find out the situation is entirely the same.
Re: (Score:2)
Re: (Score:2)
Key combo issues (Score:3)
Re: (Score:2)
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]
It's all about getting an edge over the competitio (Score:2)
Brain Latency (Score:2)
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.
Cherry MX Brown (Score:3)
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)
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.
Re: (Score:2)
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.
Re: (Score:3)
Button depth (Score:2)
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.
Re: (Score:2)
I use a Logitech Illuminated Wired Keyboard. It has a low profile which means quicker response time when pressing keys. Unfortunately, it doesn't have any programmable buttons, but it's still a great gaming keyboard.
you can program the buttons on os level.
unless you're using the keyboard on some ps3 converter to play on the ps3 which would totally explain the submission..
Caps Lock isn't a hardware issue (Score:2)
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.
PS/2 still FTW (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
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).
Re: (Score:2)
My old desktops with PS/2 keyboards and mice don't wake up Windows' hibernation. I have to use the power.
Re: (Score:3)
ATX poweroff. These machines are effectively powered down, ie not in sleep or hibernate modes. In this state most sane BIOSes can respond to PME events such as Wake on LAN (so you can send them a magic packet to turn them on), but none seem to poll for USB events.
Low Latency USB Keyboard (Score:2)
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
Re: (Score:2)
Thanks.
I never knew those physical layouts even had a name.
Azerty really relies on that additional key, next to left shift. We have "lower than" and "greater than" there. Lower left to the Enter key we have a dedicated star key, "*", which gives "greek letter mu" with shift. I guess that makes up for the lack of the backslash/pipe key, though that one is nifty and it would be great to do pipes and escaping characters from there.
Another feature is we have direct access to parenthesises where you have 5/% and
IBM Model M (Score:2)
Now known as the Unicomp Customizer.
Re:so this...... (Score:5, Insightful)
Re: (Score:2)
Or the questions that can be answered in 10 seconds with a Google search.
Re: (Score:2)
Enjoying that new "buyout" from the bottom feeding trough? I though so.
Re:so this...... (Score:5, Insightful)
Why the hatred? This seems a genuinely interesting topic to us nerds, whom this site is ostensibly meant to be for.
As far as Ask Slashdot questions go, this is one of the better ones.
Re: (Score:2)
It is not. The question is "what snake oil should I buy to make me think keyboard will have lower latency".
The current keyboard latency is SIGNIFICANTLY below HUMAN latency. There is simply no way for our nervous system to match it for reason of slowness of electric signal inside our own nerve system.
Re:so this...... (Score:4, Informative)
Re: (Score:2)
While you are in fact correct, you're forgetting the basic concept of "error margin".
When human reaction error margin is significantly bigger than hardware latency, you're arguing against basic mathematics.
Re:so this...... (Score:4, Informative)
A typical round of 5 games of equal skill could go:
Player A,B
0.25, 0.35
0.21, 0.37
0.39, 0.3
0.3, 0.34
0.31, 0.29 Final score: Player 1: 2 points, Player 2: 3 points
That was obviously contrived, and I made up the scores. So let's try the best of 10,000 games with a random number generator:
Player A: 4926
Player B: 5074
On first run, not quite 5000 each, but that's well within expected occurrence. Now let's try with a 50 millisecond penalty for player B:
Player A: 7163
Player B: 2837
Wow! Player A is winning almost 3/4s of the games despite only 0.05 secs being added! Such a small amount makes a far bigger difference than you would think.
For fun, let's try a 10ms penalty for player B:
Player A: 5453
Player B: 4547
Even a measly 10ms makes a significant difference in the long run.
Re: (Score:3)
Let's not make such hilarious sweeping assumptions which carry a huge error margin. Your keyboard latency for example is slightly less then one order of magnitude off. Even more so for PS/2, which is IRQ based port, but regardless...
I have even better one for you. One of the most if not the most competitive game in the world, League of Legends has had a brilliant example of just how little small mechanical changes in game dynamics actually do. They had a champion who was considered massively underpowered. T
Re: (Score:2)
However, I gave raw stats which for certain shows that given a reaction time from 200 - 400ms, and a 10ms latency penalty for one of the players, a definite 20% difference in the overall score line was the result. The OP was assuming 50ms, and I went RIGHT DOWN down to 10ms to prove my point. Let's b
Re: (Score:2)
There's just one problem: speed of input beyond certain minimum has little to no impact on actual gameplay. The little impact it has is likely in the fraction of percent compared to things like, for example, play skill, quality of environment in which player is playing, comfort of player's sitting position and other factors.
Squeezing extra milliseconds out of your keyboard is snake oil because just like snake oil, it focuses tiny fraction of things that impact performance and only offers a tiny improvement
Re: (Score:2)
Another thing to
Re: (Score:2)
Again, snake oil talk. "Feeling of disconnect" requires MEANINGFUL latency. As in one that your nervous system would actually be able to detect. Even eyes, located on the single fastest and lowest latency data bus of the entire nervous system could not track those speeds.
Essentially, you're again talking about placebo effect. "You'll understand it once you expect it". That is the textbook definition of placebo. The fact that you chose to link the video in question reinforces the point, as it talk about capa
Re: (Score:2)
There's an important point you miss. The "error margin" doesn't go negative. It adds to the overall latency. If the total latency results in the final action being too slow by even only 1 millisecond it doesn't ever round down and become insignificant. It's too slow and thus significant.
So your "basic mathematics" are leading you to the wrong conclusion.
There ARE input devices out there with significant amounts of lag: http://www.pstnet.com/eprimedevice.cfm [pstnet.com]
http://www.blackboxtoolkit.com/responsedevices.html [blackboxtoolkit.com]
Re: (Score:2)
Most of these games are online. Where you are battling person against person where twitch speed is important. The AI in most games are slowed down so the game is playable.
So you should assume the other players are not using $1,000 keyboards either. That have the same legnenthicy. Then you add up your PC processing the networking to the games server, it's processing, and sending data back. Your keyboard is the least of your issues.
Those points loss could be because *GASP* the other guy is better than you, or
Re: (Score:2)
Nobody is racing a keyboard.
The problem is that when the system has many other components, all adding latency, the result is perceptible and can be huge in some games that require fast reaction times.
Add up all the latencies in a typical game, and you're well past human reaction times:
- keyboard: 50ms
- network round-trip to game server: 20-50ms
- game logic: 1-20ms
- graphics rendering + vsync: 17-50ms
- LCD buffering delay: 17-50ms
That adds up to over 200ms in the worst case, of which as much as a quarter is
Re: (Score:2)
Double check your numbers. In some cases, you're several ORDERS OF MAGNITUDE off.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The typical human reaction time is between 1/10th and 3/10th (more the later) of a second. That is 100 to 300ms. Officially when you have to learn that shit for driving licenses etc. the official claim is 3/10th and many people who test themselves come down to 2/10th. People in the range of 1/10th are super rare. 50ms how ever is HALF of 1/10th of a second, or in other words 1/20th. Perhaps one of 10,000 has a reaction time so fast, I would say far less than 1 of 10,000 has it.
Re:50 ms? (Score:4, Insightful)
> The typical human reaction time is between 1/10th and 3/10th (more the later) of a second. That is 100 to 300ms.
now pile another 50-100ms of USB latency on top, and you've just increased the problem by a non-insignificant factor.
It's not a coincidence people gripe about USB. By traditional embedded-electronics standards, USB fsck'ing SUCKS. It's not a coincidence that there are STILL things you could bitbang with a real EPP/ECP parallel port that are flat-out impossible to do via USB. USB forces you to do your bitbanging at the remote end, and use the USB bus SOLELY for polled bit-shoveling after the fact. Serial ports required manual configuration up front, but once you got them configured... they pretty much worked flawlessly unless the wire had a short or a bad solder connection. Ditto for traditional parallel and ps/2 ports.
I NEVER used to have ps/2 mice just stall and hang on me the way USB mice do under Windows. I've had plenty of times over the past few years when the ps/2 trackpoint on my keyboard worked fine, but the mouse pointer acted like it was frozen if I moved the USB mouse, for periods of 2-5 seconds a couple of times per week.
Re:50 ms? (Score:5, Informative)
USB latency is nowhere near 50-100ms, more like 1ms for a low-speed/full-speed device (which most HID devices are). a high speed device could be polled at 8*125us.
You'd probably need the lousiest USB controllers and a horrible CPU to get anywhere near what you're describing.
Disclaimer: I've actually worked on USB Host Controller and Device Controller drivers in embedded environments
Re: (Score:2)
There IS one possible solution I can think of that's even better.
Start with a FPGA dev board with USB 3.0 and legacy USB ports. Connect the USB 3.0 port to the computer as a "pure" USB 3.0 HID-like device. When the driver polls for data, return NRDY (a new feature of USB 3.0 intended for power-saving, but it can probably be (ab)used to act like an IRQ mechanism. )
Now, implement a MCU onto the FPGA, pretend to be a root hub/host PC, connect to the legacy HID slave, and poll it like a madman, at a rate that w
Re: (Score:2)
USB HID device minimum polling interval is 10ms, but some devices will work faster than that. You can get it down to 1ms using a non-HID interface though. USB is absolutely fine for low latency input, unless you are talking about extremely accurate clock syncing etc.
There are limitations though. For example it is possible to miss lines on a USB serial port changing if they change faster than the polling rate, since there are no interrupts.
Any additional latency you are seeing is due to the OS, but on Window
Re: (Score:2)
For HID devices like mice and keyboards, they will save up the information and transmit it on the next poll. Ie, one poll to a keyboard can return more than one character. A mouse will coalesce the movement into a single position but as I remember it you should still get multiple button events returned on a single poll.
Re: (Score:2)
For HID devices like mice and keyboards, they will save up the information and transmit it on the next poll. Ie, one poll to a keyboard can return more than one character. A mouse will coalesce the movement into a single position but as I remember it you should still get multiple button events returned on a single poll.
You will get multiple button events on a poll when they are different buttons.
The microcontroller firmware that all the companies in China tend to steal back and forth between them tends to only allow one key eventfrom a polling interval, and the controllers are generally clocked slower.
Now a laptop matrix decoder that synthesizes a fake 8042 keyboard controller and mixes Synaptics PS/2 touchpad events with a faked up PS/2 interface from the matrix decode can go a bit faster, depending. For example, we set
Re: (Score:2)
USB was designed for very low data rate devices initially (ie, keyboards and mice). Although it has turned into a universal device standard that doesn't mean the design has changed.
But if a USB mouse is stalling, then it's not USB that's causing this and I am dubious it is the USB driver even. It is a shared bus so there maybe other things on USB that are hogging the time (but not for 2 or 3 seconds) so I'd think instead that there's latency in the OS.
Re: (Score:2)
But ask every single hardcore gamer and they'll claim that they are a one in a million person with leet skillz. Low latency gaming devices for gamerz are in the same class as gold plated speaker connectors for audiophiles.
Re: (Score:2)
Sure there are hardcore games with "reflexes" like this, but a reflex is not exactly the same as "reaction". Before buying a "low latency" device I rather would check my PC if everything is fine ... it is much more likely that the latency is somewhere in the OS or due to the fact there is more traffic on the DSL line or a virus scanner is running in the back ground etc. etc.
OTOH there are ways to improve reaction times, e.g. general alertness (which you likely have in a FPS), mental state (flow) being "awak
Re: (Score:2)
Anything lower than 100ms is illegal in athletics. You react faster than that, you get a false start, and are disqualified.
Re: (Score:2)
Not all latency-sensitive inputs are reactions. In fact most are not pure reaction -- you see a temporal pattern happening on the screen and you have to estimate based on past experience with the same pattern when to press the key. In other words you have warning. Having a lot of extra latency in the input system can make this feel less natural.
Re: (Score:2)
500ms is when you process life threatening emergencies, when you have to process something innocuous from your peripheral vision while doing other tasks like driving in heavy traffic, you could be processing a second or longer.
Re: (Score:2, Funny)
I did some testing in that regard and the most important thing which can completely ruin gaming experience is latency caused by cable length. I would recommend to cut the the length to two feet maximum, replacement by the oxygen-free copper cables is highly desired as it is well known that cheap cables slow down the transport speed of the electrons (any professional audiophile will confirm that). If you are using wireless keyboard, please close all windows as any airflow/drags can cause variations in the
Re: (Score:2)
I find most self-proclaimed "professional audiophiles" will suck up any cable techno-speak a company will throw at them. Lamp cord will make perfectly fine speaker wire. Also, most "professional audiophiles" are unwilling to perform blind or double-blind listening tests.
Re: (Score:2)
Surely 50 ms is just human response time. I highly doubt a "low-latency keyboard" (even if such a thing exists) could improve your gaming performance...
The worlds fastest typist, Stella Pajunas-Garnand from Chicago, clocked in at 216 WPM, which is 1080 CPM, which is 18 CPS, which is in that ballpark.
However, burst rates can go much higher, and if you are doing something like playing a twitch shooter, which is kind of like being a meth-head, then adjacent keystrokes on the same key can be much faster, particularly if you hare hitting the key multiple times within the debounce window, and want to do that because you haven't set your auto repeat rate low enou
Re: (Score:2)
His issue was that he was dropping the next key down before releasing the previous key, which tended to result in doubled characters for the first key. He was a very fast burst rate typist.
This is a good read related to that: http://www.tomshardware.com/reviews/mechanical-switch-keyboard,2955-5.html [tomshardware.com]
USB has technical limitations on N-key-rollover. Some are limited to only 2 simultanious key presses, some 3, some 6.
PS/2 can technically handle unlimited simultanious key presses, and there are a variety of keyboards that can make use of that.
Personally, I recommend the Das Keyboard. It supports both USB and PS/2 interfaces, 6KRO in USB and NKRO in PS/2, mechanical key switches (depends on the mod
Re: (Score:2)
You're obviously not a twitch gamer. Sometimes it's about being 1 ms faster than the other guy. Obviously there are other factors that come into play (like your connection latency) but it all adds up.
he lost already and browser explains (Score:2)
You're obviously not a twitch gamer. Sometimes it's about being 1 ms faster than the other guy. Obviously there are other factors that come into play (like your connection latency) but it all adds up.
then you lost already if it's about 1ms.. connection latency goes up and down by that anyways, but that doesn't necessarily matter, depends on how the game handles it's network compensation logic.
some people keep using any lag anywhere as an excuse though and provide an ample market for hifi gaming gear.. doesn't make them better at guessing where the pointer should be at and where the other guy is moving. the guys who go this route never seem to make it to top end though. they just keep fiddling forever.
as
Re: (Score:3)
Jesus you take things way too literally. First off, I said that 1 ms can make the difference between a win and a loss. That's a fact. It doesn't mean I sit there and do everything I can to try and shave 1 ms off of my latency. I go for most bang for the buck first. Yes, skill is the most important thing but if you're 30 ms slower than me on ping, I will rape you in an FPS. I know this because I used to compete with a clan in UT2k4. 30 ms is FOREVER is twitch gaming. So please spare me the patronizin
Re: (Score:2)
Re: (Score:2)
PS/2 in interrupt based and therefore doesn't have latency.
That's merely one source of latency. What about the OS stack? The mechanical-to-electronic interface when the key is pressed or button is clicked? Hell, the speed of electricity? There are many sources of latency, of which that is only one. You still have quite a few others to address.
Mouse is 50 ms better at the same test (Score:2)
Re: Mouse is 50 ms better at the same test (Score:2)
Apple keys have hardly any travel (Score:2)
Re: (Score:2)
yea an interrupt is generated, there is nothing there saying it has to be processed at that exact same moment, it just sits in a buffer until it can be polled by the OS, so whats the difference?
Re: (Score:2)
well I gave you my understanding on it, and aparently you are an expert now, so, whatever