Mute HyperX QuadCast S at logon and sync Windows mute to it
Sets the mic's own hardware mute (USB Audio SET_CUR mute on feature unit 6, via IDeviceTopology/IAudioMute) when it appears, and follows its 05 10 xx HID mute reports to keep the Windows endpoint mute in step. Includes build/install/uninstall scripts and a read-only HID listener. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
3128ccd207
7 files changed
+614
No files matched your search
+26
@@ -0,0 +1,26 @@
|
||||
# Builds QuadCastMuteSync, copies it to the install folder and runs it at every logon.
|
||||
# No admin rights needed: the task runs as the current user.
|
||||
# The default folder is outside AppData on purpose: when run from an MSIX-packaged app
|
||||
# (such as some terminals), writes to AppData are redirected and Task Scheduler can't see them.
|
||||
param([string]$InstallDir = (Join-Path $env:USERPROFILE 'QuadCastMuteSync'))
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$TaskName = 'QuadCastMuteSync'
|
||||
$dest = $InstallDir
|
||||
$exe = Join-Path $dest 'QuadCastMuteSync.exe'
|
||||
|
||||
& (Join-Path $PSScriptRoot 'build.ps1')
|
||||
|
||||
Get-Process QuadCastMuteSync -ErrorAction SilentlyContinue | Stop-Process -Force
|
||||
New-Item -ItemType Directory -Force $dest | Out-Null
|
||||
Copy-Item (Join-Path $PSScriptRoot 'bin\QuadCastMuteSync.exe') $exe -Force
|
||||
|
||||
$action = New-ScheduledTaskAction -Execute $exe -Argument 'run'
|
||||
$trigger = New-ScheduledTaskTrigger -AtLogOn -User "$env:USERDOMAIN\$env:USERNAME"
|
||||
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries `
|
||||
-ExecutionTimeLimit ([TimeSpan]::Zero) -MultipleInstances IgnoreNew `
|
||||
-RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 1)
|
||||
Register-ScheduledTask -TaskName $TaskName -Action $action -Trigger $trigger -Settings $settings `
|
||||
-Description 'Mutes the HyperX QuadCast S at logon and keeps Windows mic mute in sync with it.' -Force | Out-Null
|
||||
|
||||
Start-ScheduledTask -TaskName $TaskName
|
||||
Write-Host "Installed to $dest and registered logon task '$TaskName' (started now)."
|
||||
Reference in new issue
Block a user