01 // The Matrix Concept
Most keyboards don't have a dedicated wire for every single key. Instead, they use a Scan
Matrix.
This grid of rows and columns allows a microcontroller to scan 100+ keys using only ~20 physical
pins.
When a key is pressed, it bridges a row and a column. The controller identifies the key by checking which intersection is complete. However, without isolation, electrical current can take "shortcut" paths through other closed switches, creating phantom inputs.
02 // Ghosting & Blocking
Ghosting happens when current flows backward through the matrix. If you press three keys in a
rectangle pattern, the fourth corner key will "ghost" as pressed. Cheaper keyboards use
**Blocking**
to solve this: if the controller detects a pattern that *might* ghost, it simply ignores the
input.
This is why some keyboards can't handle common gaming combos like
W + Shift + Space.
03 // The NKRO Solution: Diodes
True N-Key Rollover (NKRO) is a physical hardware solution. By placing a **Diode** behind every switch, electricity is forced to flow in only one direction. This prevents backflow through the matrix, making every single key electrically isolated and uniquely identifiable regardless of how many others are pressed.
04 // Report Protocol vs. Boot Protocol
USB HID (Human Interface Device) has two modes:
- Boot Protocol: A legacy BIOS-compatible mode limited to 6 keys + modifiers (6KRO).
- Report Protocol: A high-performance mode that uses a variable-length bitmask to report the state of every key simultaneously.
Most modern gaming keyboards dynamically switch to Report Protocol once the Operating System loads. The **Cytific KB Tester** probes these reports to determine if your hardware is effectively bypassing the 6-key limit.
05 // Bitmasking Deep-Dive
In NKRO mode, a keyboard sends a 120-bit or 160-bit array (depending on layout size) every poll cycle. Each bit in this array represents a specific key index.
[00000001 00000000 10000000 ...]
When you press 'A' (Index 4) and 'B' (Index 5), the 4th and 5th bits of the array are set to 1. The OS decodes this bitmap instantly, allowing for mathematically "perfect" simultaneous input across the entire 100% board layout.
NKRO TECHNICAL FAQ
Yes, provided the wireless protocol (2.4GHz or Bluetooth 5.0+) supports large HID report descriptors. Older Bluetooth 3.0 implementations are often hard-capped at 6KRO to save power.
For standard prose, no. Even the fastest typists rarely exceed 4 simultaneous keys. However, for stenography (typing in chords) or high-APM rhythm games (osu!, StepMania), NKRO is mandatory.