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.

36 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
  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
  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
  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
  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