FIX: Backslash, German iMac keyboard, and OpenFirmware
Hi,
I had problems typing the backslash "\" and bar "|" on my iMac
keyboard when in the OpenFirmware user interface.
The "\" key on US iMac keyboards seems to produce keycode 57 (in X11).
There is no key on the German keyboard that produces keycode 57.
There is one with keycode 58, the "#" key.
The keycodes in OpenFirmware are different. They are 50 for the US
"\" key and 51 for the German "#" key. (all numbers in decimal).
Now, the OpenFirmware keymaps seem to contain the proper values for
code 50, but this doesn't help. We want number 51 to produce "\" and
"|". But keycode 51 is mapped to space (0x20), both shifted and
unshifted.
Add the following to your boot script to fix this:
dev /packages/usb-hid-class
5c key-map-lc 32 + c!
7c key-map-uc 32 + c!
device-end
You can then use the "#" key to produce "\" (unshifted) and "|"
(shifted).
In case you don't know how to edit your boot script:
- boot into OpenFirmware
- execute "nvedit"
- type in the above line, ending each with RET.
You will only see one line at any one time, but you can
move around with the cursor keys.
- end the editing session with control-C.
- execute "nvstore"
- execute "setenv use-nvramrc? true"
- reboot into OpenFirmware to test
Please tell everybody who might be interested. This information is
hereby placed into the public domain. :-)
---
Anyway, although I have figured this out on my own, it was not
particularly easy. I have found no documentation on key-map-lc, for
example. Where might I go about looking for this? I already have the
Apple technotes on OpenFirmware, the IEEE-1275 OpenFirmware standard
plus bindings to PPC, PCI, CHRP, USB, and the Apple iMac Developer
note, but nothing.
Any hints on how to best report this bug to Apple?
- Marius
Reply to: