| Index || Me |

Keyboards

Touch typing learning tools

Microsoft Natural Ergonomic 4000

Microsoft NaturalErgo 4000

Remapping Zoomwheel to Scroll

Ubuntu >14.x with systemd

udev will be merged with systemd. The rules for your hardware are saved in a binary database. Existing udev rules for keyboards are in /lib/udev/hwdb.d/60-keyboard.hwdb - don't edit the file though! Every change you make will be gone after a udev-update. Just create a new rule for /etc/udev/hwdb.d/ with

sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb

For model 4000 add this:

# remap zoom in/out to scroll
# for Ubuntu 14.x
# keyboard:usb:v045Ep00DB*
# for Ubuntu 16.x
evdev:input:b0003v045Ep00DB*
 KEYBOARD_KEY_0c022d=scrollup
 KEYBOARD_KEY_0c022e=scrolldown
# or: pageup, pagedown, up, down

Insert the vendor:product code from your lsusb output after keyboard:usb:, same for evdev:input. The Space in front of the _KEYBOARD_KEY_ entries is important, don't delete it.

After editing, load your new rules with

sudo udevadm hwdb --update

Maybe you have to replug your keyboard once. If there's no change in behaviour, even after a reboot, try the following:

sudo udevadm hwdb --update
sudo udevadm control --reload

You can check the key response with evtest. If the keys 0c022d/0c022e don't work, you can try c022d/c0223.

Other Keys

The left/right arrow keys under the zoomwheel are c0024/c0025.

Example for the Functionkeys

Key Command Action (DE-setting)
[Home]   Internetbrowser
[1] urxvt open terminal
[2] emacs emacs
[3]   maximize window
[4]   align window the the right side
[5]   align window to the left side
[*]   filemanager

Unofficial Patch

Li Yu wrote an unofficial kernel patch for the keyboard (https://marc.info/?l=linux-usb-devel&m=117791396632096&q=raw) :

This patch set include :
  1. usb/hid: The HID Simple Driver Interface 0.5.0 (core)
  2. usb/hid:Microsoft Natural Ergonomic Keyboard 4000 Driver 0.5.1
  3. Some related kbuild changes. Signed-off-by: Liyu <raise.sail@gmail.com>

The contents of the patch are in natural ergo kernel patch

A little help on how to do it via https://www.linuxquestions.org/linux/answers/Hardware/Microsoft_Natural_Ergonomic_Keyboard_4000_in_X_on_Slackware_12_0

install kernel sources

cd /usr/src/linux-2.6.21.5 patch -p1 < /path/to/your/edited/patchfile issue make xconfig or whatever config option you like most to configure your kernel Go to "Devices" --> "HID Devices". Activate "HID simple driver interface", so that it gets build into the kernel. Then go to "Devices" --> "USB support". Activate "Microsoft Natural Ergonomic Keyboard 4000 Driver". I have build it as module myself, which seems to work without any problem. I guess you know how to build a new kernel, else read the nice guide from xushi: http://xushi.co.uk/guides/kernel.php, you need stage 1 step 2 and stage 4. If it doesn't work make sure that the module usbnek4k is loaded properly.