Enabling Scroll in Microsoft Natural Keyboard 4000: Detailed Instructions
An explanation of the steps for enabling scrolling on the Microsoft Natural Keyboard 4000 using evrouter is given here. Below is the input/output on the terminal of completing the steps. Update (2011-12-30): Note that the steps below do NOT include how to make the scrolling automatically work after reboot, but that is now described in the original post. I've edited only some parts below to remove lots of lines from the install procedure. I've replaced them with[...]Everything else is as I typed it when installing on my computer. Note that there may be differences on your computer, especially the device ID (usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd may be different; run ls -l /dev/input/by-id/ to see the list of devices). The commands I typed are highlighted bold.
sgordon@lime:~$ sudo apt-get install automake libtool libX11-dev libxtst-dev [sudo] password for sgordon: Reading package lists... 0% [...] Setting up libxtst-dev (2:1.2.0-1) ... sgordon@lime:~$ cd Downloads/ sgordon@lime:~/Downloads$ wget http://debian.bedroomlan.org/debian/pool/main/e/evrouter/evrouter_0.4.tar.gz --2011-09-26 09:42:20-- http://debian.bedroomlan.org/debian/pool/main/e/evrouter/evrouter_0.4.tar.gz Resolving debian.bedroomlan.org... 80.75.66.221, 2a01:348:293::bed:1 [...] 2011-09-26 09:42:49 (17.2 KB/s) - 'evrouter_0.4.tar.gz' saved [388444/388444] sgordon@lime:~/Downloads$ tar xzf evrouter_0.4.tar.gz sgordon@lime:~/Downloads$ wget https://gist.github.com/gists/754395/download --2011-09-26 09:44:16-- https://gist.github.com/gists/754395/download [...] 2011-09-26 09:44:18 (689 MB/s) - 'download' saved [965/965] sgordon@lime:~/Downloads$ mv download patch.tar.gz sgordon@lime:~/Downloads$ tar xzf patch.tar.gz sgordon@lime:~/Downloads$ mv gist754395-1ddb698f1bd8b762416fafba17431f3a2b8ebc60/evrouter-0.4_with_key_repeats_option.patch evrouter-0.4/ sgordon@lime:~/Downloads$ cd evrouter-0.4/ sgordon@lime:~/Downloads/evrouter-0.4$ patch -p1 < evrouter-0.4_with_key_repeats_option.patch patching file src/action_xbutton.c patching file src/cmdline.c patching file src/cmdline.h sgordon@lime:~/Downloads/evrouter-0.4$ rm compile sgordon@lime:~/Downloads/evrouter-0.4$ ln -s /usr/share/automake-1.11/compile sgordon@lime:~/Downloads/evrouter-0.4$ gedit configure [EDIT THE FILE CHANGING THE VALUE OF AM__API_VERSION TO 1.11] sgordon@lime:~/Downloads/evrouter-0.4$ aclocal acinclude.m4:9: warning: underquoted definition of jm_CHECK_TYPE_STRUCT_UTIMBUF acinclude.m4:9: run info '(automake)Extending aclocal' acinclude.m4:9: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal sgordon@lime:~/Downloads/evrouter-0.4$ libtoolize --force libtoolize: putting auxiliary files in `.'. libtoolize: linking file `./ltmain.sh' libtoolize: You should add the contents of the following files to `aclocal.m4': libtoolize: `/usr/share/aclocal/libtool.m4' libtoolize: `/usr/share/aclocal/ltoptions.m4' libtoolize: `/usr/share/aclocal/ltversion.m4' libtoolize: `/usr/share/aclocal/ltsugar.m4' libtoolize: `/usr/share/aclocal/lt~obsolete.m4' libtoolize: Remember to add `LT_INIT' to configure.ac. libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. sgordon@lime:~/Downloads/evrouter-0.4$ autoconf sgordon@lime:~/Downloads/evrouter-0.4$ autoheader sgordon@lime:~/Downloads/evrouter-0.4$ automake --add-missing configure.ac:23: installing `./config.guess' configure.ac:23: installing `./config.sub' sgordon@lime:~/Downloads/evrouter-0.4$ ./configure checking build system type... x86_64-unknown-linux-gnu [...] config.status: executing depfiles commands sgordon@lime:~/Downloads/evrouter-0.4$ make make all-recursive make[1]: Entering directory `/home/sgordon/Downloads/evrouter-0.4' [..] make[1]: Leaving directory `/home/sgordon/Downloads/evrouter-0.4' sgordon@lime:~/Downloads/evrouter-0.4$ sudo make install Making install in src make[1]: Entering directory `/home/sgordon/Downloads/evrouter-0.4/src' [..] make[1]: Leaving directory `/home/sgordon/Downloads/evrouter-0.4' sgordon@lime:~/Downloads/evrouter-0.4$ cd sgordon@lime:~$ gedit .evrouterrc [EDIT THE FILE; THE CONTENTS SHOULD LOOK LIKE THE OUTPUT OF CAT BELOW] sgordon@lime:~$ cat .evrouterrc "Microsoft Natural® Ergonomic Keyboard 4000" "/dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd" none key/418 "XButton/4" "Microsoft Natural® Ergonomic Keyboard 4000" "/dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd" none key/419 "XButton/5" sgordon@lime:~$ sudo chown sgordon /dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd sgordon@lime:~$ evrouter -d /dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd device 0: /dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd: Microsoft Natural® Ergonomic Keyboard 4000 Display name: :0.0 [PUSH THE SCROLLER UP] Window "(null)": # Window title # Window "(null)": # Resource name # Window "(null)": # Class name "Microsoft Natural® Ergonomic Keyboard 4000" "/dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd" none key/418 "fill this in!" [PUSH THE SCROLLER DOWN] Window "(null)": # Window title # Window "(null)": # Resource name # Window "(null)": # Class name "Microsoft Natural® Ergonomic Keyboard 4000" "/dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd" none key/419 "fill this in!" ^C sgordon@lime:~$ evrouter -r /dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd device 0: /dev/input/by-id/usb-Microsoft_Natural®_Ergonomic_Keyboard_4000-if01-event-kbd: Microsoft Natural® Ergonomic Keyboard 4000 Display name: :0.0 Parsed 2 rules, 144 bytes sgordon@lime:~$
Created on Mon, 26 Sep 2011, 1:07pm
Last changed on Wed, 16 May 2012, 8:33pm