There are four "special function" keys at the top of the keyboard. Obviously since you pay for them you want them to do something useful under Linux :-) and naturally it is possible to bind them to specific tasks. On my machine I have bound the first two to scroll up and down (like shift-pgup/pgdn) and the second pair to increment/decrement the VC (like alt-leftarrow/rightarrow). This is accomplished in two steps. First, the keymap needs to be altered so that it has some entries for binding the given operations to single key-presses. To do this, gunzip /etc/kbd/default.map.gz and edit it. I have assigned keycodes 89, 90, 91 and 92 (which are not otherwise assigned) for the purposes described above (see Appendix F for a full file listing). At the same time I changed the caps lock to a control key (I'm used to Sun keyboards which are like this, and I find the left-hand control key on the Compaq to be in an awkward position). Now this needs to be saved, gzipped and reloaded (don't worry, it should be re-loaded at next boot) by running loadkeys /etc/kbd/default.map.gz. Finally, tell the kernel to map the scancodes (0x65, 0x67, 0x69 and 0x6b for the four keys respectively) to the keycodes we have specified by running setkeycodes on each scancode/keycode pair. I have created a little script to go in /etc/rc.boot for this purpose (see Appendix F for the file). Mmmm aren't layered architectures fun! Anyway, now you can have fun scrolling and switching between consoles with just one keypress.
In X if you wish to make the caps lock another control key - and lets face it, who actually uses the damn caps lock anyway - you can do so easily by adding the following to /etc/X11/Xmodmap:
boot = /dev/hda2 root = /dev/hda2 install = /boot/boot.b map = /boot/map vga = 771 append = "parport=0x378,7" delay = 50 image = /boot/vmlinuz-2.2 label = linux read-only image = /boot/vmlinuz-2.0.36 label = oldlin read-only other = /dev/hda1 table = /dev/hda label = win