On Thu, Nov 18, 2010 at 10:34:20PM +0900, Mattia Dongili wrote: > On Thu, Nov 18, 2010 at 08:04:45PM +0900, Mattia Dongili wrote: > > On Tue, Nov 16, 2010 at 10:52:52PM -0800, Dmitry Torokhov wrote: > > > On Wed, Nov 17, 2010 at 03:33:38PM +0900, Norbert Preining wrote: > > > > > - recompiled a input-kbd binary with a relaxed version check > > > > > - if (EV_VERSION != version) { > > > > > + if (EV_VERSION > version) { > > > > > in input.c, line 104 of input-utils. > > > > > > > > Furthermore, although both of you referred to the fact that udev keymap > > > > is working, I checked that Debian/sid uses udev kbd rules, but it > > > > stopped working ... > > > > > > > > > > Seems to be working here (I also verified that the keycodces are > > > actually emitted with evtest): > > > > > > [root@dtor-d630 ~]# /lib/udev/keymap /dev/input/event3 0x87 wlan > > > setting scancode 0x87 to key code 238 > > > [root@dtor-d630 ~]# /lib/udev/keymap /dev/input/event3 0x87 battery > > > setting scancode 0x87 to key code 236 > > > [root@dtor-d630 ~]# uname -r > > > 2.6.37-rc1+ > > > [root@dtor-d630 ~]# > > > > ok I got the error. I'll see why the EVIOCSKEYCODE syscall is returning > > -EINVAL. > > there is a typo in the large scancode support patch. This patch makes > /lib/udev/keymap work again here on 2.6.37-rc2. > Applied, thanks Mattia. > commit a33950b5baa848ff7851b9efd4c5e2eaafd370f2 > Author: Mattia Dongili <malattia@xxxxxxxx> > Date: Thu Nov 18 22:20:36 2010 +0900 > > Input: fix typo in keycode validation supporting large scancodes > > Check the input_keymap_entry keycode size (u32) instead of the device's > (void*). > Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=22722 > > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: Dmitry Torokhov <dtor@xxxxxxx> > Signed-off-by: Mattia Dongili <malattia@xxxxxxxx> > > diff --git a/drivers/input/input.c b/drivers/input/input.c > index 7f26ca6..5edc41a 100644 > --- a/drivers/input/input.c > +++ b/drivers/input/input.c > @@ -753,7 +753,7 @@ static int input_default_setkeycode(struct input_dev *dev, > if (index >= dev->keycodemax) > return -EINVAL; > > - if (dev->keycodesize < sizeof(dev->keycode) && > + if (dev->keycodesize < sizeof(ke->keycode) && > (ke->keycode >> (dev->keycodesize * 8))) > return -EINVAL; > > -- > mattia > :wq! -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html