1717 from winAPI .secureDesktop import post_secureDesktopStateChange
1818except :
1919 post_secureDesktopStateChange = None
20+ try :
21+ from utils import security
22+ except :
23+ pass
2024import buildVersion
2125import shlobj
2226import speech
@@ -828,6 +832,10 @@ def script_sendKeys(self, gesture):
828832 self .sending_keys = not self .sending_keys
829833 self .set_receiving_braille (self .sending_keys )
830834 if self .sending_keys :
835+ if buildVersion .version_year == 2022 and buildVersion .version_major == 4 :
836+ security .postSessionLockStateChanged .register (self .onSessionLockStateChange )
837+ elif buildVersion .version_year >= 2023 :
838+ security .post_sessionLockStateChanged .register (self .onSessionLockStateChange )
831839 self .hostPendingModifiers = gesture .modifiers
832840 # Translators: Presented when sending keyboard keys from the controlling computer to the controlled computer.
833841 ui .message (_ ("Controlling remote machine." ))
@@ -841,6 +849,10 @@ def script_sendKeys(self, gesture):
841849 for k in self .key_modifiers :
842850 self .master_transport .send (type = "key" , vk_code = k [0 ], extended = k [1 ], pressed = False )
843851 self .key_modifiers = set ()
852+ if buildVersion .version_year == 2022 and buildVersion .version_major == 4 :
853+ security .postSessionLockStateChanged .unregister (self .onSessionLockStateChange )
854+ elif buildVersion .version_year >= 2023 :
855+ security .post_sessionLockStateChanged .unregister (self .onSessionLockStateChange )
844856 # Translators: Presented when keyboard control is back to the controlling computer.
845857 ui .message (_ ("Controlling local machine." ))
846858 if buildVersion .version_year >= 2025 :
@@ -869,6 +881,10 @@ def handleRawKeys(self, vkCode, scanCode, extended, pressed):
869881 self .master_transport .send (type = "key" , vk_code = vkCode , scan_code = scanCode , extended = extended , pressed = pressed )
870882 return False
871883
884+ def onSessionLockStateChange (self , isNowLocked ):
885+ if isNowLocked :
886+ self .script_sendKeys (None )
887+
872888 @script (
873889 # Translators: gesture description for the toggle remote mute script
874890 description = _ ("""Mute or unmute the speech coming from the remote computer""" ),
0 commit comments