Hello,
I got my DecK 82 Key Fire earlier this week. I have been enjoying it- as has my girlfriend because usually I use the extremely loud IBM Model M. I finally got a chance to do some gaming on it this weekend and ran into some problems...
I use WASD for movement in FPS games. As I was moving forward/back/strafing I noticed that I appeared to be ducking very quickly. My duck key is the CTRL key. Very strange. If I held down W-A-D, my character would assume a crouching position. I tried this on a few games. If I do it with Firefox open, it recognizes this key combination as CTRL+W or CTRL+B and closes all my tabs or prompts for adding bookmarks 1923812 times, respectively. Now I assure you I am not accidentally hitting my CTRL key or anything
So I ran "xev". It's a tool that displays events from X. This confirmed what was happening. Here is example output when I hit W-A-D simultaneously and release:
Code:
KeyPress event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424125, (191,462), root:(822,519),
state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (64) "d"
XmbLookupString gives 1 bytes: (64) "d"
XFilterEvent returns: False
KeyPress event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424133, (191,462), root:(822,519),
state 0x0, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (77) "w"
XmbLookupString gives 1 bytes: (77) "w"
XFilterEvent returns: False
KeyPress event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424141, (191,462), root:(822,519),
state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424261, (191,462), root:(822,519),
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424261, (191,462), root:(822,519),
state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (64) "d"
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
root 0x155, subw 0x0, time 4424269, (191,462), root:(822,519),
state 0x0, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (77) "w"
XFilterEvent returns: False
As you can see, there is a Control_L event (same as if I pressed the Ctrl key for real). Depending on the exact sequence I hit the keys in, sometimes just "w" will be the other key or "d" or two keys like in this example.
Upon further testing, this appears to happen with _almost_ any combination of 3 keys in two different rows. If I try 3 keys on 3 different rows, I can't cause it to send a Control_L event. It also appears that any 3 keys vertically in relation to each other can cause this. For example, Z-X-W does it. But Z-X-R doesn't. They have to be somewhat vertically aligned. Could this have something to do with how the board is designed?
Checking my xorg.conf file, I don't see much in regards to what I can do configuration-wise. There is a "keyboard" driver which should work with pretty much anything.
Begrudgingly, I installed Windows on this machine to see if perhaps this board was just defective (UPS really beat it up badly, I was surprised it worked). Worked fine under Windows. Any ideas on what is going on here? It will really suck if I have to return this board.
Thanks in advance,
Slash
EDIT: Just wanted to mention that I tried it in every USB port I have and it's not connected to a USB hub or anything.