- Add can_set_equalizer capability flag to DeviceState
- Add set_equalizer_band_packet trait method with default None implementation
- Add can_set_equalizer() helper method to Device trait
- Implement equalizer protocol: 10 bands (32Hz-16kHz), ±12dB range
- Encode values as dB*100 in 16-bit big-endian signed format
- Add Cloud III S Wireless implementation of set_equalizer_band_packet()
- Validate band index (0-9) and clamp dB values to valid range
Co-Authored-By: Claude <noreply@anthropic.com>
Implement auto-shutdown timer functionality for the Cloud III S Wireless headset
based on pcap analysis. The feature uses SET_REPORT (report ID 0x0c) with timeout
values encoded as 16-bit big-endian seconds. Supports disabling (0 minutes) and
various preset durations via the existing automatic_shutdown CLI option.
Add initial support for HyperX Cloud III S Wireless (PID 0x06BE).
Working features:
- Mic mute control via --mute true/false
- Button event detection (volume up/down, play/pause)
Not yet implemented (protocol not discovered):
- Battery level query
- Sidetone control
- Auto-shutdown timer
Cloud III S uses a different protocol than Cloud III:
- Header 0x05 for mic control (20-byte packets)
- Header 0x0f for button events (2-byte incoming)
- Does not respond to Cloud III protocol (0x66 header)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add PRODUCT_ID 0x16EA to Cloud II Wireless device support
- Cloud Flight S uses the same protocol as Cloud II Wireless
- Update README.md with Cloud Flight S in supported devices list
- Add udev rules for Cloud Flight S (idProduct=16ea)
- Fix prepare_write() to handle devices that don't support get_input_report
- Fix is_none_or compatibility issue for older Rust versions