Re: KDSETKEYCODE work with new input layer?

From: Skip Ford (skip.ford@verizon.net)
Date: Mon Oct 07 2002 - 08:23:26 EST


Vojtech Pavlik wrote:
> On Tue, Oct 01, 2002 at 06:29:55PM +0200, Andries Brouwer wrote:
> >
> > In kbd-1.06. It is from May 2001, and I have been planning kbd-1.07
> > for a while but there were no urgent changes, just more fonts and
> > keymaps and the like. When you are done it is a good occasion for
> > kbd-1.07.
>
> Ok, here is a patch that should make it work correctly on all existing
> kernels.
>
> You may want to check that loadkeys supports keycodes over 127 (and for
> future, over 255), too. I updated only getkeycodes/setkeycodes.

loadkeys and the kernel itself both reject attempts to set keycodes with
a value >= NR_KEYS (128).

In kbd-1.06/src/loadkeys.y::addkey()

        if (index < 0 || index >= NR_KEYS)
                lkfatal0(_("addkey called with bad index %d"), index);

And inside linux/drivers/char/vt_ioctl.c::do_kdsk_ioctl()

        if (i >= NR_KEYS || s >= MAX_NR_KEYMAPS)
                return -EINVAL;

I had to change each of those to KEY_MAX. Both files use NR_KEYS in
other places so I don't what the correct fix is. I guess NR_KEYS is
still correct for some keyboards?

-- 
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/



This archive was generated by hypermail 2b29 : Mon Oct 07 2002 - 22:00:58 EST