Understanding Keyboard Ghosting, Key Jamming & Matrix Scanning
Computer keyboards do not connect every individual key directly to the microcontroller with a dedicated physical wire. Instead, keyboard engineers route keys into a multiplexed row-and-column conductive matrix (e.g. 16 columns by 8 rows). The keyboard microcontroller pulses electrical current across columns one by one and reads the returning row signals to identify key closures.
In budget membrane keyboards lacking isolation diodes, pressing three intersecting keys in a rectangular matrix pattern creates an electrical short circuit. Current flows backward through the closed switches, causing the controller to detect a phantom fourth key closure—known as Ghosting. To prevent erroneous character spam, manufacturers implement firmware key blocking (jamming), which intentionally disables any third or fourth simultaneous key press.
Comparison Table: 2KRO vs. 6KRO vs. True N-Key Rollover (NKRO)
The table below details rollover capabilities across different keyboard switch architectures:
| Rollover Standard | Max Simultaneous Keys | Isolation Diode Matrix | Gaming Suitability | Typical Keyboard Architecture |
|---|---|---|---|---|
| 2KRO (2-Key Rollover) | 2 Keys (Plus Modifiers) | None (Direct Trace Matrix) | Unsuitable (Frequent Key Jamming) | Budget Office Membrane Keyboards |
| 6KRO (6-Key Rollover) | 6 Keys (Plus Ctrl/Alt/Shift) | Partial / Firmware Matrix | Acceptable for Casual Gaming | Standard USB Boot Protocol Keyboards |
| True NKRO (N-Key Rollover) | All 104 Keys Simultaneously | 1N4148 Diode on Every Switch | Optimal (Esports Standard) | Mechanical & Hall Effect Gaming Keyboards |
| Optical / Magnetic Rapid Trigger | Unlimited (100% NKRO) | Optical / Hall Effect Transducers | Elite (0.1ms Dynamic Actuation) | Wooting 60HE, Razer Huntsman V3, SteelSeries Apex Pro |
How Modern Gaming Keyboards Achieve Full USB NKRO
The original USB Human Interface Device (HID) specification defined an 8-byte input report format consisting of 1 byte of modifier flags, 1 reserved byte, and 6 array bytes reserved for simultaneous keycodes. Modern high-end mechanical keyboards bypass this legacy constraint through two sophisticated techniques:
- Multi-Endpoint Virtualization: The keyboard microcontroller presents itself to the operating system as multiple virtual USB HID keyboards, splitting active scancodes across parallel USB endpoints.
- Bitmapped Array Input Reports: The keyboard transmits a continuous 120-bit array where every individual bit corresponds directly to the binary ON/OFF state of a specific physical key switch.