Adding a Corsair Device
January 7, 2026 ยท View on GitHub
This guide explains how to add support for a Corsair headset to HeadsetControl.
Quick Check
Most Corsair headsets use the same protocol, so your device might work by simply adding its Product ID to an existing implementation.
Exception: The Virtuoso and HS series use different protocols and may need separate implementations.
Step 1: Find Your Device ID
./headsetcontrol --dev -- --list
Look for your Corsair headset (Vendor ID 0x1b1c) and note the Product ID.
Step 2: Check ALSA (Linux)
alsamixer
# Press F6, select your headset
# Look for "Sidetone" control
If sidetone appears in ALSA, it can't be controlled via HID (but battery and other features may still work).
Step 3: Add Your Product ID
Most Corsair headsets can be added to lib/devices/corsair_void_rich.hpp:
// Find the PRODUCT_IDS array and add your ID
static constexpr std::array<uint16_t, N> PRODUCT_IDS {
0x1b27, // VOID PRO
0x1b2a, // VOID PRO Wireless
0x1b23, // VOID USB
0x1b2f, // <- Add your product ID here
};
Also update the array size N to match the new count.
Note: You don't need to modify device_registry.cpp - the device is already registered there. Just adding the product ID to the array is enough.
Step 4: Build and Test
cd build
cmake ..
make
# Test your headset
./headsetcontrol -b # Battery
./headsetcontrol -s 64 # Sidetone
./headsetcontrol -l 1 # Lights on
If It Doesn't Work
If the standard Corsair protocol doesn't work for your headset:
-
Use developer mode to explore:
./headsetcontrol --dev -- --list --device 0x1b1c:YOUR_ID -
Capture USB traffic with Wireshark (see ADDING_A_DEVICE.md)
-
You may need to create a new device class - use
corsair_void_rich.hppas a template
Contributing
- Fork the repository
- Add only your device changes
- Test all features that should work
- Submit a pull request
If you have questions, open an issue on GitHub.