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:~$