Exemplo n.º 1
0
 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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
	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")
Exemplo n.º 6
0
 def requestEvents(self):
     eventHandler.requestEvents("show", self.processID, u'ListBoxX')
Exemplo n.º 7
0
	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")
Exemplo n.º 8
0
 def requestEvents(self):
     #We need these for autocomplete
     eventHandler.requestEvents("show", self.processID, u'ListBoxX')
Exemplo n.º 9
0
	def requestEvents(self):
		#We need these for autocomplete
		eventHandler.requestEvents("show", self.processID, u'ListBoxX')
Exemplo n.º 10
0
	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")