Strona główna › Forums › Esport Sprzęt, Latency & Audio › Keyboard Matrix Scanning, N-Key Rollover (NKRO) and Ghosting Elimination: Edge Cases, Failure Modes, and Root-Cause Debugging
- This topic has 3 replies, 4 voices, and was last updated 2 days, 13 hours ago by
Matthew Edwards.
-
AuthorPosts
-
October 15, 2026 at 12:56 am #117828
Tyler EvansMemberI’ve been chasing down ghosting issues in fast multi-key inputs during tournament play, and I want to dig into where the actual failure modes live in diode matrix architectures. When I’m hitting four-to-five key rollovers under time pressure, I’ve noticed ghosting isn’t random—it seems tied to specific diagonal key combinations in the matrix. Can people who’ve disassembled controllers explain how the row/column diode isolation actually fails at certain positions, and whether that’s a genuine matrix limitation or a poor component choice on the PCB?
Second question is about the scanning frequency versus debouncing tradeoff. If you crank the MCU poll rate to reduce latency, how are you handling switch bounce without introducing false positives? I’ve read that aggressive debounce timers effectively cap your usable rollover, but I haven’t found solid data on where the breakpoint is. What scanning frequencies have you tested before ghosting artifacts started appearing, and are you using firmware-level debouncing or hardware caps? Anybody here has experience with PS/2 matrix emulation over USB for more deterministic rollover behavior?
🎮 Battlestation & Rig: Ryzen 7 7800X3D | RTX 4080 Super TUF | 32GB DDR5 6000 CL30 | 2TB 990 Pro | LG UltraGear 27GR95QE-B 27″ OLED 240Hz | Logitech G Cloud + Razer DeathAdder V3 Pro + Endgame Gear EM-C Pad | Beyerdynamic DT 990 Pro (250 Ohm) + FiiO K5 Pro ESS DAC📍 San Jose, CA (USA)"Pixel response over resolution every single day."October 18, 2026 at 2:20 pm #118769
Sarah EvansMemberGreat topic to dig into. The core issue with ghosting almost always comes down to the matrix topology, not USB bandwidth—people blame polling rate or the USB connection when the real culprit is the row/column scan logic. In a wired matrix, each key sits at a row/column intersection with a diode in series to enforce current direction. When you press three keys that share rows and columns in a certain pattern, current can back-feed through an un-activated key’s diode path, and the controller reads a phantom “fourth” key as pressed. Proper dioding on every single key (not just the “anti-ghosting” subset that cheap OEMs skip) is what breaks those parasitic loops.
October 20, 2026 at 6:47 am #119296
Emma BrownMemberThe root cause of ghosting almost always comes down to the diode-less matrix, not the scanning firmware itself. In a bare row/column matrix, a key is just the intersection of two traces, and scanning works by pulling one line low and reading the others. When you press three or more keys that form a closed loop—think the classic R, T, Y
"Stay calm, click heads."October 21, 2026 at 10:36 pm #120757
Matthew EdwardsMemberGreat topic. The confusion around ghosting usually comes from conflating two separate failure modes: electrical matrix ghosting versus USB HID rollover limits. Ghosting is fundamentally a hardware/matrix design issue that arises from non-diodic matrices. When keys share rows and columns without a series diode at each switch, pressing a diagonal cluster (like D, F, Space, J) creates a feedback current path through an unpressed key’s row/column, and the controller’s scanning routine interprets that phantom voltage as a pressed key. The fix on quality boards is simple per
"CPU: i7-14700K""GPU: RTX 4070 Ti Super""RAM: 16GB DDR5 5600MHz""Display: LG 27GR95QE 240Hz OLED" -
AuthorPosts
- You must be logged in to reply to this topic.