Keyboards
Touch typing learning tools
- http://zty.pe - fun typing shmup
- https://thetypingcat.com - touchtyping courses
- https://tipp10.com - touchtyping courses
Microsoft Natural Ergonomic 4000
- Front is higher so your wrists rest in a comfortable angle
- Zoomwheel in the center
- lots of functionkeys
- windows drivers make use of everything, most things work adhoc on Linux - but you have to fiddle around a bit
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 :
- usb/hid: The HID Simple Driver Interface 0.5.0 (core)
- usb/hid:Microsoft Natural Ergonomic Keyboard 4000 Driver 0.5.1
- 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.