diff --git a/SimplePTT/MicController.cs b/SimplePTT/MicController.cs index 4b7d72a..47cfe45 100644 --- a/SimplePTT/MicController.cs +++ b/SimplePTT/MicController.cs @@ -21,6 +21,8 @@ public class MicController : IDisposable private readonly Timer timer; private readonly Object muteLock; + private DateTime mouseDownTime = new DateTime(); + private bool wasMutedOnMouseDown; private TargetMicrophoneState targetMicrophoneState; private Guid? selectedDeviceGuid; private IDisposable muteChangedSubscription; @@ -193,13 +195,12 @@ private void KeyboardHook_KeyUp(object sender, KeyEventArgs keyEvt) DeferMute(); } - private DateTime mouseDownTime = new DateTime(); private void MouseHook_ButtonDown(object sender, MouseEventArgs mouseEvt) { if (IsValidMouseButton(mouseEvt.Button)) { mouseDownTime = DateTime.Now; - + wasMutedOnMouseDown = IsMuted; Unmute(); } } @@ -211,7 +212,8 @@ private void MouseHook_ButtonUp(object sender, MouseEventArgs mouseEvt) if(DateTime.Now - mouseDownTime > TimeSpan.FromMilliseconds(200)) mouseHook.ConsumeMouseKey = true; - DeferMute(); + if(wasMutedOnMouseDown) + DeferMute(); } }