Re: Lost keypresses [was Re: GGI and cli/sti in X]

Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
Wed, 1 Apr 1998 13:49:41 +0200 (CEST)


On 1 Apr 1998, Andreas Schwab wrote:
> Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be> writes:
> |> On 1 Apr 1998, Andreas Schwab wrote:
> |>> Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be> writes:
> |>> |> However, now I switched to a PS/2 keyboard on my CHRP box (which has both ADB
> |>> |> and PS/2 keyboard connectors), and now X has problems with the scancode
> |>> |> prefixes. It just ignores the 0xe0 (unknown key) and interpretes the next
> |>> |> scancode. For e.g. cursor up, this means I get a KP_2, since the scancodes for
> |>> |> cursor up are 0xe0 followed by the scancode for KP_2.
> |>>
> |>> But on Intel you'll get the prefixes as well, don't you? So why does it
> |>> work there?
>
> |> On Intel, they use different code. Look for the ASSUME_CUSTOM_KEYCODES define
> |> in xc/programs/Xserver/hw/xfree86/common/xf86KbdLnx.c. XF68_FBDev assumes you
> |> have a sane keyboard system without prefixes.
>
> It seems like this assumption was wrong....

:-)

The question is: how to know you have a keyboard with prefixes? 0xe0 _may_ be a
valid keycode on some systems.

Anyway, portable user code shouldn't rely on these `low level' internals. It
should be able to do everything it needs to by using keycodes and the KDGKBENT
ioctl.

Greetings,

Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu