This work was done by Doug Ledford. You are free to redistribute it as you wish given the following provisions: 1. This notice remains intact. 2. You don't charge anything for it. This should be pretty much in line with the GPL. Assume it applies unless something here is directly contradictory. Now, to the fun stuff. This patch is to fix the problem with Linux having too few function keys to be able to define enough unique sequences for things like Wordperfect for Unix to be happy. It increases the number of function key strings available and patches the loadkeys source to work with the new number of function keys. It was made against kernel version 1.1.50, but I also know that it works against v1.1.35 and probably most other versions too. You will need the loadkeys source or else once you apply this patch without putting the new ksyms.c file in the loadkeys source then you won't be able to modify your keymappings properly anymore. It also includes two new key mappings. One for complete (as far as I can tell) SCO keyboard compatibility, and another to restore the default mappings to the system, making the allowance that the new function keys that have never been defined under Linux before, and as such have no real default, are left as SCO compatible. First, this tar file makes two assumptions. 1. That your linux source tree is named linux/ 2. That in the same directory as your linux/ subdirectory there is another subdirectory named kbd-0.87/, and that kbd-0.87 contains the directory src/. If not, tar will create them. This should be the source for loadkeys et al. Untar the archive and let it drop things where they need to be. Do this from the root of your source tree, eg. /usr/src. This is a real simple patch to implement. It changes the linux/include/linux/ keyboard.h file so that it recognizes more function strings. It also takes the files in lunix/drivers/char/ that have to deal with the keymappings that come up by default and replaces them with a set of new ones. Simply make a link to either SCO.US.keymap.c or defkeymap+F68.c as defkeymap.c in order to get your kernel to recompile with the added strings and either an SCO map by default or a Linux map by default. Note: the standard Linux map does not include all of the key sequences that hte kernel has now. For those that it did not have before, they were left as SCO compatible. Since I had nothing else to go by, that seemed reasonable enough. Patch the keyboard header file with the supplied keymap.patch file using something like patch -p1 < keymap.patch from within you linux source directory, eg. /usr/src/linux. Next, make the link mentioned above in drivers/char. Patch the ksyms.c file in ~/kbd-0.87/src and remake the whole loadkeys suite if you want to be able to modify your keymappings after you remake the kernel. You may aslo want to reinstall the loadkeys package instead of running the new version from the source tree. Remove ~/linux/drivers/char/defkeymap.o and then remake the kernel. Copy drivers/char/SCO.US.keymap.map and drivers/char/defkeymap+F68.map to your standard keymap location, usually /usr/lib/kbd/keytables. Reboot. Enjoy. If you have any problems then you can send them to me via e-mail at gdl297s@cnas.smsu.edu Thanks.