Saturday, August 7, 2010

N-Key Rollover: What It Is and How To Test Your Keyboard

In this article, I'll explain what n-key rollover is and some of the available methods for testing your keyboard's level of rollover support. N-key rollover relates to the ability of a keyboard to correctly recognize multiple key presses at once (in the case, the ability to press as many keys as you want) and is a feature that is needed among the following areas of computing:
  1. Gaming
  2. Braille Input
Even if you are not in either one of these categories, this article may still be of interest to you since keyboards with n-key rollover are generally of higher quality.  Most keyboards providing n-key rollover are of the mechanical key switch type as opposed to the rubber dome style keyboards which are, unfortunately, cheaply made and distributed with desktop PC's these days. However, I'll leave it up to another article and/or the curiosity of the reader to delve into the wonders of mechanical key switch keyboards. An excellent place to start is here.

N-Key Rollover Explained

What is it?

N-key rollover, often referred to as NKRO for short, is a term that is known and appreciated by many gaming enthusiasts but may not be as widely known as another term, anti-ghosting. Anti-ghosting is a term frequently used by Microsoft, Logitech, and other popular keyboard manufacturers when marketing their products.  It is important to know the difference between the two terms:
  • N-Key Rollover - The press of each key on a keyboard can be detected individually, which means that each key you press will be seen by your operating system no matter how many keys you are holding down simultaneously (hence the variable 'n' in n-key to refer to as many keys as are possible to press on a keyboard).
  • Anti-Ghosting - This can refer to the ability of a keyboard to recognize 3 or more key presses at once. The main thing to point out is that anti-ghosting usually implies that there is a limit on which combinations of keys and how many of them can be pressed simultaneously, while n-key rollover keyboards have no such limit (except when using USB, see 'PS/2 vs USB Technical Limitations' below). The number of simultaneously recognized key presses varies between each model of keyboard that does not have full n-key rollover. In some ways, you can think of anti-ghosting as an attempt by manufacturers to improve functionality of cheaply made rubber dome keyboards, without having to implement proper n-key rollover functionality.

    Note: Although this is how the term anti-ghosting is usually used, ghosting on a keyboard actually refers to something else. "Ghosting is when you press two keys on the keyboard, and a 3rd key - which you didn't press - gets sent to the PC as well. This is very rarely seen on even the cheapest modern boards, because manufacturers have the habit of limiting the rollover so that ghost keys are always blocked." -Overclock.net Forums
If you'd like to explore this topic in greater depth, I highly recommend starting with the following:
  • Technological Background Information - Even though this is on a braille-oriented site, skip to the section titled 'Technological Background Information' for an excellent discussion on n-key rollover (which most keyboards had in the early days of computing before keyboards became cheap commodity items).
  • Wikipedia - Explanation of keyboard rollover.
  • Microsoft Applied Sciences - Explanation of keyboard ghosting.

Why Should I Care About It?

It is probably about time to give an example to bring things into context. The Microsoft Sidewinder X6 keyboard is a fairly recent gaming keyboard that is frequently criticized for its anti-ghosting capabilities or lack thereof.  With this particular keyboard, the common complaint is that gamers can't press certain 3-key combinations like:
  • Ctrl + W + R (Crouch + Forward + Reload)
In this case, after pressing the first two keys (Ctrl + W), the third key (R) doesn't register. While key combinations like this may not be used by every gamer, it is a real problem...even with keyboards like this marketed towards gamers. Whether you are a gamer, a photoshop user, or power user of other software you may come across certain 3-key combinations/shortcuts that may not work. The circuitry in keyboards these days is designed in such a way that only certain key combinations work. Engineers optimize the circuitry so that the most common combinations will work, but the inherent drawback with the designs is that there will be combinations that just won't work. Again, I'll refer you to the Microsoft Applied Sciences article for a much more in-depth explanation.

My intent is not to single out the Microsoft keyboard, but to demonstrate that you may run into issues like this if you don't have a keyboard that has full n-key rollover support.

PS/2 vs USB Technical Limitations

Keep the following in mind if you have an n-key rollover keyboard that can be hooked up to your computer through either USB or a PS/2 port:
  • USB protocol limitation - A max of 10 simultaneous key presses are recognized, 6 non-modifier keys ('w', 'a', 's', 'd', etc) + 4 modifier keys (Shift, Caps, Ctrl, etc).  Although you are limited to 6 regular keys you are still guaranteed that any combination of keys will be recognized properly if you have an n-key rollover keyboard. I would guess that most people would not need support for more keys than this. I would also guess that the 6 key limit may have had something to do with braille input requirements rather than someone choosing an arbitrary limit (although that doesn't explain why the limit exists in the first place).
  • PS/2 - There are no limitations when using a PS/2 connection with your keyboard. You will truly get full n-key rollover support.
When given the choice between using PS/2 or USB, it is generally recommended to choose PS/2 since it doesn't have the rollover limitations.  However, if you enjoy hotplug support which PS/2 doesn't have, USB may very well be the better choice for you.

Testing Your Keyboard's Rollover Behavior

There are several ways you can test rollover behavior on your keyboard.  Among those I list below are:
  • Manual Typing Test
  • Web-based Tests/Demonstrations
  • Desktop Software (both Linux and Windows examples)

Test: Manual Typing

Often you'll see people mention the double shift-key typing test.  It is a basic test for demonstrating the problems that arise when keyboards don't support n-key rollover.  The test involves holding down both the left and right shift keys and typing the following sentence while still holding down both shift keys:

the quick brown fox jumps over the lazy dog

Use the following text input field to test it out yourself:

With most keyboards, you will see something like the following which was typed on a wireless Logitech keyboard (this will vary for each keyboard since each keyboard is optimized for different key combinations):
TE UIC RWN JUS VER TE LAY DG

You can see that a lot of characters were dropped during the test. This is what you should see:
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

Most consumer keyboards will not pass this test, so don't feel too bad that you have a crappy keyboard...because most keyboards are crappy like this.  :-P

Trivia note in case you're not sure where this phrase came from:
"The quick brown fox jumps over the lazy dog" is an English-language pangram (a phrase that contains all of the letters of the alphabet). It has been used to test typewriters and computer keyboards, and in other applications involving all of the letters in the English alphabet. Owing to its shortness and coherence, it has become widely known and is often used in visual arts. -Wikipedia

Test: Web-Based

Microsoft Ghosting Demonstration

You can use the demonstration directly below or by going to the Microsoft Applied Science ghosting demo page here.  Click within the demo and start pressing key combinations...



Tests: Desktop Software

Here are several desktop applications you can use to test n-key rollover functionality.  The first one is Linux-based while the remaining ones are Windows-based.

Gnome Keyboard Properties (Linux-based)

Gnome is one of the desktop window managers for Linux and it has a great tool for testing n-key rollover even though that isn't its primary purpose. You can open the Gnome keyboard properties with one of the following methods:

  • Run 'gnome-keyboard-properties' from a terminal
  • Go to the System toolbar menu on the desktop > then select Preferences > then select Keyboard


Once the keyboard properties window is open, go to the Layouts tab and click on the Add... button to open up the on-screen keyboard. Be sure to select the correct Country and Variant, then click within the keyboard area to start using it.



If you regularly use Windows, you can still use the utility without having to install Linux.  Just download an Ubuntu CD image (.iso file) from Ubuntu and either burn it to CD and run the Ubuntu desktop from the CD or install and run it from a USB stick...all without having to install Ubuntu on your hard drive. Further instructions for downloading and running it are on the Ubuntu website.

Aqua Key Test (Windows-based)

Aqua Key Test is a GUI application that shows an on-screen keyboard indicating the key presses that are being recognized. This is a small standalone executable that comes from Korea.

"Unlike ALL other keytest applications that I have tested (including commercial ones like PassMark KeyboardTest) this one is not tricked by fake strokes and checks only the real signals sent from your keyboard. What does this mean? This means that scripts and macro programs like AutoHotKey or AutoIt which generate keystrokes using the Windows API do not get picked up." -Geekhack.org Forums



You can download it here.

Passmark KeyboardTest (Windows-based)

This is another GUI application that shows an on-screen keyboard indicating current key presses. However, this one is trial-limited to 30 days after which you need to pay for the software. You can go to the Passmark website to download it.

69 comments:

  1. The last two tests are okay, but the typing test doesn't prove anything about your keyboard's rollover capabilities. Any crappy USB keyboard can pass that test if the matrix is wired the right way. I know this because the crappy USB keyboard I'm using right now, which I know for a fact only has 3KRO, just passed it.

    ReplyDelete
    Replies
    1. My crappy keyboard manages everything with left, right arrow keys
      BUT A HELL LOT LESS with left, up keys pressed

      Delete
  2. what kind of crappy usb keyboard do you have .. mine didnt pass the test and i have a crappy razer lycosa keyboard

    HE QUIC BROWN OX UMPS OVER HE AZ DOG

    the quick brown fox jumps over the lazy dog

    ReplyDelete
    Replies
    1. Yeah, that's really strange because my Unicomp Ultra Classic didn't pass it either.
      Didn't expect it to, either.

      Delete
    2. Razer Blackwidow passed the test.. and you can press down 14-24 (if not more) at the same time.

      Delete
    3. My Razer Blackwidow failed! Badly

      Delete
    4. THEQCKBRWFXJVERTHELAZYG

      Delete
    5. 2600$ ASUS Zenbook UX501

      THEUIKROWFOJUPSOERTHELAYDOG

      Delete
    6. £60 cm storm quickfire tk THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG :D yey for cooler master

      Delete
    7. Corsair k70 LUX Passes everything with flying colors, literally, full rollover, I can hit every key on the keyboard at same time and they will register and work, On my USB 3.0 Corsair K70 LUX that I paid $150 CAD for

      Delete
  3. lol, suckers.....My wife loves me so much she got duped into a purchase of the Steel-Series 7 for yours truly. The board passed all the tests but has a huge price tag and comes without a full size backspace button. It is a pleasure to use with the performance of the black cherry switches and the extreme over-engineering of the construction. It is a solid keyboard and my first mechanical keyboard I have owned. It turned me into somewhat of a student of mechanical keyboards, the reason I've found this site.

    toodle ooos

    ReplyDelete
    Replies
    1. THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG>

      G510 with a faulty space bar. Sorry to hear you paid so much for so little.

      Delete
    2. I also have a G510 and I got this:
      THEQUIKBROWNFOXJUMPSOVERTHELAZYDOG

      Space bar also didn't work while holding both shift keys but neither did the "C" key.

      Delete
    3. THE QUICK BROWN FOX JUMP THE FUCK OVER THE LAZY DOG. $30 chinese mechanical keyboard.

      Delete
  4. my laptop keyboard:

    TE QUICK BROWN FOX JUP OVER TE LAZY O

    not so bad, isn't it?
    just the H, M, S, D and G

    ReplyDelete
    Replies
    1. How it does at this test doesn't necessarily tell you how it would do in everyday use. Some keyboards will handle some tests better than others and some tests worse. Really, the only way for your keyboard to do well is to type every character without fail (which the one I'm typing on now doesn't do).

      Delete
  5. THE QUICK BROWN FOX JUMPS OVER THE LAZY LOG

    My 2011 Macbook Pro.

    ReplyDelete
  6. HE QUIC BROWN OX UMP OVER HE Z OG

    wow what a piece of shit

    ReplyDelete
  7. I have the daskeyboard ultimate clicky (and silent - clicky is best) and it's probably the best keyboard ever made.
    http://www.daskeyboard.com/

    ReplyDelete
  8. my ducky zero managed the test perfectly with and wthout n-key roll over :D

    ReplyDelete
  9. HE QUIK BROWN FO JUPS OER HE LA DOG

    is this is the reason i cant play fifa 13 on my new laptop....my player cant sprint diagonally of the field????

    ReplyDelete
  10. This is a very informative page, but I think I might have found the exception to the rule. I'm using a PS/2 Microsoft Natural Keyboard Elite on a brand new Dell Optiplex 9010, and this is the result of the typing test:

    TE UIC RWN JUS VER TE LAY DG

    Before anyone says anything, it's not using a PS/2 to USB converter, it's a true PS/2 connection. So unless there is some trickery going on where the motherboard has a built in PS/2 to USB converter (which I don't think is true, the device manager shows a standard PS/2 keyboard), I think it actually performs worse than the standard USB keyboard Dell sent with my system. Actually, let me plug it in and find out!

    HE QUIK BRON FO JUPS OER HE LA DOG

    So here is what was missed:

    PS/2 - H, Q, K, B, O, F, X, M, P, Z
    USB - T, C, W, X, M, V, Z, Y

    Yep, the PS/2 keyboard actually performed worse. Here they are side by side:

    PS/2 - TE UIC RWN JUS VER TE LAY DG
    USB - HE QUIK BRON FO JUPS OER HE LA DOG

    What is up with that? Oh well, I give the PS/2 keyboard a pass because it's one of the best ergonomic keyboards ever made to me!

    ReplyDelete
  11. Viper6372, your Microsoft Natural Keyboard Elite is not a mechanical or N-key rollover board. The article is saying that:
    1. *IF* your keyboard is N-key rollover capable
    2. *IF* it is plugged into a PS/2 port
    Then any combination of keys will be recognized.

    In your case, you don't fulfill requirement 1.

    I just tried this on my MS Natural 4000, and it only missed the X. I'm sure if I tried the other software tests that there would be more letters missing.

    On my new fully mechanical CoolerMaster Storm, with Cherry brown switches, I passed the typing test, even over USB.

    In regards to your USB / PS/2 test, the article is saying that there are some operating system workarounds which allow more key combinations to happen even if the keyboard is non-mechanical.

    Maybe these don't apply to PS/2 connected keyboards. Try connecting your cheap Dell with a PS/2 adapter, and see what happens.

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. HE QUIC BROWN OX UMP OVER HE Z OG
    Templarius Gladiator...

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. I have a tesoro durandal g1nl ultimate, it says full nkro on usb, are that's possible? Will nkro work without ps/2 connector?

    ReplyDelete
  16. My laptop keyboard: THEUCIROWFOJUPSOERTHEAYDOG
    Great.................

    ReplyDelete
  17. it works with 5 keys at once but not W A buttons with space
    plsssssssssss help

    ReplyDelete
  18. My laptop keyboard aswell
    THEUIBONFOXJUMSOVETHEAYDOG

    Only difference was that I was using this with Dvorak.

    Still looking for an NKRO keyboard. Something cheaper than this beauty. http://plover.stenoknight.com/2013/08/hands-on-with-stenosaurus.html

    ReplyDelete
  19. HP Pavilion DV9000 keyboard :(

    THKBNFJSTHLAYDG

    I will update here tom, I will test my Dragon War Recon keyboard.

    ReplyDelete
  20. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    ducky shine 3 snake edition

    ReplyDelete
  21. Small correction, in the section "This is what you should see", you have written "LAZY LOG" instead of "LAZY DOG".

    ReplyDelete
  22. Thanks for the correction Per Edman!

    ReplyDelete
  23. THE QUICK BROWN FO JUMPS OVER THE LAZY DOG

    Microsoft Confort curve 2000

    ReplyDelete
  24. THE QUICK BROWN FO JUMPS OVER THE LAZY DOG Tt eSPORTS CHALLENGER

    THE QUICK BROWN FOX UMPS OVER THE LAZY DOG LOGITECH G105

    ReplyDelete
    Replies
    1. Update:

      HE QUIC BROWN OX UMP OVER HE Z OG Genius G235

      THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG MS Sidewinder X4



      Delete
  25. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Ttesport MEKA

    ReplyDelete
  26. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG (using the neo2 keyboard layout via AHK)

    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG (German standard layout)

    My Filco Majestouch Pro 2 (105-key ISO layout, plugged in via USB) arrived today and I just had to test it.
    Gosh, I love the MX blue switches. Never ever will I buy a rubber dome keyboard again!

    ReplyDelete
  27. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    razer blackwidow (gaming mode)

    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    razer blackwidow (non gaming mode)

    ReplyDelete
  28. I have the Cooler Master Quickfire Rapid and it passed the manual typing test.

    ReplyDelete
  29. Ducky Shine 3 passed the test fine with N-Key Rollover

    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
    the quick brown fox jumps over the lazy dog

    ReplyDelete
  30. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    nice. I am using a Razer Blackwidow Stealth 2014. And I keep like this how many times I want.

    ReplyDelete
    Replies
    1. I see your razor blackwidow and challenge you to put a rubics cube or other hard heavy object on the number pad. then something else on the arrow keys, and try again. Das keyboard 4 ultimate passed it, and I'm really curious to see how it compares.

      Delete
  31. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG - DAS keyboard 4 ultimate.

    it passed it with not only both shift buttons pressed down, but also the entire number pad and the arrow keys.

    ReplyDelete
  32. THKBNFJSTHLAYDG

    Wow no wonder I cant play games proficiently on my laptop.

    ReplyDelete
  33. This comment has been removed by the author.

    ReplyDelete
  34. Razer DEATHSTALKER Expert Edition.

    Holding down both shift keys:
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Holding down the arrow keys and number pad (using my finger and 2 packs of a 24 piece battery):
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Just for shits and giggles. I decided to put 9 of my fingers on every non alpha key just to see if I can still type the sentence. I was typing with my left thumb. Here is the result;

    $!@THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    The first 3 characters was the result of simultaneously holding down all 9 random non alpha keys before the sentence, anyway, as expected from a Razer brand keyboard.

    Consider me a satisfied Gamer/Consumer.

    ReplyDelete
  35. This comment has been removed by the author.

    ReplyDelete
  36. Holding down both shift keys:
    THE QUICK BROWN FO JUMPS OVER THE LAZY DOG

    Not bad for this low price keyboard dragonwDragon War - Q2 - GKM-001 only the X key does not work, i'm very much satisfied with this keyboard.

    ReplyDelete
  37. K70 RGB:
    N-Key Rollover:
    the quick brown fox jumps over the lazy dog
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    ReplyDelete
  38. Powerlogic Armageddon KAI-9 Sentinel

    THE QUICK BROWN FO JUMPS OVER THE LAZY DOG

    it only misses "X". Awesome :D

    ReplyDelete
  39. Gigabyte Aivia K8100 Gaming Keyboard:
    THE QUICK BROWN FO JUMPS OVER THE LAZY DOG

    Samsung RF712 (NP-RF712-S02) Notebook:
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    I am surprised. :D

    ReplyDelete
  40. THCE ZQMU;ICEK BVR:OXWN F:OXW JMUMU_PS :OVRCEVR THCE LAZQY D:OG

    My Compaq 6910p's embedded keyboard doesn't actually "miss" any letter :-)

    ReplyDelete
  41. HE QUIC BROWN OX UMP OVER HE Z OG
    Dragonwar GK-004 Silvio

    wow shit it misses a lot on a 16$ keyboard lol

    ReplyDelete
  42. I need some help here guys, my keyboard works perfectly, it can do all of the tests, but for some reason if I press Shift + W + E and press E two times, the E button will stick as if I was still holding it until I release Shift and W, which is what annoys me when I play games. It doesn't do it the other way around when I hold E and Shift, the W button does not stick. Is it because I've managed to use the E button so much that my mechanical keyboard has become a potato?

    ReplyDelete
    Replies
    1. EDIT: It actually happens with W alone, shift has nothing to say in the matter.

      Delete
  43. On this school Dell Latitude 3330 I got:
    HE QUIK BROWN FO JUPS OER HE LA DOG
    pretty good eh?
    NOW I A PING WIH BOH SHIF KES HELD

    ReplyDelete
  44. corsair k70 non-rgb.
    bios switch set to 1:
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    * Recognizes more keys than I can press at once, (over 12+ keys at once)

    bios switch ON (turns off N-key rollover):
    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    * Recognizes a maximum of 6 keys

    ReplyDelete
  45. This can also affect normal typing if you are going fast. Every once in a while I run into this during normal typing, and I am far from the fastest typist in the world.

    ReplyDelete
  46. just bought $15 chineese keyboard called kinbas vp-x9 :

    result :

    THE QUICK BROWN FO JUMPS OVER THE LAZY DOG

    wow it only fail at x key! its really impressive isn't it!

    ReplyDelete
  47. Some of these keyboards I actually own, while some were borrowed from friends to test:

    PASSED:
    All the keyboards below returned "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"

    - Unbranded $3.50 membrane keyboard
    - Corsair Vengeange K70
    - Das Keyboard 4 Professional (*1)
    - Ducky One
    - Ducky Shine 5
    - E-Element Z-77
    - Filco Majestouch Camouflage TKL
    - Logitech Wireless Compact K340 (*2)
    - Roccat Ryos MK Pro
    - Rapoo VPro V500 RGB
    - Rapoo VPro V720 RGB
    - Razer Blackwidow (all variants)
    - Redragon Yama
    - Thermaltake eSports Poseidon Z RGB


    FAILED:

    Unbranded $5.00 membrane keyboard:
    UIK BRON FX J*S OVR LZY DG

    Zalman ZM-K500 (*3):
    he quic brown ox ump over he z og

    Logitech Illuminated Keyboard:
    QUICK BRO FOX JUS OVR LAZ DOG

    Logitech Ultra Flat Y-BP62a:
    HE QUIC BROWN OX UMS OVER HE Z OG

    Acer Aspire laptop keyboard (*4):
    TE C BRWN FX *S VER TE AZY

    Lenovo X230 laptop:
    HE QUIK BROWN FO JUPS OVE HE LA DOG


    NOTES:
    (1) For Das Keyboard 4 Pro, I got the same result whether the NKRO feature is ON or OFF. This is the keyboard I use this in my home office.

    (2) I actually had this keyboard for over 3 years, and I was quite surprised that it has NKRO.

    (3) The K500 is positioned by Zalman as a gaming keyboard, although it doesn't claim in it's web site and product packaging that it has NKRO. Highly unusual for a gaming keyboard not to have NKRO feature. Even with its dismal NKRO performance, I still find it a decent gaming keyboard in actual practice, primarily due to the linear Kailh Red switch.

    (4) This has the oddest behavior. The 'U' key gives the letter 'Q', 'K' generates down arrow, 'P' generates '*', and other keys generates random backspace keystroke. This behavior is consistent with 3 other models of Acer laptops I tested.


    Just one last observation, and this is my opinion so please take it with a grain of salt: NKRO is a nice feature to have specially when I play games, but is not a deal breaker for me. It's the feel and sound of the keyboard that matters more becasue that's where majority of my typing experience lies. Mechanical keyboards, which I prefer, make me work faster -- not because they make me type faster, but because they're more consistent and reliable.

    ReplyDelete
  48. HE QUIC BROWN OX UMP OVER HE Z OG

    .. Genius KB-110 keyboard..

    Keys unsupported: T, K, F, J, S, L, A, Y, and D.

    ReplyDelete
  49. COOLER MASTER WINS ALL THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    ReplyDelete
  50. "QUIC BRO FOX US OVR DOG" logitech k120 cheapo keyboard

    ReplyDelete