On Mon, 11 Feb 2002, Maciej W. Rozycki wrote:
> On Mon, 11 Feb 2002, Karsten Merker wrote:
> > > Hmm, why do you need (sh*tty) PC-compatible keycodes for a keaboard that
> > > barely resembles a PC keyboard? AFAIK, XFree86 has appropriate LK201
> > > keymaps -- see "/usr/X11R6/lib/X11/xkb/*/digital/*".
> > Because the original code does not deliver LK201 keycodes - LK201 keycodes
> > are in the range 0x55 - 0xfb, but the kernel to my knowledge accepts only
> > keycodes in the range 0x01 - 0x7f, so the original code already did a
> > remapping of the LK201 raw codes (it delivered the key numbers from the
> > top left to the downmost right keys, i.e. F1=1, F2=2, F3=3 etc.).
> This may be reasonable for the pc_keyb.c driver, but we don't use it, do
> > This means that the XFree LK201 mapping did not work, and if we have
> > to remap keycodes anyway into the range 0x01-0x7f, using a PC-compatible
> > keymap seemed the best solution to me.
> Then the kernel needs to be fixed -- raw scancodes should be passed as is
> and the translation should be done in kbd_translate(). I'm adding it to
> my to-do list (to be resolved soon, hopefully, together with the annoying
> indefinite timeout when no keyboard is attached).
The keyboard mid-layer assumes keycodes are in the range 1-127 (with some minor
hack 0 can be made to work, cfr. Amiga keboards). Bit 7 is used to
differentiate between up and down events. This means you cannot get keyboards
with more than 128 keys to work (e.g. some specialized keyboards for old
Perhaps it's different in the new input layer. I don't know.
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- firstname.lastname@example.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds