Mapping a Microsoft Keyboard specific key under Linux, when xev doesn't see this key

2

I have a Microsoft Wireless Keyboard 1000. Between the SpaceAlt Gr and MenuCtrl keys, I have a key with 3 application windows drawn on it, and which displays a 3D overlay of all open windows and cycle through them (under windows).

The thing is I have gone for Linux for several months now. And now I have this unused key at this useful place.

I would like to map it to something else, but when I launch xev, that key, precisely only this one, keeps silent. No X Window event, so impossible to get the keycode, and to remap it.

Do you know if I can do something so as X Window tracks events of this MS specific key ?

I have looked at Key is not detected in xev neither showkey -k in Ubuntu 10.04 in a Virtualbox VM indicating to try dmesg|tail -5 after using the key. But I have no message related.

Stephane Rolland

Posted 2013-03-14T09:28:56.403

Reputation: 400

1http://superuser.com/questions/342107/getting-macro-keys-from-a-razer-blackwidow-to-work-on-linux might be useful to look at, I was trying a bunch of stuff to try to work out what some unknown keys were. Might give some ideas on what to try. – Journeyman Geek – 2013-03-14T09:57:28.473

Answers

1

Scancodes are mapped to keycodes, which are then mapped to keysyms depending on used keyboard layout. Most of your keys should already have a keycode, or at least a scancode. Keys without a scancode are not recognized by the kernel; these can include additional keys from 'gaming' keyboards, etc.

first install evtest

sudo apt install evtest

run evtest and select your keyboard

sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Power Button
/dev/input/event1:  AT Translated Set 2 keyboard
/dev/input/event2:  VirtualPS/2 VMware VMMouse
/dev/input/event3:  VirtualPS/2 VMware VMMouse
/dev/input/event4:  VMware VMware Virtual USB Mouse
Select the device event number [0-4]: 

and try to push keyboard keys; you should see scancodes being printed to the output. If you don't, well, you need to figure out how to talk to the keyboard, it must have proprietary functionality. This probably involves writing a custom driver and/or the proper USB communication. Sniff the USB on Windows to begin your journey. Or you can just get another keyboard. Check out https://github.com/qmk/qmk_firmware, you can create keymaps on the keyboard itself and get custom functionality out of every key. I'm typing with qmk right now.

ref: https://wiki.archlinux.org/index.php/extra_keyboard_keys

JeremiahBarrar

Posted 2013-03-14T09:28:56.403

Reputation: 825