[RFC] [HELP] [WMI] Media keys on MSI GE60 (patching msi_wmi for it)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there!

I'm trying to modify msi_wmi driver to get it work with mediakeys on my MSI 
GE60 laptop.

By default, I get "Unknown event received" message.

For now, I diagnosed that event, that every key press produces has 0x03 (
ACPI_TYPE_BUFFER?) type, instead of 0x01 (ACPI_TYPE_INTEGER) which in-kernel 
msi_wmi module wants.

Further diagnostic with that code:

232 ›   } else if (obj && obj->type == ACPI_TYPE_BUFFER) {
233 ›   ›   int eventcode = obj->integer.value;
234 ›   ›   pr_info("Eventcode: 0x%x\n", eventcode);
235 ›   ›   key = sparse_keymap_entry_from_scancode(msi_wmi_input_dev,
236 ›   ›   ›   ›   eventcode);
237 ›   ›   if (!key) {
238 ›   ›   ›   pr_info("Unknown key pressed - %x\n", eventcode);
239 ›   ›   ›   goto msi_wmi_notify_exit;
240 ›   ›   }
241
242 ›   ›   pr_info("%d\n",key->type);
243 ›   } else
244 ›   ›   pr_info("Unknown event received\n");

(only patched part)
Gives me following info:
Wen I press on any of media-keys — I get the same eventcode (and every time I 
get if(!key) error. Moreover, evencode value changes in time (something about 
4 seconds), so, if I'll press some key many times, eventcode value will be 
changed after 4s, but it will not change if I press another mediakeys.

Can anybody advice me, why can I experience such behaviour?

And is it a way to get mediakeys working  without patching DSDT (last time I 
did that I brake my bluetooth module in that way, that even rfkill was unable 
to enable it :P)?

-- 
Best regsrds,
mva

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux