norg Tux's lil' helper
Joined: 23 Aug 2010 Posts: 104 Location: Augsburg (Germany)
|
Posted: Mon Apr 28, 2014 8:39 pm Post subject: Additional Keypad not working correctly under X with NumLock |
|
|
Hi,
i have a Filco Majestouch Keyboard without the Keypad/Numpad Part and an additional Filco Keypad. I have a strange issue and i'm lost now.
The problem is, that both are working fine without X in the console. Under X the keypad is also working fine until i press NumLock to activate the Numbers instead of the KP_HOME etc. And also pressing "=" results in a "6" and activates NumLock.
I narrowed the problem down to the following fact. If i press NumLock the LED goes one and as soon as i press "7" for example i get in xev the KeyPress and KeyRelease for the "7" but also the keycode and KeyPress for Numlock (although it's already on). With that, the keypad doesn't do anything, no event in xev and so on. As soon as i enter "numlockx off" i can start again.
So what i want to achieve is the same behaviour as without X. I'm not sure if the Device is sending wrong keycodes, but that wouldn't explain it working without X.
For Reference the xev output:
Code: |
KeyPress event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647485546, (394,747), root:(2957,768),
state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647485690, (394,747), root:(2957,768),
state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647488362, (394,747), root:(2957,768),
state 0x0, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647488378, (394,747), root:(2957,768),
state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647488386, (394,747), root:(2957,768),
state 0x10, keycode 79 (keysym 0xffb7, KP_7), same_screen YES,
XLookupString gives 1 bytes: (37) "7"
XmbLookupString gives 1 bytes: (37) "7"
XFilterEvent returns: False
KeyRelease event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647488466, (394,747), root:(2957,768),
state 0x10, keycode 79 (keysym 0xffb7, KP_7), same_screen YES,
XLookupString gives 1 bytes: (37) "7"
XFilterEvent returns: False
KeyPress event, serial 55, synthetic NO, window 0x2c00001,
root 0x292, subw 0x0, time 647488474, (394,747), root:(2957,768),
state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
|
As you can see, "KP_Home" was correct, activating "Num_Lock" also and even "KP_7" was correct. But the unwanted last "Num_Lock" messed it up.
And xinput list (it's detected as Cypress):
Code: |
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ROCCAT ROCCAT Kone XTD id=13 [slave pointer (2)]
⎜ ↳ Cypress Cypress USB Keyboard / PS2 Mouse id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ USB Keyboard id=10 [slave keyboard (3)]
↳ USB Keyboard id=11 [slave keyboard (3)]
↳ ROCCAT ROCCAT Kone XTD id=14 [slave keyboard (3)]
↳ UVC Camera (046d:0825) id=12 [slave keyboard (3)]
↳ Cypress Cypress USB Keyboard / PS2 Mouse id=8 [slave keyboard (3)]
|
Does anyone have an idea how to fix it or to narrow it down?
Thanks. |
|