summaryrefslogtreecommitdiff
path: root/drivers/hid/hid-ids.h
AgeCommit message (Collapse)Author
11 daysMerge branch 'for-7.2/core' into for-linusJiri Kosina
11 daysMerge branch 'for-7.2/nintendo' into for-linusJiri Kosina
- support for HORI Wireless Switch Pad (Hector Zelaya)
11 daysMerge branch 'for-7.2/oxp' into for-linusJiri Kosina
- suport for OneXPlayer (Derek J. Clark)
11 daysMerge branch 'for-7.2/rakk' into for-linusJiri Kosina
- support for Rakk Dasig X (Karl Cayme)
2026-06-10HID: nintendo: add support for HORI Wireless Switch PadHector Zelaya
Add support for the HORI Wireless Switch Pad (vendor 0x0f0d, product 0x00f6), a licensed third-party Nintendo Switch Pro Controller. The controller reports controller type 0x06 (vs 0x03 for first-party Pro Controllers) and has the following quirks: - SPI flash calibration data is incompatible; use default stick calibration values instead. - X and Y button bits are swapped compared to first-party controllers; add a dedicated button mapping table. - Rumble and IMU enable may timeout (no vibration motor in hardware); treat as non-fatal for licensed controllers. Tested over Bluetooth on NixOS with kernel 7.0.5 and 7.0.10: - All 14 buttons map correctly - Player LED sets on connect - Sticks report correctly with default calibration - IMU/gyro data streams at 60Hz - D-pad reports on ABS_HAT0X/HAT0Y Device information: Bluetooth name: Lic Pro Controller Bluetooth HID: 0005:0F0D:00F6 Assisted-by: Kiro:Auto [Amazon Kiro IDE] Signed-off-by: Hector Zelaya <hector@hectorzelaya.dev> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-06-10HID: lenovo: Add support for ThinkPad X13 Folio keyboardVishnu Sankar
Add USB ID support for the ThinkPad X13 detachable keyboard. The Keyboard uses the same HID raw event protocol as the ThinkPad X12 Gen 2. The functionality stays the same with X12 Gen 2 Keyboards. Also declare KEY_PERFORMANCE capability in lenovo_input_configured() for X13 detachable, allowing userspace to discover the key via evdev capability bits. Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-06-01hid: Pen battery quirk for Surface Pro 12inHarrison Vanderbyl
The pen setup for this device uses bluetooth for communicating battery levels and status instead of reporting it over i2c. Without this quirk, the device either reports an extra, broken phantom battery, or hangs. Signed-off-by: Harrison Vanderbyl <harrison.vanderbyl@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2026-05-21HID: quirks: Add ALWAYS_POLL quirk for SIGMACHIP USB mousehlleng
The SIGMACHIP USB mouse with VID/PID 1c4f:0034 can disconnect and re-enumerate repeatedly after it has been enumerated if its interrupt endpoint is not continuously polled. This was observed with the device reporting itself as "SIGMACHIP Usb Mouse". Keeping the input event device open avoids the disconnects. Add HID_QUIRK_ALWAYS_POLL for this device so the HID core keeps polling it even when there is no userspace input consumer. Cc: stable@vger.kernel.org Signed-off-by: hlleng <a909204013@gmail.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2026-05-12HID: i2c-hid: add reset quirk for BLTP7853 touchpadXu Rao
The BLTP7853 I2C HID touchpad may fail to probe after reboot or reprobe because reset completion is not signalled to the host. The driver then waits for the reset-complete interrupt until it times out and the device probe fails: i2c_hid i2c-BLTP7853:00: failed to reset device. i2c_hid i2c-BLTP7853:00: can't add hid device: -61 i2c_hid: probe of i2c-BLTP7853:00 failed with error -61 Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for the device so i2c-hid does not wait for a reset interrupt that may never arrive. Signed-off-by: Xu Rao <raoxu@uniontech.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-05-12HID: hid-oxp: Add Second Generation RGB ControlDerek J. Clark
Adds support for the second generation of RGB Control for OneXPlayer devices. The interface mirrors the first generation, with some differences to how messages are formatted. Some devices have both a GEN1 MCU for RGB control and a GEN2 MCU for button mapping. To avoid conflicts, quirk these devices to skip RGB setup for the GEN2_USAGE_PAGE. Reviewed-by: Zhouwang Huang <honjow311@gmail.com> Tested-by: Zhouwang Huang <honjow311@gmail.com> Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-05-12HID: hid-oxp: Add OneXPlayer configuration driverDerek J. Clark
Adds OneXPlayer HID configuration driver. In this initial driver patch, add the RGB interface for the first generation of HID based RGB control. This interface provides the following attributes: - brightness: provided by the LED core, this works in a fairly unique way on this device. The hardware accepts 5 brightness values (0-4), which affects the brightness of the multicolor and animated effects built into the MCU firmware. For monocolor settings, the device expects the hardware brightness value to be pushed to maximum, then we apply brightness adjustments mathematically based on % (0-100). This leads to some odd conversion as we need the brightness slider to reach the full range, but it has no affect when incrementing between the division points for other effects. - multi-intensity: provided by the LED core for red, green, and blue. - effect: Allows the MCU to set 19 individual effects. - effect_index: Lists the 19 valid effect names for the interface. - enabled: Allows the MCU to toggle the RGB interface on/off. - enabled_index: Lists the valid states for enabled. - speed: Allows the MCU to set the animation rate for the various effects. - speed_range: Lists the valid range of speed (0-9). The MCU also has a few odd quirks that make sending multiple synchronous events challenging. It will essentially freeze if it receives another message before it has finished processing the last command. It also will not reply if you wait on it using a completion. To get around this, we do a 200ms sleep inside a work queue thread and debounce all but the most recent message using a 50ms mod_delayed_work. This will cache the last write, queue the work, then return so userspace can release its write thread. The work queue is only used for brightness/multi-intensity as that is the path likely to receive rapid successive writes. Reviewed-by: Zhouwang Huang <honjow311@gmail.com> Tested-by: Zhouwang Huang <honjow311@gmail.com> Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-05-12HID: rakk: add support for Rakk Dasig X side buttonsKarl Cayme
The Rakk Dasig X gaming mouse has a faulty HID report descriptor that declares USAGE_MAXIMUM=3 (buttons 1-3) while actually sending 5 button bits (REPORT_COUNT=5). This causes the kernel to ignore side buttons (buttons 4 and 5). Fix by patching the descriptor to set USAGE_MAXIMUM=5 in the report_fixup callback. The mouse uses Telink vendor ID 0x248a with three product IDs for USB direct (0xfb01), wireless dongle (0xfa02), and Bluetooth (0x8266) connection modes. All three variants have the same bug at byte offset 17. Suggested-by: Terry Junge <linuxhid@cosmicgizmosystems.com> Signed-off-by: Karl Cayme <kcayme@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-04-28HID: elan: Add support for ELAN SB974D touchpadDamien Dejean
Elan SB974D touchpad uses ELAN_MT_I2C format to send HID reports. Add an entry to match for the device and parse its vendor specific format. Signed-off-by: Damien Dejean <damiendejean@google.com> Signed-off-by: Kornel Dulęba <korneld@google.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-04-16Merge branch 'for-7.1/lenovo-v2' into for-linusJiri Kosina
- new driver for Lenovo Legion Go / S devices (Derek J. Clark)
2026-04-16Merge branch 'for-7.1/sony' into for-linusJiri Kosina
- new support for a variety of Rock Band and DJ Hero Turntable devices (Rosalie Wanders)
2026-04-09HID: huawei: fix CD30 keyboard report descriptor issueMiao Li
When the Huawei CD30 USB keyboard undergoes 500 reboot cycles, initialization may fail due to a report descriptor problem. The error log is as follows: [pid:175,cpu0,kworker/0:1,6]usb 1-1.2.2: new low-speed USB device number 6 using xhci-hcd [pid:175,cpu0,kworker/0:1,9]usb 1-1.2.2: New USB device found, idVendor=12d1, idProduct=109b, bcdDevice= 1.03 [pid:175,cpu0,kworker/0:1,0]usb 1-1.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [pid:175,cpu0,kworker/0:1,1]usb 1-1.2.2: Product: HUAWEI USB Wired Keyboard [pid:175,cpu0,kworker/0:1,2]usb 1-1.2.2: Manufacturer: HUAWEI [pid:175,cpu0,kworker/0:1,4]input: HUAWEI HUAWEI USB Wired Keyboard as /devices/platform/efc00000.hisi_usb/efc00000.dwc3/xhci-hcd.1.auto/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2:1.0/0003:12D1:109B.0002/input/input6 [pid:175,cpu0,kworker/0:1,5]hid-generic 0003:12D1:109B.0002: input,hidraw1: USB HID v1.10 Keyboard [HUAWEI HUAWEI USB Wired Keyboard] on usb-xhci-hcd.1.auto-1.2.2/input0 [pid:175,cpu0,kworker/0:1,9]hid-generic 0003:12D1:109B.0003: collection stack underflow [pid:175,cpu0,kworker/0:1,0]hid-generic 0003:12D1:109B.0003: item 0 0 0 12 parsing failed [pid:175,cpu0,kworker/0:1,1]hid-generic: probe of 0003:12D1:109B.0003 failed with error -22 ... When encountering such a situation, fix it with the correct report descriptor. Signed-off-by: Miao Li <limiao@kylinos.cn> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-04-09HID: sony: add support for more instrumentsRosalie Wanders
This patch adds support for the following instruments: * Rock Band 1/2/3 Wii/PS3 instruments * Rock Band 3 PS3 Pro instruments * DJ Hero Turntable Wii and PS3 instruments are the same besides the vendor and product ID. This patch also fixes the mappings for the existing Guitar Hero instruments. Co-developed-by: Sanjay Govind <sanjay.govind9@gmail.com> Signed-off-by: Sanjay Govind <sanjay.govind9@gmail.com> Co-developed-by: Brenton Simpson <appsforartists@google.com> Signed-off-by: Brenton Simpson <appsforartists@google.com> Signed-off-by: Rosalie Wanders <rosalie@mailbox.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-27HID: Kysona: Add support for VXE Dragonfly R1 ProLode Willems
Apparently this same protocol is used by more mice from different brands. This patch adds support for the VXE Dragonfly R1 Pro. Tested-by: Dominykas Svetikas <dominykas@svetikas.lt> Signed-off-by: Lode Willems <me@lodewillems.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-27HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3leo vriska
According to a mailing list report [1], this controller's predecessor has the same issue. However, it uses the xpad driver instead of HID, so this quirk wouldn't apply. [1]: https://lore.kernel.org/linux-input/unufo3$det$1@ciao.gmane.io/ Signed-off-by: leo vriska <leo@60228.dev> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-11HID: input: Drop Asus UX550* touchscreen ignore battery quirksHans de Goede
Drop the Asus UX550* touchscreen ignore battery quirks, there is a blanket HID_BATTERY_QUIRK_IGNORE for all USB_VENDOR_ID_ELAN USB touchscreens now, so these are just a duplicate of those. Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-10HID: asus: add xg mobile 2022 external hardware supportDenis Benato
XG mobile station 2022 has a different PID than the 2023 model: add it that model to hid-asus. Signed-off-by: Denis Benato <denis.benato@linux.dev> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-10HID: hid-lenovo-go-s: Add Lenovo Legion Go S Series HID DriverDerek J. Clark
Adds initial framework for a new HID driver, hid-lenovo-go-s, along with a uevent to report the firmware version for the MCU. This driver primarily provides access to the configurable settings of the Lenovo Legion Go S controller. It will attach if the controller is in xinput or dinput mode. Non-configuration raw reports are forwarded to ensure the other endpoints continue to function as normal. Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Co-developed-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Co-developed-by: Ethan Tidmore <ethantidmore06@gmail.com> Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com> Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-03-10HID: hid-lenovo-go: Add Lenovo Legion Go Series HID DriverDerek J. Clark
Adds initial framework for a new HID driver, hid-lenovo-go, along with attributes that report the firmware and hardware version for each component of the HID device, of which there are 4 parts: The MCU, the transmission dongle, the left "handle" controller half, and the right "handle" controller half. Each of these devices are provided an attribute group to contain its device specific attributes. Additionally, the touchpad device attributes are logically separated from the other components in another attribute group. This driver primarily provides access to the configurable settings of the Lenovo Legion Go and Lenovo Legion Go 2 controllers running the latest firmware. As previously noted, the Legion Go controllers recently had a firmware update[1] which switched from the original "SepentiaUSB" protocol to a brand new protocol for the Go 2, primarily to ensure backwards and forwards compatibility between the Go and Go 2 devices. As part of that update the PIDs for the controllers were changed, so there is no risk of this driver attaching to controller firmware that it doesn't support. -- v6: - Make attributes static. - Use NULL instead of 0 in mcu_propery_out when there is no data. v5: - Make version attributes static, retrieve them using delayed work during probe. - Fix endianness of version strings and print as hex. v3: - Add hid-lenovo.c and Mark Pearson to LENOVO HID DRIVERS entry in MAINTAINERS Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-02-27HID: asus: add xg mobile 2023 external hardware supportDenis Benato
XG mobile stations have the 0x5a endpoint and has to be initialized: add them to hid-asus. Signed-off-by: Denis Benato <denis.benato@linux.dev> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-02-09Merge branch 'for-6.20/elecom' into for-linusJiri Kosina
- support for new model of "Elecom Huge" trackball (David Phillips)
2026-02-09Merge branch 'for-6.20/sony' into for-linusJiri Kosina
- Support for Rock band 4 PS4 and PS5 guitars (Rosalie Wanders)
2026-02-04HID: sony: add dongle device IDs for CRKD Gibson SGRosalie Wanders
This patch adds the dongle device IDs for the CRKD Gibson SG Signed-off-by: Rosalie Wanders <rosalie@mailbox.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-23HID: multitouch: add eGalaxTouch EXC3188 supportThorsten Schmelzer
Add support for the for the EXC3188 touchscreen from eGalaxy. Signed-off-by: Thorsten Schmelzer <tschmelzer@topcon.com> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-23HID: elecom: Add support for ELECOM HUGE Plus M-HT1MRBKDavid Phillips
New model in the ELECOM HUGE trackball line that has 8 buttons but the report descriptor specifies only 5. The HUGE Plus supports connecting via Bluetooth, 2.4GHz wireless USB dongle, and directly via a USB-C cable. Each connection type reports a different device id, 01AA for cable, 01AB for USB dongle, and 01AC for Bluetooth. This patch adds these device IDs and applies the fixups similar to the other ELECOM devices to get all 8 buttons working for all 3 connection types. For reference, the usbhid-dump output: 001:013:001:DESCRIPTOR 1769085639.598405 05 01 09 02 A1 01 85 01 09 01 A1 00 05 09 19 01 29 05 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 05 0C 0A 38 02 15 81 25 7F 75 08 95 01 81 06 C0 C0 05 0C 09 01 A1 01 85 02 15 01 26 8C 02 19 01 2A 8C 02 75 10 95 01 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 06 01 FF 09 00 A1 01 85 08 09 00 15 00 26 FF 00 75 08 95 07 81 02 C0 06 02 FF 09 02 A1 01 85 06 09 02 15 00 26 FF 00 75 08 95 07 B1 02 C0 Signed-off-by: David Phillips <david@profile.sh> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-12HID: sony: add support for bluetooth Rock Band 4 PS4 guitarsRosalie Wanders
This commit adds support for the PDP Jaguar and MadCatz Stratocaster. Signed-off-by: Rosalie Wanders <rosalie@mailbox.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-10HID: sony: add support for Rock Band 4 PS4 and PS5 guitarsRosalie Wanders
This commit adds support for the PDP RiffMaster and the CRKD Gibson SG in both their PS4 and PS5 modes. These devices aren't mapped correctly without these changes, they also lack support for their whammy and tilt functionality which this patch adds support for by binding them to the left and right triggers. Signed-off-by: Rosalie Wanders <rosalie@mailbox.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-10HID: multitouch: add quirks for Lenovo Yoga Book 9iBrian Howard
The Lenovo Yoga Book 9i is a dual-screen laptop, with a single composite USB device providing both touch and tablet interfaces for both screens. All inputs report through a single device, differentiated solely by report numbers. As there is no way for udev to differentiate the inputs based on USB vendor/product ID or interface numbers, custom naming is required to match against for downstream configuration. A firmware bug also results in an erroneous InRange message report being received after the stylus leaves proximity, blocking later touch events. Add required quirks for Gen 8 to Gen 10 models, including a new quirk providing for custom input device naming and dropping erroneous InRange reports. Signed-off-by: Brian Howard <blhoward2@gmail.com> Tested-by: Brian Howard <blhoward2@gmail.com> Tested-by: Kris Fredrick <linux.baguette800@slmail.me> Reported-by: Andrei Shumailov <gentoo1993@gmail.com> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220386 Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-10HID: rapoo: Add support for side buttons on RAPOO 0x2015 mouseNguyen Dinh Dang Duong
This patch adds support for handling the side buttons on the RAPOO 0x2015 wireless mouse. These buttons were previously not generating input events due to missing driver logic. The new code handles raw HID input report with Report ID 1 and maps the side buttons to KEY_BACK and KEY_FORWARD using the input subsystem. Tested on a RAPOO mouse with USB ID 24AE:2015. Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-07HID: Elecom: Add support for ELECOM M-XT3DRBK (018C)Arnoud Willemsen
Wireless/new version of the Elecom trackball mouse M-XT3DRBK has a product id that differs from the existing M-XT3DRBK. The report descriptor format also seems to have changed and matches other (newer?) models instead (except for six buttons instead of eight). This patch follows the same format as the patch for the M-XT3URBK (018F) by Naoki Ueki (Nov 3rd 2025) to enable the sixth mouse button. dmesg output: [ 292.074664] usb 1-2: new full-speed USB device number 7 using xhci_hcd [ 292.218667] usb 1-2: New USB device found, idVendor=056e, idProduct=018c, bcdDevice= 1.00 [ 292.218676] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 292.218679] usb 1-2: Product: ELECOM TrackBall Mouse [ 292.218681] usb 1-2: Manufacturer: ELECOM usbhid-dump output: 001:006:000:DESCRIPTOR 1765072638.050578 05 01 09 02 A1 01 09 01 A1 00 85 01 05 09 19 01 29 05 15 00 25 01 95 08 75 01 81 02 95 01 75 00 81 01 05 01 09 30 09 31 16 00 80 26 FF 7F 75 10 95 02 81 06 C0 A1 00 05 01 09 38 15 81 25 7F 75 08 95 01 81 06 C0 A1 00 05 0C 0A 38 02 95 01 75 08 15 81 25 7F 81 06 C0 C0 06 01 FF 09 00 A1 01 85 02 09 00 15 00 26 FF 00 75 08 95 07 81 02 C0 05 0C 09 01 A1 01 85 05 15 00 26 3C 02 19 00 2A 3C 02 75 10 95 01 81 00 C0 05 01 09 80 A1 01 85 03 19 81 29 83 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 01 C0 06 BC FF 09 88 A1 01 85 04 95 01 75 08 15 00 26 FF 00 19 00 2A FF 00 81 00 C0 06 02 FF 09 02 A1 01 85 06 09 02 15 00 26 FF 00 75 08 95 07 B1 02 C0 Signed-off-by: Arnoud Willemsen <mail@lynthium.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-07HID: Apply quirk HID_QUIRK_ALWAYS_POLL to Edifier QR30 (2d99:a101)Rodrigo Lugathe da Conceição Alves
The USB speaker has a bug that causes it to reboot when changing the brightness using the physical knob. Add a new vendor and product ID entry in hid-ids.h, and register the corresponding device in hid-quirks.c with the required quirk. Signed-off-by: Rodrigo Lugathe da Conceição Alves <lugathe2@gmail.com> Reviewed-by: Terry Junge <linuxhid@cosmicgizmosystems.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-01-07HID: quirks: Add another Chicony HP 5MP Cameras to hid_ignore_listChris Chiu
Another Chicony Electronics HP 5MP Camera with USB ID 04F2:B882 reports a HID sensor interface that is not actually implemented. Add the device to the HID ignore list so the bogus sensor is never exposed to userspace. Then the system won't hang when runtime PM tries to wake the unresponsive device. Signed-off-by: Chris Chiu <chris.chiu@canonical.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2025-12-02Merge branch 'for-6.19/logitech' into for-linusJiri Kosina
- Support for Logitech G Pro X Superlight 2 receiver (Nathan Rossi) - Fix for retry logic in hidpp_send_message_sync() (Mavroudis Chatzilazaridis) - Support for new Lighspeed receiver version (Mavroudis Chatzilazaridis) - Support for Logitech G13 (Leo L. Schwab) - Backlight support improvement for Logitech G510 (Hans de Goede)
2025-12-02Merge branch 'for-6.19/uclogic' into for-linusJiri Kosina
- support for UcLogic XP-PEN Artist 24 Pro (Joshua Goins)
2025-11-26HID: evision: Fix Report Descriptor for Evision Wireless Receiver 320f:226fTerry Junge
The mouse portion of the device's Report Descriptor declares 5 buttons but only declares 3 usages (Button 1 through Button 3). As a result events for the 2 side buttons are not generated. Detect and repair the Report Descriptor if necessary by changing the Usage Maximum value from Button 3 to Button 5. [jkosina@suse.com: standardize changelog a little bit] Reported-by: Artem <temabiill@gmail.com> Closes: https://lore.kernel.org/all/CADYkRmrfhRf6VmQjc+su+mepyv=TsHc+aMcL6ryRZ5HTZ8pyFg@mail.gmail.com/ Signed-off-by: Terry Junge <linuxhid@cosmicgizmosystems.com> Tested-by: Artem <temabiill@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-11-26HID: logitech-dj: Add support for G Pro X Superlight 2 receiverNathan Rossi
The Logitech G Pro X Superlight 2 has a lightspeed receiver with a product id of 0xc54d, this receiver behaves like the receiver used in the original Logitech G Pro X Superlight (id 0xc547) including the 13 byte mouse reports. This change adds a definition for this receiver id, and a mapping for the recvr_type_gaming_hidpp_ls_1_3 type. With this change in place the receiver now reports the battery status of the connected mouse over wireless as well as exposing the HID interface needed for userspace to perform additional configuration with libratbag/Piper. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-11-18HID: elecom: Add support for ELECOM M-XT3URBK (018F)Naoki Ueki
The ELECOM M-XT3URBK trackball has an additional device ID (0x018F), which shares the same report descriptor as the existing device (0x00FB). However, the driver does not currently recognize this new ID, resulting in only five buttons being functional. This patch adds the new device ID so that all six buttons work properly. Signed-off-by: Naoki Ueki <naoki25519@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-30HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdescLauri Tirkkonen
The keyboard of this device has the following in its report description for Usage (Keyboard) in Collection (Application): # 0x15, 0x00, // Logical Minimum (0) 52 # 0x25, 0x65, // Logical Maximum (101) 54 # 0x05, 0x07, // Usage Page (Keyboard) 56 # 0x19, 0x00, // Usage Minimum (0) 58 # 0x29, 0xdd, // Usage Maximum (221) 60 # 0x81, 0x00, // Input (Data,Arr,Abs) 62 Since the Usage Min/Max range exceeds the Logical Min/Max range, keypresses outside the Logical range are not recognized. This includes, for example, the Japanese language keyboard variant's keys for |, _ and \. Fixup the report description to make the Logical range match the Usage range, fixing the interpretation of keypresses above 101 on this device. Signed-off-by: Lauri Tirkkonen <lauri@hacktheplanet.fi> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-30HID: quirks: work around VID/PID conflict for 0x4c4a/0x4155Zhang Heng
Based on available evidence, the USB ID 4c4a:4155 used by multiple devices has been attributed to Jieli. The commit 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") affected touchscreen functionality. Added checks for manufacturer and serial number to maintain microphone compatibility, enabling both devices to function properly. [jkosina@suse.com: edit shortlog] Fixes: 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY") Cc: stable@vger.kernel.org Tested-by: staffan.melin@oscillator.se Reviewed-by: Terry Junge <linuxhid@cosmicgizmosystems.com> Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-14HID: uclogic: Add support for the XP-PEN Artist 24 ProJoshua Goins
The tablet is similar to the 22R Pro, but with a few annoying differences. Its descriptors are bigger because of the tablet's split coordinate system, I guess it's just that large. Thankfully, this is easy enough to support as all we have to do is shift bytes around. To help code re-use, I changed the signature of uclogic_params_init_ugee_xppen_pro to accept a pen descriptor so we didn't create yet-another initialization function. I have been testing this locally for a month or so and it works great, and also corroborated this with a few other testers. Since this touches my 22R Pro code, I have tested and checked that it didn't regress that device. Signed-off-by: Joshua Goins <josh@redstrate.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-14HID: logitech-dj: Add support for a new lightspeed receiver iterationMavroudis Chatzilazaridis
This lightspeed receiver uses 13 byte mouse reports without an ID. There are 5 additional vendor defined bytes appended to the report. The workaround for such cases has been adjusted to handle these larger reports. The keyboard reports have a distinct layout with differing minimums and maximums. Additionally, the LED reports now require a report ID of 1. New keyboard and mouse descriptors have been added to reflect these changes. The devices attached to this receiver now report the status of their battery in wireless mode, libratbag communicates with them and they can be configured with Piper. Fixes: 9d1bd9346241 ("HID: logitech-dj: Add support for a new lightspeed receiver iteration") Link: https://bugzilla.kernel.org/show_bug.cgi?id=218172 Link: https://bugzilla.kernel.org/show_bug.cgi?id=218094 Co-developed-by: Filipe Laíns <lains@riseup.net> Signed-off-by: Filipe Laíns <lains@riseup.net> Signed-off-by: Mavroudis Chatzilazaridis <mavchatz@protonmail.com> Tested-by: Stuart Hayhurst <stuart.a.hayhurst@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-14HID: quirks: Add ALWAYS_POLL quirk for VRS R295 steering wheelOleg Makarenko
This patch adds ALWAYS_POLL quirk for the VRS R295 steering wheel joystick. This device reboots itself every 8-10 seconds if it is not polled. Signed-off-by: Oleg Makarenko <oleg@makarenk.ooo> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-14HID: quirks: avoid Cooler Master MM712 dongle wakeup bugTristan Lobb
The Cooler Master Mice Dongle includes a vendor defined HID interface alongside its mouse interface. Not polling it will cause the mouse to stop responding to polls on any interface once woken up again after going into power saving mode. Add the HID_QUIRK_ALWAYS_POLL quirk alongside the Cooler Master VID and the Dongle's PID. Signed-off-by: Tristan Lobb <tristan.lobb@it-lobb.de> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-14HID: lg-g15 - Add support for Logitech G13.Leo L. Schwab
The Logitech G13 is a gaming keypad with general-purpose macro keys, four LED-backlit macro preset keys, five "menu" keys, backlight toggle key, an analog thumbstick, RGB LED backlight, and a monochrome LCD display. Support input event generation for all keys and the thumbstick, and expose all LEDs. Signed-off-by: Leo L. Schwab <ewhac@ewhac.org> Reviewed-by: Hans de Goede <hansg@kernel.org> Tested-by: Kate Hsuan <hpa@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-30Merge branch 'for-6.18/steelseries' into for-linusBenjamin Tissoires
- Make use of devm API for steelseries (Jeongjun Park)
2025-09-12HID: asus: add Z13 folio to generic group for multitouch to workAntheas Kapenekakis
The Asus Z13 folio has a multitouch touchpad that needs to bind to the hid-multitouch driver in order to work properly. So bind it to the HID_GROUP_GENERIC group to release the touchpad and move it to the bottom so that the comment applies to it. While at it, change the generic KEYBOARD3 name to Z13_FOLIO. Reviewed-by: Luke D. Jones <luke@ljones.dev> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Signed-off-by: Jiri Kosina <jkosina@suse.com>