Hello,
I am developing firmware for a custom USB Composite Device (Keyboard + Consumer Control) and I am trying to implement a hardware-level Microphone Mute toggle button.
I have attempted to implement this using two different recent HID specifications approved by the USB-IF, but the host operating system (Windows 11) does not appear to react to either of them. I have verified using a USB protocol analyzer (Wireshark + USBPcap) that the raw USB interrupt packets are correctly arriving at the host when the button is pressed.
Here is what I have tried:
Attempt 1: HUTRR110 (System Microphone Mute) I implemented an application collection under Generic Desktop Page (0x01) with Usage 0xA9 (System Microphone Mute). Result: Windows does not trigger a system-wide microphone mute, and the microphone remains active.
Attempt 2: HUTRR106 (Call State Management Control) I modified the descriptor to use Generic Desktop Page (0x01), Usage 0x13 (Call State Management Control). I set up an Input report for Usage 0xE1 (Call Mute Toggle) and Output reports for Usage 0xE0 (Call Active LED) and 0xE2 (Call Mute LED). Result: Even with Microsoft Teams running in an active call, pressing the mute button sends the correct 0xE1 input report, but Teams does not mute, and Windows does not send the Output report to light up the Mute LED.
My HID Descriptor for HUTRR106 looks like this:
0x05, 0x01, // Usage Page (Generic Desktop)
0x09, 0x13, // Usage (Call State Management Control)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
// --- Input: Call Mute Toggle ---
0x09, 0xE1, // Usage (Call Mute Toggle)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x95, 0x01, // Report Count (1)
0x75, 0x01, // Report Size (1 bit)
0x81, 0x06, // Input (Data, Var, Rel)
// ... padding and output LED descriptors follow ...
0xC0 // End Collection
My Questions:
OS Support: Which specific versions/builds of Windows 10 and Windows 11 natively support HUTRR110 (0xA9 System Mic Mute) and HUTRR106 (0x13 Call State Management)?
Implementation Requirements: Are there specific Windows services, Audio Endpoint settings, or background applications that must be running for Windows to interpret these HID usages and trigger the mute logic?
Zoom/Google Meet/Microsoft Teams Integration: For HUTRR106, is there a specific way the HID device needs to be registered (e.g., as a Telephony device instead of Generic Desktop) for Teams to recognize the Call Mute Toggle?
Any insights into how the Windows HID stack processes these specific usages would be greatly appreciated.
moved from Windows for home | Windows 11 | Devices and drivers