Try playing a movie or song in the background and do the test again.
By default, Windows NT's system clock interrupts every ~ 10 ms or ~ 15 ms (depending on machine) - I guess you're just hitting that ceiling.
System clock doesn't seem to affect it. I've tried with both 15 ms and 1 ms. I've tried to get my head around the factors involved in key press delay when a single key is being press, but I find it very difficult to theory craft about this because I don't have any relevant knowledge to begin with and there isn't much reasonably accessible info on these things, at least not that I can make much sense of.
As far as I understand, the process very, very simplified could be described something like this:
Fingertip on the key -> key being depressed -> key press registers -> OS retrieving and handling that key press.
Key being depressed is basically travel distance to "point of fire" (which is usually 2mm for mechanical switches, or 4mm) from the key in default position, and speed. A key press being registered involves keyboard internal scanning (code and rate/frequency, keyboard controller software), bouncing time (term for just mechanical switches?) and in the case of USB also polling rate.
As far as I understand every keyboard has an internal scanning rate/frequency but, like huha said, PS/2 keyboards aren't polled, they just send an interrupt signal, which means it's pretty instant. USB keyboards on the other hand are, in addition to the internal scanning, also being polled at the rate of 1-8 ms (1000hz-125hz). Keyboard internal scanning rate and the polling for USB keyboards is afaik simply put in theory additive if the scanning rate is slower than the key bouncing time, which means that USB keyboards in general potentially could be up to >1-8 ms slower than PS/2. I didn’t know this before, hence why I didn’t want a PS/2 keyboard. Anyway, when the internal scanning rate is faster than the key bouncing time it's irrelevant because it just has to scan once during that time, wich it will do. And should do, and probably always does, unless there's some buffering from the bounce. Table 2 in this document
http://brm.psychonomic-journals.org/content/34/2/250.full.pdf show some strange numbers that I interpret indicate that USB polling rate is additive to the internal scanning rate when the scanning rate is slower than the key bouncing time (if that's the case), but that seems weird. The key press must be buffered then. Hm. I think. This is probably very basic and obvious things not needed to even be commented on for some people, but all this is new to me, even if the logic might seem pretty straight forward for anyone who knows this.
Anyway, regardless of all the factors involved in the whole process (and I'm sure I misunderstand some of it), even if I think some of it is interesting, I have a pragmatic view on this. The total delay (speed) is what interest me the most. In a keyboard ofc I care about comfort, build quality, size, aesthetics etc too but that’s not very relevant here.
I've found a little program that, even if it has limits and certainly doesn't show anything else than the sum of the factors involved, and I don't know how accurate it is, is very interesting and seems like a good indicator on key press times among other things and could be a pretty good instrument for real comparison between keyboards (and the other factors involved). Maybe even more interesting for testing keyboards for typing than for gaming.
A trial version of the program is available
here. I think depress time shows the time from a key press being registered to the key release being registered. This is ofc complicated, but I think.. maybe the number displayed could just plain be cut in half to indicate the "action time", meaning the time it takes for a key press to be registered. I could imagine system clock time being a factor here, but it doesn’t seem to be. At least changing the system clock frequency doesn’t affect the numbers I get. I've read someone claiming this program showing a 7 ms key depress time for his Tarantula keyboard (mechanical switches, 1000 hz polling rate, and I think it has 500 hz internal scanning rate) but even if it in theory could be true as far as I know, I take that with a grain of salt. Not that I have any reason to doubt
him, I just want some more testimonies before I put much value in anecdotal evidence.
My two keyboards shows (on different computers) lowest key Depress time, regardless of polling rate, in ms
USB Logitech Media Keyboard Elite: 39/40
Steelseries 7G: 29/30
I would be very interested to see some numbers on other keyboards, if anyone has done this test or are willing to do it. I would be particularly interested in
Cherry G84-4100
Filco Majestouch
Realforce 87U
HHKB2
Razer Tarantula/Arctosa
Ergodex DX1
And ofc it would be interesting to see if someone else has tested the 7G.
Update: I guy have tested his Cherry G84-4100 and the lowest Depress time he could get was 26 ms.
Btw, surprisingly, my two mice shows 39/42 (Logitech MX518) and 23 (Razer DA) respectively, regardless of polling rate. I don’t know what’s up with that. Thought it should be much faster? Maybe the scanning and debouncing works differently on a mouse and this might not say much about the delay/speed of a single mouse key press, but still. I was under the impression that a mouse generally is much faster than a keyboard. In game my mouse click is faster than a key press on my keyboard, I’m sure of that.* But it could be game related somehow, idk.
*Sure, ping varies. I’ve monitored my ping quite thoroughly and although it fluctuates incredibly much and average around 175 (even higher on American servers) occasionally my ping is very low and it’s only at those “low ping spikes” I can interrupt certain skills that has 0.75 s activation time, and I can visually easily tell the difference from when I’m doing it with my mouse and when I’m doing it with my keyboard by looking at the skill activation bar. It almost always looks something like this, where 1 is keyboard and 2 is mouse:
1: |----------------------------------------------------------------------------------------------------------------------|-|
2: |--------------------------------------------------------------------------------------------------------------------|---|
The first vertical line is when the skill I try to interrupt starts, the second vertical line is when the interrupt occurs (at least according to the UI, however accurate that is..) and the third vertical line is when the skill would have been completed if I didn’t interrupt it. This is very consistent and it’s the same pattern with other skills (with different activation times) -regardless of ping, the mouse is faster. Could be wrong ofc.