summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2008-07-04 15:22:53 +0200
committerJiri Kosina <jkosina@suse.cz>2008-07-23 15:25:21 +0200
commit32146dc90860b3847b945fdb220a7d86c1ead92a (patch)
tree1cd060788a82fee14cbe2463d03a0cc5c42bc029
parent2c3e3bfbb667f486579d6742b481058e4316dafd (diff)
downloadlinux-32146dc90860b3847b945fdb220a7d86c1ead92a.tar.gz
linux-32146dc90860b3847b945fdb220a7d86c1ead92a.tar.bz2
linux-32146dc90860b3847b945fdb220a7d86c1ead92a.zip
HID: gyration sleep button quirk
This patch is based on one provided by Jiri Kosina to handle the sleep button. I just added some cleanup and integrated it into my series. Signed-off-by: Daniel Walker <dwalker@mvista.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-input-quirks.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/hid/hid-input-quirks.c b/drivers/hid/hid-input-quirks.c
index 4c2052c658f1..9b58cdc24cce 100644
--- a/drivers/hid/hid-input-quirks.c
+++ b/drivers/hid/hid-input-quirks.c
@@ -438,6 +438,18 @@ int hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struc
input_event(input, usage->type, REL_WHEEL, -value);
return 1;
}
+
+ /* Gyration MCE remote "Sleep" key */
+ if (hid->vendor == VENDOR_ID_GYRATION &&
+ hid->product == DEVICE_ID_GYRATION_REMOTE &&
+ (usage->hid & HID_USAGE_PAGE) == HID_UP_GENDESK &&
+ (usage->hid & 0xff) == 0x82) {
+ input_event(input, usage->type, usage->code, 1);
+ input_sync(input);
+ input_event(input, usage->type, usage->code, 0);
+ input_sync(input);
+ return 1;
+ }
return 0;
}