|
@@ -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;
|
|
|
|