Re: 2.6.0-test5 vs. Japanese keyboards [3]

Vojtech Pavlik
2003-09-21T12:48:22Z

On Sun, Sep 21, 2003 at 02:39:34PM +0200, Andries Brouwer wrote:
> On Sun, Sep 21, 2003 at 01:06:29PM +0200, Vojtech Pavlik wrote:
>
> > There is a slight problem, and that is that NR_KEYS is (KEY_MAX+1) in
> > recent 2.6's and that's 512. And that doesn't fit into a byte. There
> > were some patches floating around to enhance the keymap loading ioctls.
> > They will be needed, along with a new version of loadkeys.
>
> Yes - a lot of trouble.
> As far as I can see, the space between 256 and 511 is never used.
>
> More in particular, there are lots of places where the kernel
> seems to assume that only 256 is used.
>
> So, instead of requiring new ioctls and new loadkeys etc
> I would prefer to make NR_KEYS 256, if possible.
> So the question is: why did you require 512?

Excerpt from input.h:

#define KEY_RESTART 0x198
#define KEY_SLOW 0x199
#define KEY_SHUFFLE 0x19a
#define KEY_BREAK 0x19b
#define KEY_PREVIOUS 0x19c
#define KEY_DIGITS 0x19d
#define KEY_TEEN 0x19e
#define KEY_TWEN 0x19f

#define KEY_DEL_EOL 0x1c0
#define KEY_DEL_EOS 0x1c1
#define KEY_INS_LINE 0x1c2
#define KEY_DEL_LINE 0x1c3

So far the last defined key is KEY_DEL_LINE, with a code of 0x1c3.
That's above 256. If there are other places that require less than 256,
well, then those will need to be fixed or we're heading for trouble.

--
Vojtech Pavlik
SuSE Labs, SuSE CR