Add alt+d deafen keyboard shortcut.

This commit is contained in:
Storm Dragon
2026-09-05 21:53:57 -04:00
parent f21e7c9960
commit cf9746c8de
10 changed files with 124 additions and 7 deletions
+40
View File
@@ -214,6 +214,10 @@ func (b *Barnard) OnSelfMuteToggle(ui *uiterm.Ui, key uiterm.Key) {
b.toggleSelfMute()
}
func (b *Barnard) OnSelfDeafenToggle(ui *uiterm.Ui, key uiterm.Key) {
b.toggleSelfDeafen()
}
func (b *Barnard) selfMuted() bool {
if b.Client == nil || b.Client.Self == nil {
return false
@@ -250,6 +254,41 @@ func (b *Barnard) toggleSelfMute() {
b.setSelfMute(!b.selfMuted())
}
func (b *Barnard) selfDeafened() bool {
if b.Client == nil || b.Client.Self == nil {
return false
}
deafened := false
b.Client.Do(func() { deafened = b.Client.Self.SelfDeafened })
return deafened
}
func (b *Barnard) setSelfDeafen(deafened bool) {
if !b.isConnected() || b.Client == nil || b.Client.Self == nil {
b.Notify("error", "me", "cannot change self deafen while disconnected")
b.UpdateGeneralStatus("cannot change self deafen while disconnected", true)
return
}
if b.selfDeafened() == deafened {
return
}
if b.isTransmitting() {
b.StopTransmission()
}
b.Client.Self.SetSelfMutedAndDeafened(true, deafened)
if deafened {
b.Notify("mutedeafen", "me", "")
b.AddOutputLine("You muted and deafened yourself")
return
}
b.Notify("muteundeafen", "me", "")
b.AddOutputLine("You undeafened yourself; microphone remains muted")
}
func (b *Barnard) toggleSelfDeafen() {
b.setSelfDeafen(!b.selfDeafened())
}
func (b *Barnard) CommandLog(ui *uiterm.Ui, cmd string) {
b.AddOutputLine("command " + cmd)
}
@@ -710,6 +749,7 @@ func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
b.Ui.AddKeyListener(b.OnHelpMenuPress, b.Hotkeys.HelpMenu)
b.Ui.AddKeyListener(b.OnVoiceToggle, b.Hotkeys.Talk)
b.Ui.AddKeyListener(b.OnSelfMuteToggle, b.Hotkeys.SelfMuteToggle)
b.Ui.AddKeyListener(b.OnSelfDeafenToggle, b.Hotkeys.SelfDeafenToggle)
b.Ui.AddKeyListener(b.OnTimestampToggle, b.Hotkeys.ToggleTimestamps)
b.Ui.AddKeyListener(b.OnNoiseSuppressionToggle, b.Hotkeys.NoiseSuppressionToggle)
b.Ui.AddKeyListener(b.OnAGCToggle, b.Hotkeys.AGCToggle)