Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
[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.
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. :-)