I've done a lot of research on this, but nothing has worked. I have an IBM keyboard that is used in a Point of Sale environment that has 6 special keys that I cannot get to work in linux. For reference, this is the "Retail Alphanumeric Point of Sale Keyboard with Card Reader Layout". IBM says on their site to use setkeycodes to get it working, bot it's obviously not that easy.
Distro: CentOS 5
Kernel: 2.6.18
here is what I have done:
"showkey -s" returns 0xf2 for all 6 special keys
"showkey -k" returns 122 for all 6 special keys
However, dmesg is showing something different and can apparently differentiate between the keys.
First special key:
Code:
atkbd.c: Use setkeycodes 62 <keycode> to make it known
atkbd.c: Unknown key released (translated set 2, code 0x64 on isa0660/serio0).
atkbd.c: Use setkeycodes 64 <keycode> to make it known
Second special key:
Code:
atkbd.c: Use setkeycodes 62 <keycode> to make it known
atkbd.c: Unknown key released (translated set 2, code 0x65 on isa0660/serio0).
atkbd.c: Use setkeycodes 65 <keycode> to make it known
Each special key emits the 62 scancode in dmesg AND a different scancode 64 thru 68 depending on which key is pressed
Learning this, I proceeded as follows:
150 is unused, so I'll start with that...
Code:
setkeycodes 64 150
showkey -k
No Soup - showkey -k still responds with 122 when I press the special key
For giggles, I also tried using the scancode 0xf2 which is shown with "showkey -s" even though that comes up when every special key is pressed (as stated above).
This doesn't work either... what gives? This just shows what I tried for one of the 6 keys, but you get the idea of what I have tried.
I appreciate any ideas you guys might have.