Windows support for USB HID HUTRR110 (System Microphone Mute) and HUTRR106 (Call State Management Control)

Bhargav Gondaliya 0 Reputation points
2026-04-15T10:21:13.95+00:00

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

Windows development | Windows Driver Kit (WDK)

2 answers

Sort by: Most helpful
  1. Richard Robinson 0 Reputation points
    2026-10-01T15:47:01.1533333+00:00

    I'm doing something similar. My solution for muting has been to simply emit the global muting shortcut, Win+Alt+K. This works even if your device just describes itself as a keyboard.

    I do have a few questions, though.

    1. If the descriptor says Telephony and has a dummy audio channel, will reporting a mute press mute all audio inputs or just the dummy channel?
    2. Can Mute LED Output Reporting work by itself, or will it only work for a device with a Telephony descriptor?
    3. Could the Telephony usage page be used without any associated usages to bypass the need for an audio channel?

    Was this answer helpful?

    0 comments No comments

  2. Taki Ly (WICLOUD CORPORATION) 5,630 Reputation points Microsoft External Staff Moderator
    2026-04-20T06:22:53.28+00:00

    Hello @Bhargav Gondaliya ,

    I suggest a few ideas you can try to make the mute button and LED work:

    1) Try using the Telephony Usage Page (0x0B): Apps like Microsoft Teams and Zoom may usually work much better with the Telephony Usage Page (0x0B) than the Generic Desktop Page. They actively look for "Telephony" devices to control calls and LEDs. According to the Windows HID architecture guidelines, you can try changing your HID descriptor to look like a Headset or Phone:

    • Usage Page: 0x0B (Telephony)
    • Usage: 0x05 (Headset) or 0x20 (Phone)
    • Input Report (Mute Button): Usage 0x2F (Phone Mute)
    • Output Report (LED): Usage 0x09 (Mute LED)

    2) Add a Fake Audio Interface Your device is just a "Keyboard + Consumer Control". Windows sees the mute command but ignores it because it cannot find a microphone stream to mute. Try adding a basic USB Audio Class (UAC) 2.0 interface to your device. It does not need to send real audio (just a dummy/fake endpoint). If Windows thinks your device has a microphone, it is much more likely to accept the mute command.

    3) Write a small Background App If you must keep your current HUTRR110/106 setup, you might need to write a small helper software. Windows does not seem to have built-in support for 0xA9 and 0x13 on the Generic Desktop page right now. You could write a small background app (in C# or C++) to do this:

    Disclaimer: Some links are non-Microsoft website. The pages appear to be providing accurate, safe information. Watch out for ads on the site that may advertise products frequently classifies as a PUP (Potentially Unwanted Products). Thoroughly research any product advertised on the site before you decide to download and install it.

    Hopefully, one of these workarounds helps. If you found my response helpful or informative, I would greatly appreciate it if you could provide feedback by following this guide.

    Thank you.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.