diff mbox series

HID: ite: Add USB id match for Acer One S1003 keyboard dock

Message ID 20200901075642.4648-1-hdegoede@redhat.com
State New
Delegated to: Jiri Kosina
Headers show
Series HID: ite: Add USB id match for Acer One S1003 keyboard dock | expand

Commit Message

Hans de Goede Sept. 1, 2020, 7:56 a.m. UTC
The Acer One S1003 2-in-1 keyboard dock uses a Synaptics S910xx touchpad
which is connected to an ITE 8910 USB keyboard controller chip.

This keyboard has the same quirk for its rfkill / airplane mode hotkey as
other keyboards with ITE keyboard chips, it only sends a single release
event when pressed and released, it never sends a press event.

This commit adds this keyboards USB id to the hid-ite id-table, fixing
the rfkill key not working on this keyboard. Note that like for the
Acer Aspire Switch 10 (SW5-012) the id-table entry matches on the
HID_GROUP_GENERIC generic group so that hid-ite only binds to the
keyboard interface and the mouse/touchpad interface is left untouched
so that hid-multitouch can bind to it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/hid/hid-ids.h | 1 +
 drivers/hid/hid-ite.c | 4 ++++
 2 files changed, 5 insertions(+)

Comments

Jiri Kosina Sept. 9, 2020, 6:37 a.m. UTC | #1
On Tue, 1 Sep 2020, Hans de Goede wrote:

> The Acer One S1003 2-in-1 keyboard dock uses a Synaptics S910xx touchpad
> which is connected to an ITE 8910 USB keyboard controller chip.
> 
> This keyboard has the same quirk for its rfkill / airplane mode hotkey as
> other keyboards with ITE keyboard chips, it only sends a single release
> event when pressed and released, it never sends a press event.
> 
> This commit adds this keyboards USB id to the hid-ite id-table, fixing
> the rfkill key not working on this keyboard. Note that like for the
> Acer Aspire Switch 10 (SW5-012) the id-table entry matches on the
> HID_GROUP_GENERIC generic group so that hid-ite only binds to the
> keyboard interface and the mouse/touchpad interface is left untouched
> so that hid-multitouch can bind to it.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/hid/hid-ids.h | 1 +
>  drivers/hid/hid-ite.c | 4 ++++
>  2 files changed, 5 insertions(+)

Applied, thanks Hans.
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index a8e3b2796be8..798d173d2f35 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1120,6 +1120,7 @@ 
 #define USB_DEVICE_ID_SYNAPTICS_DELL_K12A	0x2819
 #define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012	0x2968
 #define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
+#define USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1003	0x73f5
 #define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5	0x81a7
 
 #define USB_VENDOR_ID_TEXAS_INSTRUMENTS	0x2047
diff --git a/drivers/hid/hid-ite.c b/drivers/hid/hid-ite.c
index 6c55682c5974..044a93f3c117 100644
--- a/drivers/hid/hid-ite.c
+++ b/drivers/hid/hid-ite.c
@@ -44,6 +44,10 @@  static const struct hid_device_id ite_devices[] = {
 	{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
 		     USB_VENDOR_ID_SYNAPTICS,
 		     USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012) },
+	/* ITE8910 USB kbd ctlr, with Synaptics touchpad connected to it. */
+	{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
+		     USB_VENDOR_ID_SYNAPTICS,
+		     USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1003) },
 	{ }
 };
 MODULE_DEVICE_TABLE(hid, ite_devices);