I’ve been wanting auto-detect ability on the arctis7 on macos for a while.
I’ve even asked steelseries support if there was a way to detect that the headset is on or off on macos.
They said an API to detect the headset is not available
I could not find a way to poke at the steelseries engine to get a result either.
But following the link in the reply here, I stumbled upon ‘HeadsetControl’ that actually works on macos!
The source is here:
They key point is that it can detect the headset is ‘on’ by returning a non-zero battery level!
While the headset is connected…
user@macos% headsetcontrol --battery
Found SteelSeries Arctis (7/Pro)!
Battery: 100%
Success!
user@macos% echo $?
0
When the headset is not connected…
user@macos% headsetcontrol --battery
Found SteelSeries Arctis (7/Pro)!
Battery: 0%
Success!
user@macos% echo $?
0
Granted the status code is not an indicator, so you’d have to scan the output.
Also granted there is no actual event to ‘trigger’ the change in audio device either.
But at least this shows that detection is possible.
The key to success may be in inspecting the headsetcontrol code along with the hidapi library it uses battery detection as a building block in whatever scripting language you use (applescript, lua in hammerspoon, etc).