[WORK-AROUND] If 2 keys are held down, no input from 3rd key
Hello. Debian sarge here, running on a Compaq Prosignia laptop. (pp2050)
kernel is 2.6.8-2-686 I have this funny problem with gaming. I like to play Super Mario (Yes, I own the Super Mario AllStars + World cartrage. It's legal.), but there are problems with input.In every single emulator I've tried (ZSNES, snes9x, fceu) if two keys are being held down (for example "right" and "a"), a no input from a third key can get though.In practical terms, this means that if I'm holding down the "dash" key in game, I can't jump unless I either release the dash key or the directional key. This is very akwrd. Similerly, I cannot move left or right if I jump while holding the dash key. This only happens on THIS laptop, not any of my other machines, even though I have a Gateway Solo 2500 running nearly exactly the same software. I've tried different emulators, different images, remapped keys, and different window managers. I'm starting to suspect that this is either a problem with my keyboard's buffer or a problem with XFree86. Does anyone have any ideas? |
I suspect that the problem lies in the way the PC keyboard works. Most keys, such as the alphabetic characters, arrow keys, function keys, et. al. are a complete character. When you press two complete character keys together the keyboard i/o system won't read both simultaneously. It is impossible due to the keyboard wiring.
Other keyboard keys will flip a bit in the keyboard i/o buffer but don't tell the operating system that there is a complete character. These keys include the Alt, Shift, and Cntrl. Since these keys simply flip a bit in the buffer you can AND them with a complete character code to get a second complete code. Long story => short. You could probably emulate the functions that you want by creating a keyboard binding. You still would not be able to press right arrow and "a" simultaneously to acheive a given effect. That is a limitation of how the keyboard is wired. You could create a substitute combination using one "complete" character key and one "bit flip" key. |
I recall having heard of issues like this before... The issue is called ghosting, and the way many keys are mapped(hardware wise in the keyboard) but you made me do a little searching around to see I think it is something the keyboard is stuck with. I am not sure about software side ghost allowment, but I woudl think short of using a key mapper to map 3 key presses to another key, you may be out of luck. Try searching around for ghosting though, maybe you can find something.
|
Hey, thanks for your answers.
Dang, I was hoping it was a software thing and not a limitation of my keyboard. I'll test this out in Windows too, just to make sure. I was thinking about how stress_junkie said that ctrl, alt and shift don't send a complete character code, so I remapped my three main control buttons (A, B, and X) using them. Not what quite I'm used to, (Ctrl + right + alt vs. Z + right + X) but they work! Thanks. :-) |
All times are GMT -5. The time now is 09:57 PM. |