Ergonomic Management Keyboard

Recently, in work, I got a Microsoft Natural Ergonomic Keyboard 4000 – aka the Ergonomic Management Keyboard. Microsoft have always made fantastically good hardware, as far as I’m concerned, and this keyboard is a delight to use. The keyboard works fantastic under Windows, as it should – being a Microsoft keyboard and all. Under Linux however, it can be slightly more complicated.


The main issue I’ve had with the keyboard so far (apart from having to relearn how to type, of course), has been the little scrolly thing in the middle between the centre keys. Ideally, I’d like to be able to use that as a proper scroll wheel – like on a mouse.


I’ve seen various ways of enabling this, the major one being a kernel patch, as the keyboard manager is maxed out at 255 keys and the scroll wheel is bound to 418 and 419. Since I can’t patch the kernel on this machine, as it would horribly break the NVIDIA drivers (I’ve tried… Don’t), I found a very simple little hack to get the scroller working under OpenSUSE 11.4 Gnome.

Open up /lib/udev/rules.d/95-keymap.rules in your text editor of choice, and find the segment called

# The following are external USB keyboards



All you need to do is put the following line between the start and end of this segment, and reboot your machine.

ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d up 0xc022e down"

You can replace up and down with pageup and pagedown, if you’d like faster scrolling with the scroll wheel.
The top row of buttons, the grey ones, can easily be modified using the gnome keyboard shortcuts utility. The top row of 5 buttons start at XF86Launch5 and finish at XF86Launch9.