problem with softraw and keycodes > 128

Hans de Goede
2007-06-07T08:47:22Z

<Note: I'm not on the please keep me CC-ed>

Hi all,

First a short intro I'm a Linux enthousiast and developer. I mainly write
userspace code, but I've also written 2 kernel drivers of which one is in the
mainline and the other is waiting for review.

I've been experimenting with getting the internetkeys on several keyboards to
work. My biggest problem with this currently is the following:

Step 1: press key, dmesg says:
atkbd.c: Unknown key released (translated set 2, code 0xa3 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e023 <keycode>' to make it known.

Step 2: map key: setkeycodes e023 163

Step 3: run xev, press key. X-keycode is: 153 instead of 163 ?

Problem, as the xkb files for these keyboards expect the X-keycode to be 163,
as just it is under the console. Now I know that X-keycodes !=
console-keycodes, for example the A key is 30 on the console and 38 in X, but
in the case of this special keys, both the xkb files for these internet
keyboards (written by suse) and config files for special daemons like lineak,
expect them to be identical. Doing:
echo -n 0 >/sys/devices/platform/i8042/serio1/softraw
However does make them identical.

I don't know if this is an xorg or a kernel problem, but I do know that this
behavior is rather annoying, and IMHO a bug. I've been reading the kernel code
from input.c and atkbd.c but I cannot find anything explaining this there, so
now I'm looking at the xorg kbd driver. I have the feeling though that this
require someone with some more knowledge of the whole input subsystem, hence
this mail.

<Note: I'm not on the please keep me CC-ed>

Thanks & Regards,

Hans