HID: uclogic: Add support for XP-PEN Deco Pro MW
authorJosé Expósito <jose.exposito89@gmail.com>
Mon, 26 Dec 2022 12:54:54 +0000 (13:54 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 18 Jan 2023 08:44:57 +0000 (09:44 +0100)
The XP-PEN Deco Pro MW is a UGEE v2 device with a frame with 8 buttons,
a bitmap dial and a mouse. Its pen has 2 buttons, supports tilt and
pressure.

It can be connected using a USB cable or, to use it in wireless mode,
using a USB Bluetooth dongle. When it is connected in wireless mode the
device battery is used to power it.

All the pieces to support it are already in place. Add its ID and
quirks in order to support the device.

Link: https://github.com/DIGImend/digimend-kernel-drivers/issues/622
Tested-by: Andreas Grosse <andig.mail@t-online.de>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/hid-input.c
drivers/hid/hid-uclogic-core.c
drivers/hid/hid-uclogic-params.c

index d8a8028761ed8c29c9cc81193f5c5cfbf99df5f4..5df7f4e4d61064b7708350fcb95fd807d1f064a6 100644 (file)
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_G640   0x0094
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01 0x0042
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L 0x0935
+#define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_MW    0x0934
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_S     0x0909
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_SW    0x0933
 #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_STAR06 0x0078
index c4d9a95774cc5ff852e5a26f4a9c673fedfbc7c6..4f6596febedf99478619189c2f4e6679be3b24da 100644 (file)
@@ -376,6 +376,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
          HID_BATTERY_QUIRK_IGNORE },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L),
          HID_BATTERY_QUIRK_AVOID_QUERY },
+       { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_MW),
+         HID_BATTERY_QUIRK_AVOID_QUERY },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_SW),
          HID_BATTERY_QUIRK_AVOID_QUERY },
        { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_HP_ENVY_X360_15),
index cfef6f9af62d1feae406d3417588d70b6b497fb7..a31e06b38a67f7e4cbe2e2f8054a052c21fb46a2 100644 (file)
@@ -540,6 +540,9 @@ static const struct hid_device_id uclogic_devices[] = {
                                USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01) },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
                                USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
+                               USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_MW),
+               .driver_data = UCLOGIC_MOUSE_FRAME_QUIRK | UCLOGIC_BATTERY_QUIRK },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
                                USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_S) },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
index 39a9259aa4471649d0ae325798ab495c42b834ec..7fdb87a2714bb2c14fbe30ac4ea374f392f5c2cc 100644 (file)
@@ -1765,6 +1765,8 @@ int uclogic_params_init(struct uclogic_params *params,
                     USB_DEVICE_ID_UGEE_PARBLO_A610_PRO):
        case VID_PID(USB_VENDOR_ID_UGEE,
                     USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L):
+       case VID_PID(USB_VENDOR_ID_UGEE,
+                    USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_MW):
        case VID_PID(USB_VENDOR_ID_UGEE,
                     USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_S):
        case VID_PID(USB_VENDOR_ID_UGEE,