The 2.2.10 and newer LinuxPPC kernels do not include the fix that mapped the NumLock
and keypad equals keys to the second and third mouse buttons. This mapping
is done in the 2.2.6 UUSB driver, but since the 2.2.10 kernel uses a different
diver, this handy feature is lost. Below is a description of a solution
to this problem. If you have an ADB Mac keyboard this also works. The result
is that all Macs running LinuxPPC will be able to use the keyboard
to emulate mouse buttons.
The starting point of the solution was given to me by Kostas Gewrgiou:
xkb,
including some patches. It took some effort to get xkb working
since from the start the X server did not use xkb, because of
some XF86Config problem. A short description of the way I got
this working:
Steps 1-3 do not seem to be neccesary on LinuxPPC 2000.
XkbKeycodes "macintosh" XkbTypes "default" XkbCompat "default" XkbSymbols "macintosh/us" XkbGeometry "macintosh" XkbRules "xfree86" XkbModel "macintosh"and restarted my X server, I could check that I was indeed using the xkb Mac keyboard settings by reading the X server log. If you have an USB keyboard and you applied the above patch or if you have an ADB keyboard, you can also verify the xkb settings by checking the output of the keypad equals key. This key should correctly map to an equals sign.
These manual settings will only keep working if you do not run Xautoconfig on each boot!
geometry/macintosh keycodes/macintosh symbols/macintosh/usby the corresponding files in the tar archive. Now restart your X session.
interpret KP_0 { action = PointerButton(button=2); }; interpret KP_Insert { action = PointerButton(button=2); }; interpret KP_Decimal { action = PointerButton(button=3); }; interpret KP_Delete { action = PointerButton(button=3); };
Active development of my own driver has ceased. I sent my patches to the maintainer of the serial driver, and my changes are merged into the 2.3 tree, in addition to even more general serial PCI support. I have a stand alone module available that works on 2.2.x.Please contact me if you are interested.
I am currently adding general purpose PCI support to the standard Linux serial driver. This project started as an exercise in writing a driver for my Keyspan SX2 serial PCI card. This is a serial card sold by Keyspan. The project gradually changed to a much broader scope. You can find some of my experiences in a document called Writing a Linux device driver for the Keyspan SX serial card.
If you have a "dumb" serial PCI card and are running Linux version 2.2.x on an Intel, PowerPC, Alpha or any other platform supporting PCI, chances are the driver will work for you! More details available on the download page:
The third version of the general purpose patch is available. Look here!
Wednesday, Sept. 1 1999
Active development of my own driver has ceased. I sent my patches to the maintainer of the serial driver, and my changes are going to be merged into the 2.3 tree, in addition to even more general PCI support.
Wednesday, Aug. 25 1999
Third version of the patch posted. See download page for details.
Tuesday, Aug. 24 1999
Second version of the patch posted. Bug spotted by Stuart MacDonald fixed.
Sunday, Aug. 22, 1999
Last week the goal of the project gradually changed into a more general one: adding general purpose PCI support to the standard serial driver. The first version is finished, you can find it here.
Sunday, Aug. 15, 1999
I sent out a request to resolve some design issues to the linuxpp-dev and the linux-kernel list. You can find it here.
Friday, Aug. 13, 1999
The very first version of the driver is working, but I don't think it ready for publishing yet. Some patience required!
Monday Aug. 9, 1999
I sent out the first request for cooperation to the linuxppc-dev and linuxppc-user lists and the comp.os.linux.powerpc newsgroup: you can find it here. I am also busy making a description of my experiences so far. The document is called Writing a Linux device driver for the Keyspan SX serial card.
This patch does not hurt non-ISO (ANSI) keyboards, I have confirmation on this. If you don't know if you have an ANSI or ISO keyboard, look here.
That's all for the moment...