How many keys can be pressed at once on a Keyboard?

Sxotty

Legend
I play games like many here, and when I press more than 3 keys at once in the numberpad area the keyboard beeps and does not respond. How do keyboards function? Can they only send a certain amount of info at once? Do USB keyboards have a better implementation?


anyway thanks.

Once in programming in highschool I tried to program a keyboard driver that only kept track of when a key was pressed and when released so that you could hypotheticallly press all the keys at once, but it never really worked (although it took for freakin ever to write all the constants).
 
It's about the design of a keyboard. On my keyboard, no problem with pressing "asdfg" at the same, but beep with pressing "m,." or "hjk" at the the time. It looks like keyboards has limited resource monitoring the status of some keys.
 
Keys on a keyboard are laid out on a grid of wires (or rather, pcb traces) like below (simplified, the grid is not really ordered). When a key is pressed the horizontal and vertical vires are connected at that position. Pull high one and one horizontal wire at a time, and you can see what keys are pressed by checking which vertical wires also get pulled high, like so:

Code:
   | | | | |          | | | | |          | | | | |      
  ---X------- <-p    ---X-------        ---X-------
   | | | | |          | | | | |          | | | | |      
  -------X---        -------X--- <-p    -------X---     
   | | | | |          | | | | |          | | | | |      
  -----------        -----------        ----------- <-p   
   | | | | |          | | | | |          | | | | |      
     V                      V                           
   0 1 0 0 0          0 0 0 1 0          0 0 0 0 0

But when pressing three or more keys, problems can arise.

Code:
  1 2 3 4 5
  | | | | |
1---X---*--- <-p
  | | | | |
2---X---X---
  | | | | |
3-----------
  | | | | |
    V   V
  0 1 0 1 0


* "ghost key" appear a this position

h-wire 1 is pulled high. key at position 2,1 is held down so v-wire 2 gets pulled high. key 2,2 is also held down, so h-wire 2 also get pulled high. key 4,2 is also held down, so now v-wire also gets pulled high. But since it was wire h-wire 1 that got pulled high by the controller it looks like key 4,1 is pressed, when it's really not.

When ghost keys appear, you'll either get charaters on screen that you did not hit, or no more keys will register(and your PC might beep). When no more keys will register, it's because the keyboard controller recognises that ghost keys have appeared and ignoring new keys (not because the manefacturer has used diodes to prevent shorts, like I have seen some claim**)


Sorry about the confusing explenation.







**Such keyboards might exists, but then you would really be able to hold as many keys as you want a the same time without problems, it would not just prevent ghost keys but still limit your keypresses)
 
The better-made/more expensive the keyboard, the less of a chance you'll run into the problem of not being able to hit a lot of keys simultaneously. Supposedly nicer keyboards route wires to each key individually, while cheaper ones save manufacturing costs by using one wire per row rather than per key. I guess just read reviews, customer and "professional," to find out which is which.

I know this $10 IBM Rapid Access (IIRC) kybd is the cheap kind. Fairly noisy, too. I'm looking for a laptop-style keyboard (both for size, feel, and noise) as an upgrade. The keyboards on IBM Thinkpads are the best I've used, and I'd love to get one for the desktop (sans number pad, to save space).
 
Sorry it took a long time for me to check back, but thank you very very much.

I have a microsoft ummm... I dont know it is a split keyboard, but is ps2 and kinda old.

Is there anyway one could possibly find out which keyboards do route wires individually? Like have you seen this listed or would I have to write the manufacturer?

Like I said I get this fairly often, I press 3-5 keys in the numberpad at once, but I can only get 3 to register... this in in urban terror, you strafe left+right to run, then if you jump and reload you get the idear..
 
Back
Top