Fixed.
> > + for (i = 0; i < 0x78; i++)
> > + if (amikbd_keycode[i])
> > + set_bit(amikbd_keycode[i], amikbd_dev.keybit);
>
> Do I understand it correctly, that amikbd_keycode[i] must have non zero
> value for a valid key? If yes, something must be wrong here:
Yes. amikbd_keycode is a map from scancode values to event key values. Now
> > +static unsigned char amikbd_keycode[0x78] = {
> > + 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 43, 0, 82,
>
> 0 is a valid keycode on the Amiga, it should be KEY_GRAVE.
Okay so it should be:
static unsigned char amikbd_keycode[0x78] = {
41, 2, 3, 4, 5, ...
If amikbd_keycode[0] is set 41 then
set_bit(amikbd_keycode[i], amikbd_dev.keybit);
will be called in the above code.
-
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/