PC keyboards, issues when playing arcade type games (new, remakes or on emulators)

On 2018-2-7 I tried Defender on Mame and immediately recalled why I didn't play it more on the PC when "Williams arcade classics" came out (1995). The issue is my IBM clicky keyboards: The click is not great, it hinders for this type of game, but also pressing A+Z or S+X and keeping them pressed and then pressing return/enter or shift just ignores the enter/shift key. Not all keys are ignored, space works for example, but, I just cannot play Defender (nor Planetoid emulated) this way.

Is there a lower level access to the keyboard? If so that would explain why with Doom/Descent/Duke 3D I never had problems. In any case, I realised today that I tend to play using A+Z pressed at the same time the same as with both not pressed. On the BBC micro this works, but on the PC if I press some other keys, then keep going down when pressing up when I'm already going down while keeping both pressed, so one of the A / Z does not register as being pressed. If I press A+Z (or S+X so as to use Q instead of TAB for a smart bomb, as advmame uses TAB for menu) then ENTER (to shoot) or SHIFT (thrust) it doesn't work, but SPACE for reverse does work... What happens with the BBC micro and IBM PC keyboard too is that when 3 keys are pressed together it generates another key. In a way it's worse than on the BBC micro (where if you press 3 keys together, then a 4th key has the state of being pressed, the number of which is the EOR of all 3 key numbers). On the BBC micro it never hindered for some reason, mainly because you can scan for each key, but on the PC this is a problem due to the key-press and key-release event nature of the kb protocol.

Besides the US 101 I tried an IBM 122 key keyboard and here I can press S+X, Enter shoots, but SHIFT doesn't give thrust, so there is the same problem just with different keys. I tried a bit more to play Defender and it's better with this keyboard but all the time I have issues with getting killed or not reversing to pick up a man or something as some keys don't respond, so it's a waste of time to continue, I just cannot play Defender with these keyboards.

I checked what is possible with PC keyboards and there is apparently no lower level access, just key press and release events (no possibility to send a command to the keyboard to check if a certain key is pressed), but then why did I never have problems with many PC games such as Doom, Descent, Duke 3d, Sega rally? Well, I asked Unicomp (pckeyboard.com) if their keyboards have 6-key rollover or n-key rollover. They make the same keyboards as the original IBM keyboards (same buckling spring key switches etc.), and their quite detailed reply gives some hints:

Given the way we connect our switch matrix, our statement about phantom keys and rollover is, unfortunately, complicated. Our keyboards meet and exceed the Microsoft and IBM standards for multi-key combinations. Our keyboards will support any one to four modifier key combination (Shift, Control, Alt and/or GUI keys) plus a fifth key as long as:

1) No Left+Right modifier keys (Left+Right Shift, Left+Right Control, etc.) are involved in the combination, and

2) Neither the Up Arrow, Pause key, nor the Caps Lock key are the fifth key.

Our original intent was to support multi-key sequences required by any Microsoft OS or Application and to the best of my knowledge, that's still true. Of course our keyboards will support other key combinations larger than five key sequences without generating a phantom key situation and there are some 3 key sequences which will generate a phantom condition. Consequently, it's difficult to make a generic statement beyond the one above.

As for rollover, the USB HID and boot protocol standards limit our USB keyboards to six key rollover. The buffer sizes and key processing in our PS/2 controller limit those keyboards to 7 or 8 key rollover.

I had already read about the rollover limitations when using USB due to HID protocol, but say 6-key rollover is quite enough for most purposes, and with that I will assume is meant also no ghost (i.e. apparent) key presses created by multiple others up to that number of keys pressed.

"some 3 key sequences which will generate a phantom condition" means that their keyboards are 2-key rollover but esp. with some modifier keys there is a higher limit. This explains why with playing various games such as Doom, Descent, Duke 3D, I never noticed it, because the default key combinations for the PC games that I mentioned, often use the cursor keys for movement with shift/alt for fast/strafe (duke/doom/descent). There seems no problem in many keyboards then, and along with the fact that such games do not require the accuracy in movement (or else you're dead!) that 1980s arcade type games require, this means any limitations in simultaneous key presses are not that bad in practice. Where you do need accuracy, is aiming and then shooting at something, and for that I always used the mouse. But I also used the mouse along with the movement keys during running. So this explains why I didn't have problems playing games on the PC, except when I tried Defender on Willams arcade classics (I tried a few games in 1995 but stopped at it was unplayable due to the above problems) and then a few other similar games that require multiple key presses at the same time. Possibly the WASD pattern that many people use explains for PC gaming also why they have fewer problems: It is more likely then to not press keys at the same time because these keys are all close together. I find it far inferior to 1 direction per hand, but of course I then run into problems with 2-key rollover with e.g. ZX/'.

Some people mention that 'cheap keyboards' have this problem, but it's not about price. I have a bunch of original IBM keyboards, 2x US 101, a few Dutch 102, even a 122 key terminal keyboard, and they all have 2-key rollover which just isn't good enough. The current unicomp/pckeyboard keyboards also have 2 key rollover and they are not cheap.

With the BBC micro, you can scan each key instead of waiting for key press/release events, which is far better, as at least you know if a key was pressed, even though ghost keys appear with 3 keys pressed.

So it seems there is no way around it: The issue is a hardware limitation in the keyboards, there is no way to get lower level access to the keyboard from whatever OS you use, as I had a look at the serial protocol for PC keyboards which makes clear that all you get is key press events and key release events. You cannot check for a specific key being pressed. So for proper PC gaming, you need to get a 6-key or n-key rollover keyboard. Often rollover is not mentioned except for when a keyboard is a "gamers' keyboard". When were they introduced? I guess that nobody played games on the PC in the 1980s or 1990s! :)

So now I'm looking for a keyboard, minus numeric pad as I never use it, and the acronyms to look for are:
- TKL (ten keys less) = no numeric pad (but most of the rest of a full keyboard, i.e. cursor keys, page up/down etc. and function keys)
- NKRO = n-key rollover = no limitations on pressed keys.
And it should be white or beige! :)

Any suggestions? So far on my short list:

Then there is the question of which keyswitches: there is a lot of choice! It seems from reviews that Gateron clones of Cherry MX are in fact better than the Cherry switches. Blue have a tactile switch feel to them, and noise, a bit similar to but not as good as IBM/Unicomp's buckling spring, from what I've read. Red and brown switches are linear (no bump/click) and red apparently has the lightest action (lowest required force). Linear switches are said to be the most suitable for playing games. My experience is the same, IBM clicky keyboards are not that great for playing games, and poor for playing arcade type games where you need more control, simply because of the click. I felt that way with the BBC micro too: Type 1 switches are linear and work best for games, type 2 is a bit heavy going, nice feel for typing but not good for games, type 3 has more tactile feel with almost a click, also not so great for games.

2018-2-15: I could make a dedicated game controller, but for a start I decided to go with the Anne pro. I want to try out the blue Gateron or Cherrys at some point, but I will start, as I want the KB to be useable for games, with Gateron reds. I can use this KB also while travelling for my tablet and I could get new keycaps with Cyrillic on them too as Cherry and the clones are standard in attachment of keycaps, and many types of keycaps are made for these switches. This is a problem with the IBM/unicomp buckling spring keyboards. Unicomp only has either English or Russian keycaps, not combined. After using this keyboard, I will decide what else to do.

To email me, go to this page