From cca975e1081972a3b99db4bd52a4e282f63e7c34 Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Tue, 24 Nov 2009 18:22:20 +0100 Subject: [PATCH] --- yaml --- r: 173771 b: refs/heads/master c: 66d61bec697e99476c2fb095f9a6ead3be2e1c21 h: refs/heads/master i: 173769: 807ecd03a28080a64b6f2b94018e4164f3ea0518 173767: ca7f41f2c7901c080cd9da47ac97057b19226e8e v: v3 --- [refs] | 2 +- trunk/drivers/hid/hid-lg.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4260803fca96..f4f2d8377d46 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1168df7e1cbfa4b45ba2bfd982ff535df50c273c +refs/heads/master: 66d61bec697e99476c2fb095f9a6ead3be2e1c21 diff --git a/trunk/drivers/hid/hid-lg.c b/trunk/drivers/hid/hid-lg.c index 0f870a3243ed..4a489785647a 100644 --- a/trunk/drivers/hid/hid-lg.c +++ b/trunk/drivers/hid/hid-lg.c @@ -89,6 +89,22 @@ static int lg_ultrax_remote_mapping(struct hid_input *hi, return 1; } +static int lg_dinovo_mapping(struct hid_input *hi, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR) + return 0; + + switch (usage->hid & HID_USAGE) { + + case 0x00d: lg_map_key_clear(KEY_MEDIA); break; + default: + return 0; + + } + return 1; +} + static int lg_wireless_mapping(struct hid_input *hi, struct hid_usage *usage, unsigned long **bit, int *max) { @@ -164,6 +180,10 @@ static int lg_input_mapping(struct hid_device *hdev, struct hid_input *hi, lg_ultrax_remote_mapping(hi, usage, bit, max)) return 1; + if (hdev->product == USB_DEVICE_ID_DINOVO_MINI && + lg_dinovo_mapping(hi, usage, bit, max)) + return 1; + if ((quirks & LG_WIRELESS) && lg_wireless_mapping(hi, usage, bit, max)) return 1;