geekhack forums
Go Back   geekhack forums > wiki

Default Default:NKey Rollover - Overview, Testing Methodology, and Results



The goal of this wiki is to have a central location on Geekhack where it will be easy to check if a keyboard is truly Nkey rollover or not. Nkey Rollover (NKRO) is the ability of the keyboard to recognize multiple keypresses at once. For more on how Geekhack defines NKRO see the Do I Need Nkey Rollover Wiki. In general this is a gaming, not a typing issue since 99% of keyboards are 2KRO which is fine for typing. USB limits the rollover to 6 keys plus certain modifiers: Shift, CTRL, ALT, WIN. Other non-ALPHA keys such as Spacebar, CapsLock, TAB and Menu will limit key recognition to 5. This is commonly referred to as the 6+4 USB Limitation. Since most gamers use a mouse in one hand this is more than enough keys for typical gaming.

CounterStrike!!! Most games avoid the "bad" clusters these days but it really depends on the game.

For a good intro to keyboard blocking I recommend this article called Microsoft’s Applied Science Group’s Keyboard Ghosting Explained. More on the complex interaction of the keyboard, the OS, and the SW application is in this Microsoft "Anti-Ghosting FAQ". . For example a rather obscure bug is that sometimes you get what is known as “ghosting” – phantom key presses when you press more than 12 keys. Paul Dietz from Microsoft R&D talks about this a bit here in this Geekhack post. You can recreate this USB anomaly with a Filco NKRO keyboard as well. Unfortunately many keyboard manufacturers use the term “Ghosting” instead of the more precise term “Blocking”, probably because it sounds cooler. Once again, these USB limitations are of theoretical importance but there is little chance you have enough body parts pressing on your keyboard to see this in real life.

Unfortunately a lot of Gaming keyboard manufacturers CLAIM “Nkey Rollover”, “no Ghosting”, “Optimized Rollover For Gaming”, “Hacker Special” without being specific what that means in real life. So this database is for those people who want to know what they are getting and will help keep those keyboard manufacturers honest.

[top]How To Check By Looking at the Hardware?

First of all a matrix is used to route signals from the switches to a controller for the simple reason that a controller with that many pins is impractical. Here is a picture of a Cherry G80 Matrix. THE ROUTING OF THE MATRIX DETERMINES WHAT KEYS ARE BLOCKED! That is why keyboards all tend to act a bit differently when you run the blocking tests.

Diodes and special firmware can be used to achieve NKRO and get rid of blocking within the matrix (once again, see the Geekhack Nkey Wiki or Microsoft R&D link for an explanation of this). Filco Nkey keyboards put the diodes right on the PCB.

Or in older keyboards you may see a glass diode actually inserted into a Cherry MX switch.

Or they hide them on the other side of the PCB. The Das 3.

Diodes are a fairly simple solution to a complex problem. Unfortunately many mechanical keyboard manufacturers leave off less than $1 worth of diodes for cost reasons.

Capacitive switch keyboards like the IBM Model F, Topre RealForce, and PFU Happy Hacking keyboard do not use diodes to achieve NKRO. The Topre for example appears to route the signals in a nested hierarchy.

Microsoft R&D has patented a brand new technology they call “resistive multitouch” to get around NKRO issues and is used on the Sidewinder X4. Unfortunately Microsoft Gaming Marketing is not the best at getting the word out so it is unclear if this technology will ever be widely adopted.

[top]Instructions on How To Test using Software

The BEST test is Aquakeytest. Located here. It is free, recognizes key presses other tests do not, is visual, and even disregards OS level remappings like AutoHotkey. Another good test was written by Geekhacker Sargon and is available here. The test in the Nkey Rollover Sticky (sorry iMav) isn’t a very good test since it does not report many keys such as the arrow cluster, function keys, and others and is difficult to use since it doesn’t correct for autorepeat. As a result you have to watch the results in the Nkey Stickey – many people were reporting their Model M 1391401 as having anything from 6KRO to 23KRO due to testing error. The absolute worst test is the "Hold Two Shift Keys Down and type the quick brown fox humps da bitch dog" - it gives false positives - many laptop and Microsoft/Logitech keyboards pass this test. In other words, be skeptical of InterToobs results unless double checked.

A handy web based test is this Microsoft R&D test. Note that it does not differentiate between Lshift and Rshift. This is important if you game right handed and use the arrow cluster. Also lacks a few modifiers and the FCN row.

You want to report the MINIMUM number of keys before key blocking occurs! Even a lowly $10 keyboard will be able to report some 6 key combinations such as for example but block a 3 key combo. A Model M keyboard can report up to 8 keys for example (CTRL-ALT-SPACEBAR-SHIFT-Z-X-C-V) but fail ASX. If you post your MAXIMUM keys recognized I reserve the right to delete your post and ridicule your education in Statistics. Remember, the goal here is to look for where a keyboard fails. It’s up to the reader of this wiki to decide the failure mode is important or not.

Here are common failures on a typical keyboard (and real life FPS gaming example). Try some of these combos on your keyboard.
ASX (diagonal move and comms)
WDE (diagonal move and open door)
SDC (diagonal move and try to crouch)
WAQ (diagonal move and toss grenade)
CTRL-AQ (crawling and toss grenade)
ESDF variations with other keys (for ESDF players)
ARROW KEY cluster and a bunch of other keys (for you lefties)
CAPSLOCK-LSHIFT-S If you using the Capslock for CTRL this particular key combo can be a pain while doing some general software. Interestingly enough this key combo PASSES on Unicomp Spacesavers. Don’t assume the behavior of all 2KRO keyboards are the same. In this case Unicomp must use a different matrix to pick up the Windows keys and so it fails WAX, a combo that passes in the IBM Model M.

[top]Confirmed NKRO or 6KRO under USB

Most older keyboards in this list are going to be PS/2 only. Newer keyboards may be USB only or ship as USB keyboards but have the ability to plug into PS/2 using a purple USB to PS/2 adapter like this.

A few keyboards like the Adesso actually ship default PS/2 and you add a short cable adapter.

(In Alphabetical Order)
Adesso MKB-135B (the full sized one): 6KRO with USB cable adapter , NKRO with PS/2. Source.
Cherry G80-3494 (Cherry Red): 6KRO with USB, NKRO with PS/2 purple adapter. Source.
Cherry Corp G80-8200lpdus (Note:PS/2 versions of this keyboard): NKRO PS/2. Source.
Cherry Corp MX8100 G80-8113LRCUS-2: NKRO PS/2. Source.
Cherry Ergoplus G80-5000HAMDE/03: NKRO PS/2. Source.
Das S: 6KRO under USB, NKRO with PS/2 purple adapter. Source.
Das 3 (previous model): 12KRO under USB, can not be used with PS/2 purple adapter. Although advertised as 12KRO by buffering results over two USB frames you often got transposition errors due to a slow scanning rate. Sort of one step forward, two steps back. The need to send two frames of data does confuse the computer somewhat. If only the first 6 keys are held down, then only the remaining keys, then it rapidly alternates between these two states. Shown here.
Deck Legend: 6KRO under USB, NKRO under PS/2. Source.
Deck 82 Key - newly shipping Ice (Blue) and some of the newer Toxics (Green) : 6KRO under USB (no PS/2 option). Source.
Filco Keyboards Listed as NKRO including the Filco Zero: 6KRO under USB, NKRO with PS/2 purple adapter Source.
IBM Model F AT: NKRO AT/PS/2 adapter. Source. (And also non-AT Model Fs with appropriate adapter/converter)
iRocks KR-6230. 6KRO with USB. Can not use purple adapter. Source 1. Source 2.
Key Tronic KB101 Plus: NKRO PS/2 (Capacative). Source.
Marquardt MiniErgo (quite rare): NKRO PS/2. Source
Matias Tactile Pro 3.0: 6KRO USB. Source 1. Source 2.
Microsoft Sidewinder X4: NKRO USB (patented resistive sensing technology). For more on this read this post.
NEC APC-H412: NKRO PS/2. Source.
Northgate Omnikey 101 and CVT Avant Stellar: NKRO PS/2. Source.
PFU Happy Hacking Keyboard: 6KRO under USB. Can not be used with PS/2 purple adapter. Source
Raptor Gaming K1: 6KRO under USB. Can not be used with PS/2 purple adapter. Source.
Rosewill RK-9000: 6KRO under USB, NKRO with PS/2 purple adapter (not included - lol). Source.
Steelseries 6G Version 2, 7G: 6KRO under USB, NKRO with PS/2 purple adapter. Source.
Topre Realforce: 6KRO under USB. Can not be used with PS/2 purple adapter. Source.
XArmor U9BL: NKRO under native PS/2, 6KRO thru green USB adapter. Source Note: SHIFT - FCN keys are used for Media keys and this may cause conflict with common application shortcuts
Zenith ZKB-2: PS/2. Source.

[top]Confirmed Non-Nkey

: ALL rubber domes and scissor switch keyboards except for the keyboards above fall into this category and AFAIK are 2KRO. Even when people claim 4KRO it’s usually because they have not tested enough combinations. I am highlighting some of the more interesting failures here because they clearly show Keyboard Manufacturers lying, an interesting failure mode (as in don’t even TRY gaming with this keyboard), or because there is a lot of FUD on the internet claiming the keyboard is NKRO. For example some websites claim the IBM Model M is NKRO.

(In Alphabetical Order)
Adesso MKB-125B: 2KRO despite being advertised as NKRO. Source
Cherry Corp G80-3000 (all variations): 2KRO. Fails QWA. Source.
Cherry Corp G80-8200HUAUS-2 (Note: USB Version): 2KRO. Source.
Cherry Corp G80-6421 (MX SPOS): 2KRO. Fails QWA.
Das 2 (Cherry Corp OEM) and Das 1 (Rubber Dome): 2KRO. Fails ASX.
IBM Model M: 2KRO. Fails ASX, WDE, WAQ, and many others.
iOne Scorpius M10: 2KRO. Fails WASD Source
Omnikey Evolution: 2KRO. Not all Northgates are NKRO. Source
Omnikey NCS: 2KRO. Fails QAS. Source.
Razer BlackWidow/BW Ultimate: 2KRO - see "gaming optimized" section for failure modes
Unicomp Customizer 104: 2KRO. Fails WDE, WAQ (ouch!) and many others. Interestingly enough the Unicomp has different failure modes than the IBM probably due to the different matrix for the extra Windows keys. Source.

And 99.9% of all keyboards out there….


[top] Gamer Optimized Keyboards

ough many gaming keyboards are advertised as “Gaming Optimized” in general this just means the left hand keys tend to take priority over the right side and common gaming combos can be recognized. The problem is that it moves the problem areas to the right side of the keyboard. Even more disturbing are vendors that claim NKRO but prove to not be NKRO.

(In Alphabetical Order)
ABS M1: 2KRO - fails WAS, WDE, Caps-LShift-S (despite initially being advertised as 6KRO). Source.
Deck Fire 82, Toxic 82 and Gold 82 (since corrected in Deck Ice 82): 2KRO. Fails QWE. Source1. Source2. Source3. Source4.
iRocks KR6820: 2KRO but has optimized for many common gaming key combos. Gets special kudos from Geekhack for publishing what works instead of hiding behind “optimized” claims.

Why don’t all gaming "optimized" companies publish something like this?

Logitech G11 : 2KRO. Fails QA -Downarrow. Logitech refuses to talk about failure modes.
Logitech Gaming Keyboard G110: 2KRO Fails ZXC, MKL. Source.
Logitech G15V1: 2KRO Fails Rshift-RightArrow-UpArrow, Rctrl-DownArrow-LeftArrow Source
Logitech G15V2: 2KRO.
Logitech Illuminated Keyboard: 2KRO. Fails Lshift-W-Spacebar. No bunny jumping with this one! Source.
Microsoft Sidewinder X6 : 2KRO. Fails Ctrl-W-R. No reloading while crawling! Source.
Razer Black Widow (lighted and non-lighted): 2KRO. Fails ZXC. Well optimized around WASD/ESDF clusters. Not so much for arrow key users - any combo above 2 arrow keys fails. Source 1. Source 2 (note CTRL-AQ does work).
Razer Lycosa: 2KRO. Fails HJK but passes ASX. Source.
Saitek Eclipse: 2KRO. Fails QWA, LOP. Source.
SteelSeries 6Gv1: 2KRO. Fails QAS, WSD despite being advertised as 8KRO Source.
SteelSeries Merc Stealth: 2KRO. Fails ERT, DFG, CVB despite being advertised as 7KRO. Source.

Attached Images
File Type: jpg KR-6820E_DM.jpg (324.9 KB, 2905 views)
File Type: jpg g80-3000-trace-matrix.jpg (328.3 KB, 2356 views)

Contributors: ripster, Phaedrus2129, ch_123, Rajagra
Created by ripster, 07 September 2010 at 17:51
Last edited by ripster, 1 Week Ago at 06:04
Last comment by Konrad on 08 October 2010 at 06:11
32 Comments, 3,830 Views

Article Tools
Search this Article

Posting Rules
You may not create new articles
You may not edit articles
You may not protect articles

You may not post comments
You may not post attachments
You may not edit your comments

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 20:48.

template design by o2dazone
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.