<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/hid/Makefile, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-08-19T07:24:50+00:00</updated>
<entry>
<title>Merge branch 'for-7.3/hyperx' into for-linus</title>
<updated>2026-08-19T07:24:50+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.com</email>
</author>
<published>2026-08-19T07:24:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2b6e857455af0b98f1f2b99c044d1a8934f73f36'/>
<id>urn:sha1:2b6e857455af0b98f1f2b99c044d1a8934f73f36</id>
<content type='text'>
- support for HyperX QuadCast 2 (Benjamin Blume)
</content>
</entry>
<entry>
<title>Merge branch 'for-7.3/msi' into for-linus</title>
<updated>2026-08-19T07:21:17+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.com</email>
</author>
<published>2026-08-19T07:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=310b6aff4faa66ed6f9f0ab0488cc01fcec5d624'/>
<id>urn:sha1:310b6aff4faa66ed6f9f0ab0488cc01fcec5d624</id>
<content type='text'>
- support for MSI Claw (Derek J. Clark)
</content>
</entry>
<entry>
<title>HID: hid-msi: Add MSI Claw configuration driver</title>
<updated>2026-08-03T19:41:51+00:00</updated>
<author>
<name>Derek J. Clark</name>
<email>derekjohn.clark@gmail.com</email>
</author>
<published>2026-07-20T03:15:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a9517958e828429ffd88558a8dae80f49f8cfbea'/>
<id>urn:sha1:a9517958e828429ffd88558a8dae80f49f8cfbea</id>
<content type='text'>
Adds configuration HID driver for the MSI Claw series of handheld PC's.
In this initial patch add the initial driver outline and attributes for
changing the gamepad mode, M-key behavior, and add a WO reset function.

Sending the SWITCH_MODE and RESET commands causes a USB disconnect in
the device. The completion will therefore never get hit and would trigger
an -EIO. To avoid showing the user an error for every write to these
attrs a bypass for the completion handling is introduced when timeout ==
0.

The initial version of this patch was written by Denis Benato, which
contained the initial reverse-engineering and implementation for the
gamepad mode switching. This work was later expanded by Zhouwang Huang
to include more gamepad modes. Finally, I refactored the drivers data
in/out flow and overall format to conform to kernel driver best
practices and style guides. Claude was used as an initial reviewer of
this patch.

Assisted-by: Claude:claude-sonnet-4-6
Co-developed-by: Denis Benato &lt;denis.benato@linux.dev&gt;
Signed-off-by: Denis Benato &lt;denis.benato@linux.dev&gt;
Co-developed-by: Zhouwang Huang &lt;honjow311@gmail.com&gt;
Signed-off-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: hyperx: add driver for the HyperX QuadCast 2 mute button</title>
<updated>2026-08-03T19:38:55+00:00</updated>
<author>
<name>Benjamin Blume</name>
<email>benjaminblume@posteo.de</email>
</author>
<published>2026-07-13T12:42:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=663870a84c1734b2817f51d93c0e61f1dc1c5f1e'/>
<id>urn:sha1:663870a84c1734b2817f51d93c0e61f1dc1c5f1e</id>
<content type='text'>
The tap-to-mute button of the HyperX QuadCast 2 (03f0:07b4) is handled
entirely in the device firmware.  The firmware gates the audio internally
but never sends the Telephony "Phone Mute" usage (0x2f) that its own report
descriptor advertises, and it does not touch the UAC feature unit either.
Consequently neither an evdev key event nor an ALSA mixer change is ever
generated, and userspace has no way to learn that the microphone was muted:
desktops keep showing the microphone as live, and conferencing applications
keep displaying an unmuted microphone while transmitting silence.

The mute state is reported through a vendor-defined collection instead:

  06 c0 ff        Usage Page (Vendor-Defined 0xFFC0)
  a1 01           Collection (Application)
  06 c1 ff          Usage Page (Vendor-Defined 0xFFC1)
  85 77             Report ID (0x77)
  09 f0             Usage (0xF0)
  75 08  95 3f      Report Size (8), Report Count (63)
  81 02             Input (Data,Var,Abs)

Pressing the button emits a 64-byte report on that collection:

  77 06 00 00 ...   microphone unmuted
  77 06 01 00 ...   microphone muted

where byte 1 identifies the mute event and byte 2 carries the resulting
state.  As the payload is an opaque vendor blob carrying no HID usages,
hid-input cannot map it and a hwdb entry cannot express it either.

Add a driver that decodes the report and emits KEY_MICMUTE, which makes the
button behave like any other microphone mute key.

Note that the device reports the resulting absolute state, whereas
KEY_MICMUTE is a momentary key that userspace acts on as a toggle, so the
driver emits one keypress per state change.

Tested on a HyperX QuadCast 2 (03f0:07b4).

Signed-off-by: Benjamin Blume &lt;benjaminblume@posteo.de&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: steelseries: Split Arctis headset driver into separate module</title>
<updated>2026-08-03T19:31:55+00:00</updated>
<author>
<name>Sriman Achanta</name>
<email>srimanachanta@gmail.com</email>
</author>
<published>2026-08-03T19:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3d569aafe31012828e43280e2f8eb48db2e44439'/>
<id>urn:sha1:3d569aafe31012828e43280e2f8eb48db2e44439</id>
<content type='text'>
Move all Arctis headset code (battery monitoring, wireless status,
power supply registration, raw event handling) from hid-steelseries.c
into the new hid-steelseries-arctis.c driver module.

hid-steelseries.c keeps the SRWS1 racing wheel and the MSI RGB LED
devices, while hid-steelseries-arctis.c handles the Arctis 1 (Xbox) and
Arctis 9 wireless headsets with their own device table, probe, remove,
and raw_event implementations.

Signed-off-by: Sriman Achanta &lt;srimanachanta@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<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.rulkc.org/pub/scm/linux/kernel/git/stable/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.rulkc.org/pub/scm/linux/kernel/git/stable/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.rulkc.org/pub/scm/linux/kernel/git/stable/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.rulkc.org/pub/scm/linux/kernel/git/stable/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.rulkc.org/pub/scm/linux/kernel/git/stable/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>
</feed>
