def __init__(self, *args, **kwargs): super(AppModule, self).__init__(*args, **kwargs) # Explicitly allow gainFocus events for the window class that hosts the active Outlook DatePicker cell # This object gets focus but its window does not conform to our GUI thread info window checks eventHandler.requestEvents("gainFocus", processId=self.processID, windowClassName="rctrl_renwnd32")
def requestWSRShowHideEvents(fn=None): global requestedWSRShowHideEvents, hookId, eventCallback, wsrPanelHiddenFunction if fn is None: fn = wsrPanelHiddenFunction else: wsrPanelHiddenFunction = fn if requestedWSRShowHideEvents: return try: hwnd = winUser.FindWindow(u"MS:SpeechTopLevel", None) except: hwnd = None if hwnd: pid, tid = winUser.getWindowThreadProcessID(hwnd) eventHandler.requestEvents(eventName='show', processId=pid, windowClassName='#32770') eventCallback = make_callback(fn) hookId = winUser.setWinEventHook(winUser.EVENT_OBJECT_HIDE, winUser.EVENT_OBJECT_HIDE, 0, eventCallback, pid, 0, 0) requestedWSRShowHideEvents = True
def requestWSRShowHideEvents(fn=None): global requestedWSRShowHideEvents, hookId, eventCallback, wsrPanelHiddenFunction if fn is None: fn = wsrPanelHiddenFunction else: wsrPanelHiddenFunction = fn if requestedWSRShowHideEvents: return try: hwnd = winUser.FindWindow(u"MS:SpeechTopLevel", None) except: hwnd = None if hwnd: pid, tid = winUser.getWindowThreadProcessID(hwnd) eventHandler.requestEvents(eventName='show', processId=pid, windowClassName='#32770') eventCallback = make_callback(fn) hookId = winUser.setWinEventHook(win32con.EVENT_OBJECT_HIDE, win32con.EVENT_OBJECT_HIDE, 0, eventCallback, pid, 0, 0) requestedWSRShowHideEvents = True
def __init__(self, *args, **kwargs): super(AppModule, self).__init__(*args, **kwargs) self.CODE_WINDOW_CLASS = "Chrome_RenderWidgetHostHWND" # A bug in VS Code causes NVDA to ignore all events when the document is no longer a child of the foreground # Prevent these events from being filtered as a workaround. See https://github.com/Microsoft/vscode/issues/28316 eventsToRequest = { v for k, v in IAccessibleHandler.winEventIDsToNVDAEventNames.items() } # NVDA normally ignores these events in EventHandler.shouldAcceptEvent to prevent flooding eventsToRequest.remove("reorder") eventsToRequest.remove("show") # TODO: account for changing this setting after app module initialization if not config.conf["presentation"]["progressBarUpdates"][ "reportBackgroundProgressBars"]: eventsToRequest.remove("valueChange") for event in eventsToRequest: eventHandler.requestEvents(eventName=event, processId=self.processID, windowClassName=self.CODE_WINDOW_CLASS)
def terminate(self): super(AppModule, self).terminate() if user32.FindWindowW(u"SPLStudio", None): spldebugging.debugOutput("Studio Recorder is offline, enabling background event tracking for Studio with Studio active") for pid, appMod in appModuleHandler.runningTable.items(): if appMod.appName == "splstudio": eventHandler.requestEvents(eventName="nameChange", processId=pid, windowClassName="TStatusBar") eventHandler.requestEvents(eventName="nameChange", processId=pid, windowClassName="TStaticText") eventHandler.requestEvents(eventName="show", processId=pid, windowClassName="TRequests") break else: spldebugging.debugOutput("Studio Recorder is offline and Studio is offline")
def requestEvents(self): eventHandler.requestEvents("show", self.processID, u'ListBoxX')
def __init__(self,*args,**kwargs): super(AppModule,self).__init__(*args,**kwargs) # Explicitly allow gainFocus events for the window class that hosts the active Outlook DatePicker cell # This object gets focus but its window does not conform to our GUI thread info window checks eventHandler.requestEvents("gainFocus",processId=self.processID,windowClassName="rctrl_renwnd32")
def requestEvents(self): #We need these for autocomplete eventHandler.requestEvents("show", self.processID, u'ListBoxX')
def requestEvents(self): #We need these for autocomplete eventHandler.requestEvents("show", self.processID, u'ListBoxX')
def __init__(self,*args,**kwargs): super(AppModule,self).__init__(*args,**kwargs) #Explicetly allow alert events for zoom's chat windows. #Zoom alerts are not zoom foreground window descendants. eventHandler.requestEvents("alert",processId=self.processID,windowClassName="zoom_acc_notify_wnd")