N-Key Rollover (NKRO) and USB?
The USB works in return for the active, interrupt-based PS/2 port, just the other way around in passive polling mode. In contrast to the PS/2, there are no more directly triggerable interrupts for a device, but the computer periodically queries all connected devices within a certain interval of time, whether new information is available. This interval is set in the so-called polling rate. The Sharkoon PureWriter TKL uses the highest possible value of 1000 queries per second (1000 Hz). In a buffer, the keyboard controller places all the events that alike are a kind of interrupt package, in which the order of the events is displayed in a stable manner, but which can only have a certain amount of information in size.
Now that we know that the packet size is limited, it would normally only be possible to transmit a maximum of 6 key events at the same time. In order to persuade the USB to a larger number of simultaneously transferable key events (keyboard events), you can reach into the trick box a little and simply impregour several devices (devices). At the time, Microsoft had demonstrated with the Sidewinder X4 how to evaluate even more parallel inputs with a Rubberdome keyboard and then transfer them cleanly to the system.
Important theory for better understanding
Depending on the design, effort and price, there are really extreme differences. Simpler keyboards do not evaluate every single key, but only work according to the matrix principle. Thus, there is no longer a separate state for each key, but simply divides the keyboard into rows (vertical) and columns (horizontal). Thus, we have traces as horizontal lines, which in fact represent a continuous and common contact rail for all buttons adjacent to each other at one height.
In a small spatial distance to it lies a flexible support with vertical traces ( or above) below it, wherein also (usually diagonally) a connection of the superimposed keys is realized. This is now like chess or e.g. in Excel, where the cell in the third column of the second row is simply labeled C2. Pressing a specific button then creates a contact between one of the horizontal and vertical traces at this point:
If you look at the whole thing on the animation, the principle is very easy to understand. You save effort and money by determining a keystroke based on this logic. Pressing two buttons is still relatively easy, because the just described applies to the same extent. In addition, since different horizontal and vertical traces are used due to the spatial distance, the detection is still clear:
The two generated "short circuits" are easy and safe to evaluate for the interconnection logic, which in theory can even be done with three or four keys at the same time, as long as no closed block within two adjacent horizontal and vertical webs.
If this goes into the pants in reality, it is not because of the matrix principle as such, but because of the limited logic in the (extremely low-priced) circuit when evaluating the matrix. Nevertheless, we can, for example, six attacks that can still be grasped in this way do not speak of a real 6-key rollover (6KRO), because the devil is in the detail and there is much more to it.
But what happens if we do not use completely independent combinations, but one of the traces (e.g. the horizontal) is the same for all pressed buttons? Collinear would then be all adjacent keys, such as S,D and F. And what happens when you press all three at the same time?
This also works magnificently, because with each button a different vertical track ensures that it can be logically separated. Even this can be cheap keyboards mostly without any problems. That is why we now get to the point and look at the situation separating the chaff from the wheat.
Ghosting and Jamming in the Keypad – Horrors of All Gamers
Now it gets nasty, because we press the keys S, D and E in spirit. So we run at an angle backwards (S and D) and want to use E at the same time as e.g. pick something up. Now let's look at the block from the W, E, S, and D keys. As long as only two of the four keys are pressed, the evaluation is possible because either collinear or diagonal offset was short-circuited. However, if a third key is added, the end is terrain. At this very moment, all four traces are short-circuits among themselves!
So the logic is not in a position to evaluate more precisely. Since the current condition in the example applies not only to the three pressed keys S, D and E, but also to the W, this appears as a so-called ghost. Some keyboards even swallow themselves and don't report the third stop for plausibility reasons ("key blocking"). Then you have the classic 2-key rollover (2KRO) of most cheap keyboards.
"Ghosting" and "Jamming" are therefore a problem when some keyboard shortcuts no longer work clearly because several buttons lying next to each other in the block are pressed at the same time. This is therefore a purely logical problem with the keyboards connected as a column-row matrix, which ultimately manifests itself in the fact that in the zeal of the game some keys do not seem to work or only seem to work very sluggishly or a key is reported that is not at all pressed ("Ghost"). However, the keys may also appear as a letter salad ("jamming") in which already identified keys are swallowed or overwritten.
Of course, we have tested the keyboard for the combination of all possible keystrokes, which even anyone at home can do without another software installation and free of charge for themselves (link to the online keyboard check).