<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/hid/Makefile, branch v7.2-rc1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.2-rc1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.2-rc1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-06-16T19:50:58+00:00</updated>
<entry>
<title>Merge branch 'for-7.2/oxp' into for-linus</title>
<updated>2026-06-16T19:50:58+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.com</email>
</author>
<published>2026-06-16T19:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=714c861554d09b615824d5c8ee0c45fe51f3b463'/>
<id>urn:sha1:714c861554d09b615824d5c8ee0c45fe51f3b463</id>
<content type='text'>
- suport for OneXPlayer (Derek J. Clark)
</content>
</entry>
<entry>
<title>HID: hid-oxp: Add OneXPlayer configuration driver</title>
<updated>2026-05-12T15:55:56+00:00</updated>
<author>
<name>Derek J. Clark</name>
<email>derekjohn.clark@gmail.com</email>
</author>
<published>2026-04-19T04:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84910c459d65ab3a1aeac7f936169fb71334dd46'/>
<id>urn:sha1:84910c459d65ab3a1aeac7f936169fb71334dd46</id>
<content type='text'>
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 &lt;honjow311@gmail.com&gt;
Tested-by: Zhouwang Huang &lt;honjow311@gmail.com&gt;
Signed-off-by: Derek J. Clark &lt;derekjohn.clark@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: rakk: add support for Rakk Dasig X side buttons</title>
<updated>2026-05-12T15:28:52+00:00</updated>
<author>
<name>Karl Cayme</name>
<email>kcayme@gmail.com</email>
</author>
<published>2026-03-21T12:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=15a0449c955c862045c17f35d9479791981e7812'/>
<id>urn:sha1:15a0449c955c862045c17f35d9479791981e7812</id>
<content type='text'>
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 &lt;linuxhid@cosmicgizmosystems.com&gt;
Signed-off-by: Karl Cayme &lt;kcayme@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-7.1/lenovo-v2' into for-linus</title>
<updated>2026-04-16T19:07:13+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.com</email>
</author>
<published>2026-04-16T19:07:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=51cc1c427461d6c989126971d2fd5ef70216ade3'/>
<id>urn:sha1:51cc1c427461d6c989126971d2fd5ef70216ade3</id>
<content type='text'>
- new driver for Lenovo Legion Go / S devices (Derek J. Clark)
</content>
</entry>
<entry>
<title>HID: huawei: fix CD30 keyboard report descriptor issue</title>
<updated>2026-04-09T15:56:46+00:00</updated>
<author>
<name>Miao Li</name>
<email>limiao@kylinos.cn</email>
</author>
<published>2026-03-18T09:12:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e93faaca84b73431ccef029b2c8e902e5be83006'/>
<id>urn:sha1:e93faaca84b73431ccef029b2c8e902e5be83006</id>
<content type='text'>
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 &lt;limiao@kylinos.cn&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: hid-lenovo-go-s: Add Lenovo Legion Go S Series HID Driver</title>
<updated>2026-03-10T16:53:17+00:00</updated>
<author>
<name>Derek J. Clark</name>
<email>derekjohn.clark@gmail.com</email>
</author>
<published>2026-03-10T07:29:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a23f3497bf208c59adac1bc8fd1d8eae240b3001'/>
<id>urn:sha1:a23f3497bf208c59adac1bc8fd1d8eae240b3001</id>
<content type='text'>
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 &lt;mpearson-lenovo@squebb.ca&gt;
Co-developed-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;
Co-developed-by: Ethan Tidmore &lt;ethantidmore06@gmail.com&gt;
Signed-off-by: Ethan Tidmore &lt;ethantidmore06@gmail.com&gt;
Signed-off-by: Derek J. Clark &lt;derekjohn.clark@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: hid-lenovo-go: Add Lenovo Legion Go Series HID Driver</title>
<updated>2026-03-10T16:53:16+00:00</updated>
<author>
<name>Derek J. Clark</name>
<email>derekjohn.clark@gmail.com</email>
</author>
<published>2026-03-10T07:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d69ccfcbc9551988190895bc125a8bf709aa5931'/>
<id>urn:sha1:d69ccfcbc9551988190895bc125a8bf709aa5931</id>
<content type='text'>
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 &lt;mpearson-lenovo@squebb.ca&gt;
Signed-off-by: Derek J. Clark &lt;derekjohn.clark@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: rapoo: Add support for side buttons on RAPOO 0x2015 mouse</title>
<updated>2026-01-10T08:52:37+00:00</updated>
<author>
<name>Nguyen Dinh Dang Duong</name>
<email>dangduong31205@gmail.com</email>
</author>
<published>2025-06-27T17:04:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b3b1c68fb726907ea35ac172906705fe62c7fdaf'/>
<id>urn:sha1:b3b1c68fb726907ea35ac172906705fe62c7fdaf</id>
<content type='text'>
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 &lt;dangduong31205@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: haptic: introduce hid_haptic_device</title>
<updated>2025-09-15T12:32:54+00:00</updated>
<author>
<name>Angela Czubak</name>
<email>aczubak@google.com</email>
</author>
<published>2025-08-18T23:08:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b44779d44f7152c1b62091ab31514a62b4629d4c'/>
<id>urn:sha1:b44779d44f7152c1b62091ab31514a62b4629d4c</id>
<content type='text'>
Define a new structure that contains simple haptic device configuration
as well as current state.
Add functions that recognize auto trigger and manual trigger reports
as well as save their addresses.
Verify that the pressure unit is either grams or newtons.
Mark the input device as a haptic touchpad if the unit is correct and
the reports are found.

Signed-off-by: Angela Czubak &lt;aczubak@google.com&gt;
Co-developed-by: Jonathan Denose &lt;jdenose@google.com&gt;
Signed-off-by: Jonathan Denose &lt;jdenose@google.com&gt;
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-6.15/pidff' into for-linus</title>
<updated>2025-03-26T12:54:04+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.com</email>
</author>
<published>2025-03-26T12:54:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=765b8aa0f7dfcce85f24d4db19e64083442605d3'/>
<id>urn:sha1:765b8aa0f7dfcce85f24d4db19e64083442605d3</id>
<content type='text'>
From: Tomasz Pakuła &lt;tomasz.pakula.oficjalny@gmail.com&gt;

This patch series is focused on improving the compatibility and usability of the
hid-pidff force feedback driver. Last patch introduces a new, universal driver
for PID devices that need some special handling like report fixups, remapping the
button range, managing new pidff quirks and setting desirable fuzz/flat values.

This work has been done in the span of the past months with the help of the great
Linux simracing community, with a little input from sim flight fans from FFBeast.

No changes interfere with compliant and currently working PID devices.
"Generic" codepath was tested as well with Moza and Simxperience AccuForce v2.

I'm not married to the name. It's what we used previously, but if "universal" is
confusing (pidff is already the generic driver), we can come up with something
better like "hid-quirky-pidff" :)

With v8 and  tiny finx in v9, all the outstanding issues were resolved,
additional pidff issues were fixed and hid-pidff defines moved to a dedicated
header file. This patch series could be considered done bar any comments and
requests from input maintainers.

I could save more then a dozen lines of code by changing simple if statements
to only occupy on line instead of two in there's a need for that.
</content>
</entry>
</feed>
