Re: KDSETKEYCODE work with new input layer?

Skip Ford (skip.ford@verizon.net)
Tue, 1 Oct 2002 11:32:02 -0400


Vojtech Pavlik wrote:
> On Tue, Oct 01, 2002 at 08:31:05AM -0400, Skip Ford wrote:
> > Vojtech Pavlik wrote:
> > > On Mon, Sep 30, 2002 at 10:40:10AM -0400, Skip Ford wrote:
> > >
> > > > I can no longer change keycodes since switching to the new input layer.
> > > > Has anyone been able to?
> > >
> > > I've tested it and it should work. What exactly doesn't work for you?
> > > What are you trying to do?
> >
> > I'm trying to assign keycodes using the kbd package. Multimedia keys
> > and some regular keys. Here is one example. The key I'm pressing is
> > e05e.
>
> Ok, the problem is that because the ioctls are no longer i386-centric,
> the layout of the tables has changed.
>
> What used to be scancode e05e is now scancode 15e, basically all
> scancodes beginning with e0 are now offset by just 100 hex.
>
> getkeycodes/setkeycodes translates e05e to de, while the table needs 15e.
>
> Ignore getkeycodes output, except for the 0x58-0x7f the output is not
> correct anymore. (e000-e07f lines show entries for scancodes 0x80-0xff,
> as they always did, though).
>
> > ~# setkeycodes e05e 89
>
> Use setkeycodes 15e 89

setkeycodes rejects it.

~# setkeycodes 15e 89
setkeycode: code outside bounds
usage: setkeycode scancode keycode ...
(where scancode is either xx or e0xx, given in hexadecimal,
and keycode is given in decimal)

I changed setkeycodes.c to add 256 instead of 128 and bumped up the
bounds checking, but it's still strange. It now works for e063, but
still doesn't work for e05e. Many other keys in the same area as 0x5e
don't work. The only one that does work that I tried is e063.

Will you be releasing an updated kbd package?

> > The same thing happens with every key.
>
> No, keycodes without e0 should be fine.

Turns out the "regular" keys I referred to really are extended keys.

-- 
Skip
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/