keyboard key ghosting

Perm url with updates: http://xahlee.org/comp/keyboard_key_ghosting.html

Keyboard Ghosting; How Many Keys Your Keyboard Can Take?

Xah Lee, 2010-06-14

How many simultaneous key presses can your keyboard handle?

Here's a test you can do.

Hold down both Shift keys, then press x. See if the letter shows up on your screen.

Yes? Now, try other keys, while keep both the Shift keys depressed. Go through the whole alphabet. Best is to ask your friend to hold both the Shift down, then you press each and every key on your keyboard, and see if they appear on the screen.

On my Microsoft Comfort Curve Keyboard 2000 and Natural Ergonomic Keyboard 4000, when both Shift are held down, the key “x” and “/” and “3” does not work!

Key Ghosting and Keyboard Switch Circuit Design

Apparently, this is a known problem, and is a problem for vast majority of keyboards. This problem is called key ghosting. It has something to do with the design of the circuits. Basically, the electronics of the keys are laid out on a rectangular grid, and when several keys on the same column or row are being pressed, the design have problem knowing exactly which new key is being pressed. This is a simple design flaw of circuit, and can be easily fixed, however, fixing this problem so that all keys can be detected correctly when simultaneously pressed, means more electronic components, more cost, and people never really need to press more than say 5 keys at the same time anyway, so keyboard makers don't bother with complete solutions. They just re-arrange the correspondence between the keys and positions on the grid, so that common key combination do not lie in the same column or row.

Mass marketed keyboards, even expensive ones from Microsoft or Logitech, cannot detect more than 6 or so simultaneously held keys. Also, lots of 3-keys combination also fails. The exact number depends on which keys. The only exception are some gaming keyboards.

The modifier keys, e.g. Alt, Ctrl, Shift, often need to be used with other keys together. So, keyboard makers have made sure that these keys can used simultaneously no problem. But uncommon combination, such as pressing a 5 letter keys at the same time, or pressing both Left Shift and Right Shift and other keys, is practically never used. So they become the victims.

Connectors and Operating System

Apparently, the key ghosting problem isn't just caused by money-saving circuit design, but also can be caused by the connector the keyboard uses to communicate to the computer. (e.g. USB, PS/2, ADB) Your keyboard may send all the correct signals, but the design of the interface might have assumed that simultaneous n keys never happens, so is never capable of sending such signal, so your PC never receives it.

But also, it is reported that even if keyboard and the connector sent all keys correctly, you operating system, keyboard driver, or application, just doesn't know what to with it, and simply dropped the signal as if you never pressed the keys.

Here's a online app from Microsoft that you can use to test how many keys your keyboard can detect, and what key combos your keyboard is weak at: microsoft.com Keyboard Ghosting Demonstration.

You can also read more about the issue at the following sites:

Who Needs to Press 6 Keys Simultaneously?

You might wonder who actually need to press so many keys simultaneously.

Wikipedia cited Braille2000, see: braille2000.com. Quote:

To use any computer braille-entry program, including Braille2000, you will need a keyboard that responds to six-key input. Be alerted that many famous-brand computer systems are supplied with keyboards that are NOT suitable. Be especially careful when shopping for a laptop computer�not being able to use its built-in keyboard will be a real hassle.

Also, in gaming, the need to press more than 5 keys simultaneously is common. Usually, the arrows keys or WASD keys are used to control your character movement, while Shift with left/right arrow makes your avatar move left/right instead of turning left/right. Sometimes 2 arrows such as up/right arrow makes your avatar walk diagonally. Add in key for jumping or squatting, usually needed to be combined with avatar movement keys. Add a key for run mode. Then, there's also things like firing a gun, shield, quickly you have 5 or 6 keys pressed simultaneously.

Basic modern keyboards already have shifted their electronic grid so that multi-key combo with the modifier is no problem. But when the game or game playing gets advanced, like doing some strife shooting while prim jump etc as in Second Life , you need a keyboard that does well. For this reason, as cited by Microsoft and elsewhere, gaming keyboards often take the extra mile to make this correct.

As another example, i recall about 10 year ago, i can play Street Fighter on PC or other similar game on the Mac, in a 2 player versus mode. For single player, you need 4 keys for the movement and another 4 or 6 for various levels of kick and punch. For 2 person playing on the same keyboard you really need keyboard that can detect some 20 simultaneous keys correctly. Remember those super combo inputs for executing special attacks. LOL

...

Unrelated, but here's a bunch of other keyboard related tech articles:

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs