make-keymap104 
create and load 104-key keymap based on current keymap
Copyright © 1999 Be, Inc; All Rights Reserved.

This is an unsupported shell script. It was created for a newsletter article. It should always do the right thing, however I've not tested it with every keymap. As it only produces keymaps, I'm comfortable with what it does and how it does it.

Important: As this is a shell script, you'll get more out of it if you run it from a Terminal.

Args:
  -f|--force : Overwrite any existing saved keymap file
               stored in ($HOME/104-enabled-keymap)
  -n|--no-load : don't load the resulting keymap
  -h|--help : Show this help text

If you have problems: (you shouldn't, though) The keymap it writes is normally installed right away. However, unless you configure your system to load the new keymap automatically, you should revert back to your default keymap when you reboot. Additionally, the Keymap preference allows you to change your keymap settings without rebooting, by telling it to use your normal keymap.

Its behavior is rather straight forward. It reads in your current keymap, adjusts it slightly, and writes it out to a file in your home directory. [It automatically loads the modified keymap, though it doesn't automatically over-write the file in your home directory.] There are command-line options to alter both of these behaviors. Check out --help for details.

It does a read-modify-write, with your current keymap. The only changes are to the right Option and right Control keys, and those only if your current keymap has those two keys mapped to their defaults. [ex. If you're using a custom keymap with the right control behaving like number-lock, it won't touch that key.]

When you run it the first time without arguments, it creates an executible keymap named '104-enabled-keymap' in your current directory. Executing this at a later time will install this keymap. 

'keymap -l < ~/104-enabled-keymap' or 'cat ~/104-enabled-keymap | keymap -l' will also load this keymap at a later time.

To have it load at boot time add one of those lines to your user boot script, or load the 104-key keymap and use the Keymap preference to save the current keymap as a file.

Any questions, comments, or bugs should be email to me.

Steven Black
steven@be.com
