[PATCH 4/6] Enable scancode event generation in the HID driver

From: Vojtech Pavlik
Date: Thu Jan 27 2005 - 12:35:43 EST


You can pull this changeset from:
bk://kernel.bkbits.net/vojtech/for-linus

===================================================================

ChangeSet@xxxxxxxxxx, 2005-01-27 14:48:48+01:00, vojtech@xxxxxxxxxxxxx
input: Enable scancode event generation in the HID driver. This should allow
changing HID->event mappings (via EVIOCS*) in the future and make
debugging easier now.

Signed-off-by: Vojtech Pavlik <vojtech@xxxxxxx>


hid-input.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)

===================================================================

diff -Nru a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c
--- a/drivers/usb/input/hid-input.c 2005-01-27 17:47:44 +01:00
+++ b/drivers/usb/input/hid-input.c 2005-01-27 17:47:44 +01:00
@@ -403,11 +403,12 @@
if (!input)
return;

+ input_regs(input, regs);
+ input_event(input, EV_MSC, MSC_SCAN, usage->hid);
+
if (!usage->type)
return;

- input_regs(input, regs);
-
if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_5) && (usage->hid == 0x00090005))
|| ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007))) {
if (value) hid->quirks |= HID_QUIRK_2WHEEL_MOUSE_HACK_ON;
@@ -574,13 +575,16 @@
hidinput->input.id.product = le16_to_cpu(dev->descriptor.idProduct);
hidinput->input.id.version = le16_to_cpu(dev->descriptor.bcdDevice);
hidinput->input.dev = &hid->intf->dev;
+
+ set_bit(EV_MSC, hidinput->input.evbit);
+ set_bit(MSC_SCAN, hidinput->input.mscbit);
}

for (i = 0; i < report->maxfield; i++)
for (j = 0; j < report->field[i]->maxusage; j++)
hidinput_configure_usage(hidinput, report->field[i],
report->field[i]->usage + j);
-
+
if (hid->quirks & HID_QUIRK_MULTI_INPUT) {
/* This will leave hidinput NULL, so that it
* allocates another one if we have more inputs on

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