HID: input: support Microsoft wireless radio control hotkey
authorChris Chiu <chiu@endlessm.com>
Mon, 3 Dec 2018 06:46:21 +0000 (14:46 +0800)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Wed, 5 Dec 2018 14:46:27 +0000 (15:46 +0100)
commit7f5592742a429b4de770fc5b796d18de43a15fdc
tree5d0714ed02f4b62a8ab3a8ad5361f01a36d33905
parent2fc00c1e0f9d2abe0df74c33cf9f40d12b9b892f
HID: input: support Microsoft wireless radio control hotkey

The ASUS laptops start to support the airplane mode radio management
to replace the original mechanism of airplane mode toggle hotkey.
On the ASUS P5440FF, it presents as a HID device connecting via
I2C, named i2c-AMPD0001. When pressing it, the Embedded Controller
send hid report via I2C and switch the airplane mode indicator LED
based on the status.

However, it's not working because it fails to be identified as a
hidinput device. It fails in hidinput_connect() due to the macro
IS_INPUT_APPLICATION doesn't have HID_GD_WIRELESS_RADIO_CTLS as
a legit application code.

It's easy to add the HID I2C vendor and product id to the quirk
list and apply HID_QUIRK_HIDINPUT_FORCE to make it work. But it
makes more sense to support it as a generic input application.

Signed-off-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
include/linux/hid.h