in syncing up the various kernels, one of the biggest areas of skew was in
*/kbd.c.  there are 8 different versions.  (yeah!)  they're all pretty much
the same, except for the bit that drives the i8042 for the pc.  the reason
non-pcs have them is for the benefit of usb, which takes usb key codes
and turns them into i8042 scan codes.. and then there is devkbin and
devkbmap which interact with kbd.c  it's all a maze of twisty passages.

it seems to me that the easiest first step is to split this mess into two
bits, the i8042 driver and the i8042 scan code processing (including
kbin/kbmap).  that way, there will be one i8042 driver, and one portable
i8042 scan code processor.

this has the happy consequence of giving each attached keyboard its own
connection, so compose on one keyboard won't foul up a second.

i have a working version i'm typing this on.  it seems to have worked the
first time (modulo the fact i forgot tokenize eats ' for breakfast.)

it would be nice in the future to move away from using i8042 scan
codes.  i think forcing the drivers to output text would be better.
but that's going to require breaking some interfaces....

- erik

Reply via email to