Remapping your PowerBook Keyboard
Now works with iBooks, and Lombard G3s, and with OS 9 (up to 9.2.1)
I haven't had time to figure out how to do this with OS X.
This document tells how to make the row of function keys on yourPowerBook serve as PageUp, PageDown, Home, End, and Forward Delete.
By the way, several people have written to me asking about a way to switch the CapsLock and Control keys. As far as I know, you can do it, but you get a locking Control key. Sorry!
The exact changes made are:
| ORIGINAL KEY
| NEW FUNCTION
|
F5 | End
|
F6 | Home
|
F7 | Page Down
|
F8 | Page Up
|
F12 | Forward Delete
|
Warnings:
- These changes are "hardwired" into your system, so if you come across a program that needs the functions keys, you won't be able to access them.
- Work on a copy of your system. I made a RAM startup disk and did the changes there first to check it out.
THE EASY WAY TO MODIFY YOUR KEYBOARD
- Download the "Modified KMAP resource" file.
- Open this resource file in ResEdit or Resorcerer.
- Open a copy of your System file in ResEdit also.
- Copy the only resource in the "Modified KMAP resource" file and paste it into the System's resource window.
- When you paste, you will get a warning asking if you want to replace resources with the same ID.
- Click [Yes] (not the default [No] or [Unique ID]).
- If you have System 8 or 9: in the System file, open the ROv# resource with ID 1917.
- If you have System 7: in the System file, open the ROv# resource with ID 1660.
- Select the last set of '*****'. (With 1660 it's no. 16, with 1917 it's 30 or 49 for MacOS 8.5).
- Select 'Insert New Fields' from the Resource menu.
- Set the type to KMAP and the Res ID to 0
(This makes the System look to the new KMAP resource instead of ROM).
- Save and close the modified System file.
- Pop the current system in the Trash (you can't empty it yet!), put your modified system in the system folder, and restart.
- If you have an iBook or Lombard/bronze-keyboard (or if the instructions don't seem to work) go to the Keyboard control panel, and under options, select the choice which lets you use F1-F12 as function keys.
Notes:
- These function keys are not to be confused with the FKEY (command-shift-#) resources used by the system.
- Not all programs make use of these keys, so try them out in something that you know does.
- Sometimes when you update the system, you have to re-modify the KMAP, so keep this file around.
- Most new systems seem to work with ROV# 1917. I'd recommend trying that first, and 1660 if that isn't present.
- If in doubt, it won't hurt to change both ROV# resources (1660 and 1917). This just tells the system which ROM override set to look into, so if you change the one you're not using, nothing bad happens.
HOW TO MODIFY YOUR KEYBOARD BY HAND
If you don't like pasting resources into your system file or you want to
change the key assignments (see below), here is the long way to do it.
Note: you are in insert mode, not overstrike mode when making these edits, so be sure to delete as many digits as you insert. (Thanks to Eric for this caution.)
- Open a copy of the System in ResEdit or Resorcerer.
- Open the resource KMAP ID=0 (not KCHR).
- Change the byte at offset $64 from $60 to $77 (F5 now sends End)
- Change the byte at offset $65 from $61 to $73 (F6 now sends Home)
- Change the byte at offset $66 from $62 to $79 (F7 now sends PgDn)
- Change the byte at offset $68 from $64 to $74 (F8 now sends PgUp)
- Change the byte at offset $73 from $6F to $75 (F12 now sends FwdDel)
- Close the KMAP resource
- If you have System 8 or 9: in the System file, open the ROv# resource with ID 1917.
- If you have System 7: in the System file, open the ROv# resource with ID 1660.
- Select the last set of '*****'. (Number 16 for 1660 and 30 or 50 for 1917).
- Select 'Insert New Fields' from the Resource menu.
- Set the type to KMAP and the Res ID to 0. (This makes the System look to your KMAP resource instead of ROM).
- Save and close the modified System file.
- Pop the current system in the Trash (you can't empty it yet!), put your modified system in the system folder, and restart.
- If you have an iBook or Lombard/bronze-keyboard powerBook (or if the instructions don't seem to work), go to the Keyboard control panel, and under options, select the choice which lets you use F1-F12 as function keys. You can still change your brightness and volume by holding down the 'fn' key along with the F-number keys.
Notes on manually modifying your keyboard:
- The offsets are in the leftmost column of the KMAP resource; you change the values in the middle column.
- Don't worry about the letters you see on the right of the KMAP resource when it's open. They are just the ASCII for the keycodes. In fact, when you've make the modifications correctly the lowercase alphabet should read 'wsycte' instead of '`abcde' and 'nup' instead of 'nop'.
CUSTOMIZATION
- If you want to use other Function Keys, you can find out the numbers to change from by opening the KCHR resource ID 0 using ResEdit.
- Press the key you want to reassign, and note the value next to 'Key:' (not Char:).
- Find this number in KMAP resource 0 and change it instead.
(For example change the 65 instead of 60 to use F9 as Home).
The instructions are modified from the "PowerBook Key Remapping guide" created by Quinn "The Eskimo!" Thanks to Quinn!
I can't guarantee anything except that these changes work fine on everything from a 520c (even with my PowerPC upgrade) to G3 Powerbooks and iBooks!
I hope you use them as much as I do.
15 Nov 1999:
FINALLY! I got the remap to work with systems which use the Function keys to control brightness and volume. You have to make a change in the Keyboard control panel. If anyone knows how to make this work w/o changing the control panel settings, let me know.
22 Aug 2001: ROV# 1917 works on an iBook, a Bronze-keyboard/Lombard PB, a PB 3400/G3 running System 9.0.4, a PB 1400 running 7.6.1., and a PB 2400c with system 8.5.
Return to Steve's Home Page
E-mail:
Last modified: Jul. 17, 2002