Large code values can be set and get with the EVIOCGKEYCODE_V2 and EVIOCSKEYCODE_V2 ioctls on the device. However, the format for matching seems to have changed, so maybe you have more luck if you include the bus number, as described.Įdit: Reading the kernel source, I found that each input device has its own scancode (hardware dependend, up to 8 bytes, though in many places only 1/2/4 bytes in the kernel are transferred) to keycode (what you see with evtest) translation mappings. So I can't help you much in this respect. I'm not really sure on which level of the kernel this is working, so I don't know if it will help at all, and the format for the "hardware database" doesn't seem to be documented. In the process of taking over all of Linux, systemd apparently also has now its own hardware database and can overwrite keyboard mappings. It won't be recognized by the standard evdev driver, so it's no surprise that your nf entry didn't do anything.
#MICROSOFT ERGONOMIC KEYBOARD 4000 HELP INSTALL#
So you need to compile and install this patched variant, and then the option event_key_remap will be recognized. So even if you did convert it to keysyms, they wouldn't zoom in or out).īut from what you tried to do, it looks like you want to remap them to up and down keys, identical to the arrow up and down keys that are already available as other keys on the keyboard.Īs mentioned in the answer already linked, to enable X to remap keycodes greater than 255, somebody created a patched variant of the X evdev driver.
(And maybe that's not what you want, anyway, because zooming is usually handled by mouse button events in applications, namely button 4 and 5. However, the X keyboard translations only supports keycodes up to 255 (see this answer, it's a limitation of the X protocol). So in that respect, it's already "working": You can receive the events and do something useful with it. I'm using Linux Mint 18 Sarah with 4.4.0-34-generic kernel.īackground: Your keyboard is a HID USB device, and the kernel properly recognizes the HID USB events for your slider keys, and translates them to keycodes ( KEY_ZOOMIN and KEY_ZOOMOUT). Is there anything else I can try to make it work in 2016? So the slider works, evtest can see events, but xev doesn't show anything. Input device ID: bus 0x3 vendor 0x45e product 0xdb version 0x111 What I have is > sudo evtest /dev/input/event9 In /lib/udev/keymaps/microsoft-ergonomic-keyboard 0xC022D 0xC1 # Zoom Up which we wish to be Scroll upĠxC022E 0xC2 # Zoom Down which we wish to be Scroll down In /etc/udev/hwdb.d/61-keyboard-local.hwdb keyboard:usb:v045Ep00DB* I'm trying to make slider on MS keyboard working, but still it doesn't.