|
@@ -122,7 +122,12 @@ static void dell_wmi_notify(u32 value, void *context)
|
|
|
|
|
|
if (obj && obj->type == ACPI_TYPE_BUFFER) {
|
|
|
int *buffer = (int *)obj->buffer.pointer;
|
|
|
- key = dell_wmi_get_entry_by_scancode(buffer[1]);
|
|
|
+ /*
|
|
|
+ * The upper bytes of the event may contain
|
|
|
+ * additional information, so mask them off for the
|
|
|
+ * scancode lookup
|
|
|
+ */
|
|
|
+ key = dell_wmi_get_entry_by_scancode(buffer[1] & 0xFFFF);
|
|
|
if (key) {
|
|
|
input_report_key(dell_wmi_input_dev, key->keycode, 1);
|
|
|
input_sync(dell_wmi_input_dev);
|