Once there was a game called StarControl, and i also remmber it have this problem.
It's called KeyBoard - Jam, in any keyboard it's diffrent.
After pressing some keys , and keep them pressed, messages of pressing other keys are not passed. But some times there are still keys that do pass the messages. Like if you keep keys 1,2,3,4,5 pressed, you will not get the key 6 message, but you will get ' key pressed, or so.
You just need to find the keys that do work.
StarControl had a program to find those key jamming.
: I am working on a two-player, split screen game that is very keyboard intensive. Both players control their respective character via keyboard input. The character control is very fluid, but requires that the user hold down two or more keys (such as the 'up' AND 'left' keys to move in a diagonal direction. The problem is, I can not get the program to register more than three simultaneous keypresses. If player one is moving diagonally, then player two can only move up, down, left, or right as the fourth keypress does not register. If player one moves diagonally AND fires guns then player two cannot move at all! I am currently using the GetAsyncKeyState() API function inside of a do...while game loop. The players each have their own small form, which are child forms in an MDI. Please, please help as the game is complete except for this control issue. It pains me to not be able to share my game w/ family and friends because of this one little issue! I thank you in advance for your time and consideration on this problem!