Re: [PATCH] HID: hyperx: add driver for the HyperX QuadCast 2 mute button

Jiri Kosina <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,org.kernel.vger.linux-input
Message-ID <[email protected]>
On Mon, 13 Jul 2026, Benjamin Blume wrote:

> 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 <[email protected]>

Applied, thanks.

-- 
Jiri Kosina
SUSE Labs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.