* Rakk Dasig X mouse (248a:8266) – side buttons not exposed via evdev
@ 2025-05-14 21:10 Keenplify
2025-05-15 5:57 ` Terry Junge
2025-05-15 19:06 ` [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266) keenplify
0 siblings, 2 replies; 4+ messages in thread
From: Keenplify @ 2025-05-14 21:10 UTC (permalink / raw)
To: linux-input; +Cc: jikos
[-- Attachment #1.1: Type: text/plain, Size: 1235 bytes --]
Hi all,
I'm reporting an issue with the Rakk Dasig X mouse (VID:PID 248a:8266),
where the side buttons (forward/back) are not generating any evdev input
events under Linux (tested on Fedora 42, kernel 6.14.5).
The buttons appear to be sending HID events, which I confirmed using
`hid-recorder` from `hid-tools`, but they do not show up in `evtest` or
produce mappable input events.
I have attached the output of my HID recorder. The output shows that the
mouse is sending usage values 0x08 and 0x10 in the second byte of the
report, but the kernel does not seem to map them into usable buttons
(BTN_EXTRA / BTN_SIDE, etc.).
Relevant device info:
- Mouse: Rakk Dasig X
- Vendor/Product ID: 248a:8266 (Bluetooth), 248a:fa02 (USB wireless)
- Driver: hid-generic
- Kernel: 6.14.5-300.fc42.x86_64 (Fedora 42)
- dmesg (Bluetooth):
hid-generic 0005:248A:8266.000B: input,hidraw0: BLUETOOTH HID v0.01
Mouse [RAKK Dasig X] on 14:ac:60:c9:09:54
I’ve filed an upstream bug here with more details:
https://bugzilla.kernel.org/show_bug.cgi?id=220126
Happy to provide a `lsusb -v`, full `hid-recorder` output, or test patches
if needed. Is a HID quirk appropriate in this case?
Thanks a lot,
keenplify
[-- Attachment #1.2: Type: text/html, Size: 1411 bytes --]
[-- Attachment #2: hid-recorder.txt --]
[-- Type: text/plain, Size: 6889 bytes --]
➜ hid-tools git:(master) sudo ./hid-recorder
Available devices:
/dev/hidraw1: Telink Wireless Receiver
/dev/hidraw2: ELAN0300:00 04F3:3206
/dev/hidraw3: Telink Wireless Receiver
Select the device event number [1-3]: 1
# Telink Wireless Receiver
# 0x05, 0x01, // Usage Page (Generic Desktop) 0
# 0x09, 0x02, // Usage (Mouse) 2
# 0xa1, 0x01, // Collection (Application) 4
# 0x85, 0x01, // Report ID (1) 6
# 0x09, 0x01, // Usage (Pointer) 8
# 0xa1, 0x00, // Collection (Physical) 10
# 0x05, 0x09, // Usage Page (Button) 12
# 0x19, 0x01, // Usage Minimum (1) 14
# 0x29, 0x03, // Usage Maximum (3) 16
# 0x15, 0x00, // Logical Minimum (0) 18
# 0x25, 0x01, // Logical Maximum (1) 20
# 0x75, 0x01, // Report Size (1) 22
# 0x95, 0x05, // Report Count (5) 24
# 0x81, 0x02, // Input (Data,Var,Abs) 26
# 0x75, 0x03, // Report Size (3) 28
# 0x95, 0x01, // Report Count (1) 30
# 0x81, 0x01, // Input (Cnst,Arr,Abs) 32
# 0x05, 0x01, // Usage Page (Generic Desktop) 34
# 0x09, 0x30, // Usage (X) 36
# 0x09, 0x31, // Usage (Y) 38
# 0x16, 0x01, 0x80, // Logical Minimum (-32767) 40
# 0x26, 0xff, 0x7f, // Logical Maximum (32767) 43
# 0x75, 0x10, // Report Size (16) 46
# 0x95, 0x02, // Report Count (2) 48
# 0x81, 0x06, // Input (Data,Var,Rel) 50
# 0x09, 0x38, // Usage (Wheel) 52
# 0x15, 0x81, // Logical Minimum (-127) 54
# 0x25, 0x7f, // Logical Maximum (127) 56
# 0x75, 0x08, // Report Size (8) 58
# 0x95, 0x01, // Report Count (1) 60
# 0x81, 0x06, // Input (Data,Var,Rel) 62
# 0xc0, // End Collection 64
# 0xc0, // End Collection 65
# 0x05, 0x0c, // Usage Page (Consumer Devices) 66
# 0x09, 0x01, // Usage (Consumer Control) 68
# 0xa1, 0x01, // Collection (Application) 70
# 0x85, 0x02, // Report ID (2) 72
# 0x75, 0x10, // Report Size (16) 74
# 0x95, 0x01, // Report Count (1) 76
# 0x15, 0x01, // Logical Minimum (1) 78
# 0x26, 0x8c, 0x02, // Logical Maximum (652) 80
# 0x19, 0x01, // Usage Minimum (1) 83
# 0x2a, 0x8c, 0x02, // Usage Maximum (652) 85
# 0x81, 0x00, // Input (Data,Arr,Abs) 88
# 0xc0, // End Collection 90
# 0x05, 0x01, // Usage Page (Generic Desktop) 91
# 0x09, 0x80, // Usage (System Control) 93
# 0xa1, 0x01, // Collection (Application) 95
# 0x85, 0x03, // Report ID (3) 97
# 0x09, 0x82, // Usage (System Sleep) 99
# 0x09, 0x81, // Usage (System Power Down) 101
# 0x09, 0x83, // Usage (System Wake Up) 103
# 0x15, 0x00, // Logical Minimum (0) 105
# 0x25, 0x01, // Logical Maximum (1) 107
# 0x19, 0x01, // Usage Minimum (1) 109
# 0x29, 0x03, // Usage Maximum (3) 111
# 0x75, 0x01, // Report Size (1) 113
# 0x95, 0x03, // Report Count (3) 115
# 0x81, 0x02, // Input (Data,Var,Abs) 117
# 0x95, 0x05, // Report Count (5) 119
# 0x81, 0x01, // Input (Cnst,Arr,Abs) 121
# 0xc0, // End Collection 123
# 0x05, 0x01, // Usage Page (Generic Desktop) 124
# 0x09, 0x00, // Usage (Undefined) 126
# 0xa1, 0x01, // Collection (Application) 128
# 0x85, 0x05, // Report ID (5) 130
# 0x15, 0x00, // Logical Minimum (0) 132
# 0x26, 0xff, 0x00, // Logical Maximum (255) 134
# 0x95, 0x20, // Report Count (32) 137
# 0x75, 0x08, // Report Size (8) 139
# 0x09, 0x01, // Usage (Pointer) 141
# 0x81, 0x02, // Input (Data,Var,Abs) 143
# 0x09, 0x02, // Usage (Mouse) 145
# 0x91, 0x02, // Output (Data,Var,Abs) 147
# 0xc0, // End Collection 149
#
R: 150 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 75 01 95 05 81 02 75 03 95 01 81 01 05 01 09 30 09 31 16 01 80 26 ff 7f 75 10 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 02 75 10 95 01 15 01 26 8c 02 19 01 2a 8c 02 81 00 c0 05 01 09 80 a1 01 85 03 09 82 09 81 09 83 15 00 25 01 19 01 29 03 75 01 95 03 81 02 95 05 81 01 c0 05 01 09 00 a1 01 85 05 15 00 26 ff 00 95 20 75 08 09 01 81 02 09 02 91 02 c0
N: Telink Wireless Receiver
I: 3 248a fa02
# ReportID: 1 / Button: 0 0 0 , 0 , 1 | # | X: 0 | Y: 0 | Wheel: 0
E: 000000.000000 7 01 10 00 00 00 00 00
# ReportID: 1 / Button: 0 0 0 , 0 , 0 | # | X: 0 | Y: 0 | Wheel: 0
E: 000000.187986 7 01 00 00 00 00 00 00
# ReportID: 1 / Button: 0 0 0 , 1 , 0 | # | X: 0 | Y: 0 | Wheel: 0
E: 000000.681956 7 01 08 00 00 00 00 00
# ReportID: 1 / Button: 0 0 0 , 0 , 0 | # | X: 0 | Y: 0 | Wheel: 0
E: 000000.865004 7 01 00 00 00 00 00 00
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Rakk Dasig X mouse (248a:8266) – side buttons not exposed via evdev
2025-05-14 21:10 Rakk Dasig X mouse (248a:8266) – side buttons not exposed via evdev Keenplify
@ 2025-05-15 5:57 ` Terry Junge
2025-05-15 19:06 ` [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266) keenplify
1 sibling, 0 replies; 4+ messages in thread
From: Terry Junge @ 2025-05-15 5:57 UTC (permalink / raw)
To: Keenplify, linux-input; +Cc: jikos
On 5/14/25 2:10 PM, Keenplify wrote:
> Hi all,
>
> I'm reporting an issue with the Rakk Dasig X mouse (VID:PID 248a:8266), where the side buttons (forward/back) are not generating any evdev input events under Linux (tested on Fedora 42, kernel 6.14.5).
>
> The buttons appear to be sending HID events, which I confirmed using `hid-recorder` from `hid-tools`, but they do not show up in `evtest` or produce mappable input events.
>
The problem is in the report descriptor, here is the chunk that declares the button usages that are sent in report ID 1 (the report that is being sent when you press the buttons that are not being mapped).
# 0x85, 0x01, // Report ID (1)
# 0x09, 0x01, // Usage (Pointer)
# 0xa1, 0x00, // Collection (Physical)
# 0x05, 0x09, // Usage Page (Button)
# 0x19, 0x01, // Usage Minimum (1) - usages from Button1 through Button3
# 0x29, 0x03, // Usage Maximum (3) - if this was a 5 instead of a 3 the other 2 buttons would map
# 0x15, 0x00, // Logical Minimum (0)
# 0x25, 0x01, // Logical Maximum (1)
# 0x75, 0x01, // Report Size (1)
# 0x95, 0x05, // Report Count (5) - 5 buttons but only 3 have usages associated
# 0x81, 0x02, // Input (Data,Var,Abs)
# 0x75, 0x03, // Report Size (3) -
# 0x95, 0x01, // Report Count (1)
# 0x81, 0x01, // Input (Cnst,Arr,Abs)
> I have attached the output of my HID recorder. The output shows that the mouse is sending usage values 0x08 and 0x10 in the second byte of the report, but the kernel does not seem to map them into usable buttons (BTN_EXTRA / BTN_SIDE, etc.).
So the usages map to the bits in that second byte as follows
0x00 - no button pressed
0x01 - Button Page : Button 1 pressed
0x02 - Button Page : Button 2 pressed
0x04 - Button Page : Button 3 pressed
0x08 - no Usage associated with this bit
0x10 - no Usage associated with this bit
>
> Relevant device info:
>
> - Mouse: Rakk Dasig X
> - Vendor/Product ID: 248a:8266 (Bluetooth), 248a:fa02 (USB wireless)
> - Driver: hid-generic
> - Kernel: 6.14.5-300.fc42.x86_64 (Fedora 42)
> - dmesg (Bluetooth):
> hid-generic 0005:248A:8266.000B: input,hidraw0: BLUETOOTH HID v0.01 Mouse [RAKK Dasig X] on 14:ac:60:c9:09:54
>
> I’ve filed an upstream bug here with more details:
> https://bugzilla.kernel.org/show_bug.cgi?id=220126 <https://bugzilla.kernel.org/show_bug.cgi?id=220126>
>
> Happy to provide a `lsusb -v`, full `hid-recorder` output, or test patches if needed. Is a HID quirk appropriate in this case?
I don't think there is any simple generic quirk that can fix this. There are methods available that allow fixing defective report descriptors before they are parsed by the core but it's not as simple as flipping a quirk bit.
Regards,
Terry
>
> Thanks a lot,
> keenplify
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266)
2025-05-14 21:10 Rakk Dasig X mouse (248a:8266) – side buttons not exposed via evdev Keenplify
2025-05-15 5:57 ` Terry Junge
@ 2025-05-15 19:06 ` keenplify
2025-05-17 0:20 ` Terry Junge
1 sibling, 1 reply; 4+ messages in thread
From: keenplify @ 2025-05-15 19:06 UTC (permalink / raw)
To: linux-input; +Cc: linuxhid, jikos, keenplify
This adds a HID quirk driver for the Rakk Dasig X gaming mouse
to expose the side buttons properly via evdev. The default report
descriptor does not expose all inputs, so this driver replaces
it with a fixed descriptor.
Reported-by: Keenplify <keenplify@gmail.com>
Tested-by: Keenplify <keenplify@gmail.com>
Signed-off-by: Keenplify <keenplify@gmail.com>
Signed-off-by: keenplify <keenplify@gmail.com>
---
drivers/hid/Kconfig | 6 ++++++
drivers/hid/Makefile | 1 +
drivers/hid/hid-ids.h | 3 +++
drivers/hid/hid-rakk.c | 45 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 55 insertions(+)
create mode 100644 drivers/hid/hid-rakk.c
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index a503252702b7..a2cf200e841b 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -1413,6 +1413,12 @@ config HID_KUNIT_TEST
If in doubt, say "N".
+config HID_RAKK
+ tristate "RAKK HID driver"
+ depends on HID
+ help
+ Support for the RAKK HID device.
+
endmenu
source "drivers/hid/bpf/Kconfig"
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
index 10ae5dedbd84..4ece64ebf2ec 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
@@ -113,6 +113,7 @@ obj-$(CONFIG_HID_PLAYSTATION) += hid-playstation.o
obj-$(CONFIG_HID_PRIMAX) += hid-primax.o
obj-$(CONFIG_HID_PXRC) += hid-pxrc.o
obj-$(CONFIG_HID_RAZER) += hid-razer.o
+obj-$(CONFIG_HID_RAKK) += hid-rakk.o
obj-$(CONFIG_HID_REDRAGON) += hid-redragon.o
obj-$(CONFIG_HID_RETRODE) += hid-retrode.o
obj-$(CONFIG_HID_ROCCAT) += hid-roccat.o hid-roccat-common.o \
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 288a2b864cc4..a052a307fdda 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1520,4 +1520,7 @@
#define USB_VENDOR_ID_SIGNOTEC 0x2133
#define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011 0x0018
+#define USB_VENDOR_ID_RAKK 0x248a
+#define USB_DEVICE_ID_RAKK_DASIGX 0xfa02
+
#endif
diff --git a/drivers/hid/hid-rakk.c b/drivers/hid/hid-rakk.c
new file mode 100644
index 000000000000..38abf92e764a
--- /dev/null
+++ b/drivers/hid/hid-rakk.c
@@ -0,0 +1,45 @@
+#include <linux/module.h>
+#include <linux/hid.h>
+
+#include "hid-ids.h"
+
+static const __u8 *rakk_report_fixup(struct hid_device *hdev, __u8 *rdesc,
+ unsigned int *rsize)
+
+{
+ static __u8 fixed_rdesc[] = {
+ 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x01,
+ 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01,
+ 0x29, 0x05,
+ 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05,
+ 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x01,
+ 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01,
+ 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02,
+ 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f,
+ 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0
+ };
+
+ if (*rsize >= sizeof(fixed_rdesc)) {
+ *rsize = sizeof(fixed_rdesc);
+ return fixed_rdesc;
+ }
+
+ return rdesc;
+}
+
+static const struct hid_device_id rakk_devices[] = {
+ { HID_USB_DEVICE(USB_VENDOR_ID_RAKK, USB_DEVICE_ID_RAKK_DASIGX) },
+ { }
+};
+MODULE_DEVICE_TABLE(hid, rakk_devices);
+
+static struct hid_driver rakk_driver = {
+ .name = "hid-rakk",
+ .id_table = rakk_devices,
+ .report_fixup = rakk_report_fixup,
+};
+module_hid_driver(rakk_driver);
+
+MODULE_AUTHOR("keenplify");
+MODULE_DESCRIPTION("Fix for Rakk Dasig X side buttons");
+MODULE_LICENSE("GPL");
\ No newline at end of file
--
2.49.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266)
2025-05-15 19:06 ` [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266) keenplify
@ 2025-05-17 0:20 ` Terry Junge
0 siblings, 0 replies; 4+ messages in thread
From: Terry Junge @ 2025-05-17 0:20 UTC (permalink / raw)
To: keenplify, linux-input; +Cc: jikos
Hi Keenplify,
You should run checkpatch.pl on your patch and fix all the issues it points out.
On 5/15/25 12:06 PM, keenplify wrote:
> This adds a HID quirk driver for the Rakk Dasig X gaming mouse
> to expose the side buttons properly via evdev. The default report
> descriptor does not expose all inputs, so this driver replaces
> it with a fixed descriptor.
>
> Reported-by: Keenplify <keenplify@gmail.com>
> Tested-by: Keenplify <keenplify@gmail.com>
> Signed-off-by: Keenplify <keenplify@gmail.com>
> Signed-off-by: keenplify <keenplify@gmail.com>
> ---
> drivers/hid/Kconfig | 6 ++++++
> drivers/hid/Makefile | 1 +
> drivers/hid/hid-ids.h | 3 +++
> drivers/hid/hid-rakk.c | 45 ++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 55 insertions(+)
> create mode 100644 drivers/hid/hid-rakk.c
>
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
> index a503252702b7..a2cf200e841b 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -1413,6 +1413,12 @@ config HID_KUNIT_TEST
>
> If in doubt, say "N".
>
> +config HID_RAKK
> + tristate "RAKK HID driver"
> + depends on HID
> + help
> + Support for the RAKK HID device.
> +
> endmenu
>
> source "drivers/hid/bpf/Kconfig"
> diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
> index 10ae5dedbd84..4ece64ebf2ec 100644
> --- a/drivers/hid/Makefile
> +++ b/drivers/hid/Makefile
> @@ -113,6 +113,7 @@ obj-$(CONFIG_HID_PLAYSTATION) += hid-playstation.o
> obj-$(CONFIG_HID_PRIMAX) += hid-primax.o
> obj-$(CONFIG_HID_PXRC) += hid-pxrc.o
> obj-$(CONFIG_HID_RAZER) += hid-razer.o
> +obj-$(CONFIG_HID_RAKK) += hid-rakk.o
> obj-$(CONFIG_HID_REDRAGON) += hid-redragon.o
> obj-$(CONFIG_HID_RETRODE) += hid-retrode.o
> obj-$(CONFIG_HID_ROCCAT) += hid-roccat.o hid-roccat-common.o \
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 288a2b864cc4..a052a307fdda 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -1520,4 +1520,7 @@
> #define USB_VENDOR_ID_SIGNOTEC 0x2133
> #define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011 0x0018
>
> +#define USB_VENDOR_ID_RAKK 0x248a
> +#define USB_DEVICE_ID_RAKK_DASIGX 0xfa02
Rakk does not have a USB vendor ID. VID 0x248a belongs to Telink.
And product ID 0xfa02 is for the Telink Wireless Receiver.
You are patching a Telink device, not a Rakk device.
It just so happens that Rakk is using Telink chip sets.
Many other keyboard and mice vendors may also be using Telink chips.
So pretty much everywhere, rakk should be telink.
> +
> #endif
> diff --git a/drivers/hid/hid-rakk.c b/drivers/hid/hid-rakk.c
> new file mode 100644
> index 000000000000..38abf92e764a
> --- /dev/null
> +++ b/drivers/hid/hid-rakk.c
> @@ -0,0 +1,45 @@
> +#include <linux/module.h>
> +#include <linux/hid.h>
> +
> +#include "hid-ids.h"
> +
> +static const __u8 *rakk_report_fixup(struct hid_device *hdev, __u8 *rdesc,
> + unsigned int *rsize)
> +
> +{
> + static __u8 fixed_rdesc[] = {
> + 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x01,
> + 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01,
> + 0x29, 0x05,
> + 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05,
> + 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x01,
> + 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01,
> + 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02,
> + 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f,
> + 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0
> + };
You can't replace the device's report descriptor, which has keyboard and mouse parts,
with a stripped down (and repaired) report descriptor that only has the mouse parts.
Any wireless keyboard that uses the Telink Wireless Receiver will stop working.
> +
> + if (*rsize >= sizeof(fixed_rdesc)) {
> + *rsize = sizeof(fixed_rdesc);
> + return fixed_rdesc;
> + }
Just verify the report descriptor is an exact match to the one you captured
in size and content. If it matches then fix the one byte that needs fixing in place.
Regards,
Terry
> +
> + return rdesc;
> +}
> +
> +static const struct hid_device_id rakk_devices[] = {
> + { HID_USB_DEVICE(USB_VENDOR_ID_RAKK, USB_DEVICE_ID_RAKK_DASIGX) },
> + { }
> +};
> +MODULE_DEVICE_TABLE(hid, rakk_devices);
> +
> +static struct hid_driver rakk_driver = {
> + .name = "hid-rakk",
> + .id_table = rakk_devices,
> + .report_fixup = rakk_report_fixup,
> +};
> +module_hid_driver(rakk_driver);
> +
> +MODULE_AUTHOR("keenplify");
> +MODULE_DESCRIPTION("Fix for Rakk Dasig X side buttons");
> +MODULE_LICENSE("GPL");
> \ No newline at end of file
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-05-17 0:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14 21:10 Rakk Dasig X mouse (248a:8266) – side buttons not exposed via evdev Keenplify
2025-05-15 5:57 ` Terry Junge
2025-05-15 19:06 ` [PATCH] HID: add support for Rakk Dasig X mouse (248a:8266) keenplify
2025-05-17 0:20 ` Terry Junge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).