403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.156
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/orca/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/orca/__pycache__/event_manager.cpython-310.pyc
o

S�b�@s�dZdZdZdZdZddlmZddlZe�dd	�dd
lm	Z	ddl
Z
ddlZddlZddl
Z
ddlmZdd
lmZddlmZddlmZddlmZddlmZe��ZGdd�d�Ze�Zdd�ZdS)z$Id$z
$Revision$z$Date$zCopyright (c) 2011. Orca Team.�LGPL�)�GLibN�Atspiz2.0)r�)�debug)�input_event)�messages)�
orca_state)�script_manager)�settingsc@sNeZdZdZdPdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdQdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�ZdRd2d3�ZdRd4d5�Zd6d7�Zed8d9��ZdSd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)dNdO�Z*dS)T�EventManageruTcCs�t�tjdd�t�tjd|d�||_i|_tj|_tj�d�|_	d|_
d|_d|_t
�d�|_d|_t��|_d|_dg|_gd�|_g|_dt_d|_d|_d|_t�tjd	d�dS)
NzEVENT MANAGER: InitializingTzEVENT MANAGER: Async Mode is %srFg�h㈵��>�VCL)zobject:bounds-changedzobject:state-changed:defunctz(object:property-change:accessible-parentzEvent manager initialized)r�println�
LEVEL_INFO�
_asyncMode�_scriptListenerCounts�pyatspi�Registry�registry�
getDesktop�_desktop�_active�
_enqueueCount�
_dequeueCount�queue�Queue�_eventQueue�_gidleId�	threading�Lock�
_gidleLock�
_gilSleepTime�_synchronousToolkits�_ignoredEvents�_parentsOfDefunctDescendantsr	�device�newKeyHandlingActive�legacyKeyHandlingActive�forceLegacyKeyHandling)�self�	asyncMode�r+�4/usr/lib/python3/dist-packages/orca/event_manager.py�__init__1s*

zEventManager.__init__cCs4t�tjdd�|�d�d|_t�tjdd�dS)z,Called when this event manager is activated.zEVENT MANAGER: ActivatingTFzEVENT MANAGER: ActivatedN)rrr�setKeyHandlingr�r)r+r+r,�activateLs
zEventManager.activatecCsZ|js+ztj��t_Wn
d|_|��YdSdtj_tj�	|j
�tj_d|_dSdS)NTr)r&r�Device�newr	r%r(�activateLegacyKeyHandling�event_count�add_key_watcher�_processNewKeyboardEvent�key_watcherr/r+r+r,�activateNewKeyHandlingUs
�z#EventManager.activateNewKeyHandlingcCs |js|�|j�d|_dSdS)NT)r'�registerKeystrokeListener�_processKeyboardEventr/r+r+r,r3a�
�z&EventManager.activateLegacyKeyHandlingcCs2|r|js|��|��dS|��|��dS�N)r(�deactivateLegacyKeyHandlingr8�deactivateNewKeyHandlingr3)r)r2r+r+r,r.fs

zEventManager.setKeyHandlingcCsXt�tjdd�d|_|j��D]
}|j�|j|�qi|_|�	�t�tjdd�dS)z.Called when this event manager is deactivated.zEVENT MANAGER: DectivatingTFzEVENT MANAGER: DeactivatedN)
rrrrr�keysr�deregisterEventListener�_enqueuer=)r)�	eventTyper+r+r,�
deactivatenszEventManager.deactivatecCs|jrdt_d|_dSdS�NF)r&r	r%r/r+r+r,r>ys
�z%EventManager.deactivateNewKeyHandlingcCs |jr|�|j�d|_dSdSrD)r'�deregisterKeystrokeListenerr:r/r+r+r,r=~r;z(EventManager.deactivateLegacyKeyHandlingcCs$|D]
}||jvr|j�|�qdSr<)r#�append�r)�
eventTypeListrBr+r+r,�ignoreEventTypes��

��zEventManager.ignoreEventTypescCs$|D]
}||jvr|j�|�qdSr<)r#�removerGr+r+r,�unignoreEventTypes�rJzEventManager.unignoreEventTypesc
Cs|j}t|t�rt|�dkrd|dd�}t|j�}t|�dkr)d|dd�}t�tjd�d|j||j	|j
|j|f}t�tj|d�|jsUd}t�tj|d�dSt
t|jj|j��rkd	}t�tj|d�dS|j�d
�r}d}t�tj|d�dS|j�d
�r�d}t�tj|d�dS|��r�|�|�r�d}t�tj|d�dStj}|j�d�r�|s�d}t�tj|d�dS|j|j	kr�d}t�tj|d�dS|j�d�r�|j|jvr�|j�|jd�s�d}t�tj|d�dSz|j��}|j��}Wnd}t�tj|d�YdS|���rd}t�tj|d�dS|�tj��r.d}t�tj|d�dS|j�d��r[|tjtjtj tj!tj"tj#tj$tj%tj&tj'f
v�rZd}t�tj|d�dSn�|j�d��r||tj(k�r{|�tj)��s{d}t�tj|d�dSn�|j�d��r�|jdk�r�|tj*tj+fv�r�d}t�tj|d�dS|j�d��r�|tj'tj&tj,tj-tj.tj/fv�r�d}t�tj|d�dSn\|j�d��r�|tj0tj1tj2tj&tj3tj4tj-tj5tj6f	v�r�d}t�tj|d�dSn1|j�d ��r|j|j7v�rd!}t�tj|d�dSz|jj8}Wnd"}t�tj|d�YdS|j�d��s-|j�d#��r|tj&tj9tj'fv�rDd}t�tj|d�dS|j�sTd$}t�tj|d�dS|j�:d%��r�|jtj;k�rnd&}t�tj|d�dSztj;j8}Wnd'}t�tj|d�YdSd(tj;}t�tj|d�z|j��}	|j��}
|jj8}d}Wnd)}t�tj|d�d}Yn|	�tj�}|�r�d*}t�tj|d�|�r�|�tj<��r�|j|j7v�r�|j7�=|j�dS|j|j7v�r�|j7�>|j�|
tj?k�rd}t�tj|d�dSd+}t�tj|d�dS),z-Returns True if this event should be ignored.�d�%s (...)rz
%s (...) ]�z+EVENT MANAGER: %s for %s in %s (%s, %s, %s)Tz;EVENT MANAGER: Ignoring because event manager is not activez5EVENT MANAGER: Ignoring because event type is ignored�windowz?EVENT MANAGER: Not ignoring because event type is never ignoredFzmouse:buttonz0EVENT MANAGER: Ignoring event type due to deluge�object:children-changedz9EVENT MANAGER: Ignoring because there is no active scriptz<EVENT MANAGER: Ignoring because event is not from active app�object:text-changedzEEVENT MANAGER: Ignoring because changed text is only embedded objectsz/ERROR: Event is from potentially-defunct sourcez4EVENT MANAGER: Ignoring event due to empty state setz#ERROR: Event is from defunct source�&object:property-change:accessible-namez.EVENT MANAGER: Ignoring event type due to rolez'object:property-change:accessible-valuez8EVENT MANAGER: Ignoring event type due to role and state�object:text-changed:inserti�zFEVENT MANAGER: Ignoring because inserted text has more than 1000 chars�object:state-changed:sensitive�object:state-changed:showing�object:selection-changed�@EVENT MANAGER: Ignoring event from parent of defunct descendantsz.EVENT MANAGER: Ignoring event from dead sourcez object:active-descendant-changedz,ERROR: Event any_data lacks child/descendantrKz0EVENT MANAGER: Locus of focus is being destroyedz&EVENT MANAGER: Locus of focus is dead.z!EVENT MANAGER: Locus of focus: %szCERROR: Event any_data contains potentially-defunct child/descendantz7ERROR: Event any_data contains defunct child/descendantz0EVENT MANAGER: Not ignoring due to lack of cause)@�any_data�
isinstance�str�len�sourcerrr�type�host_application�detail1�detail2r�list�filter�
startswithr#�	_inDeluge�_ignoreDuringDeluger	�activeScript�app�EMBEDDED_OBJECT_CHARACTER�replace�getState�getRole�isEmpty�containsr�
STATE_DEFUNCT�ROLE_CANVAS�	ROLE_ICON�
ROLE_LABEL�ROLE_LIST_ITEM�	ROLE_LIST�ROLE_SECTION�ROLE_TABLE_ROW�ROLE_TABLE_CELL�	ROLE_MENU�ROLE_MENU_ITEM�ROLE_SPLIT_PANE�
STATE_FOCUSED�	ROLE_TEXT�ROLE_STATIC�ROLE_FILLER�
ROLE_PANEL�ROLE_CHECK_MENU_ITEM�ROLE_RADIO_MENU_ITEM�
ROLE_ALERT�ROLE_ANIMATION�
ROLE_INFO_BAR�ROLE_NOTIFICATION�ROLE_DIALOG�ROLE_STATUS_BAR�
ROLE_TOOL_TIPr$�name�ROLE_LAYERED_PANE�endswith�locusOfFocus�STATE_MANAGES_DESCENDANTSrFrK�
ROLE_IMAGE)
r)�event�anydatar]�msg�script�state�role�_name�
childState�	childRoler��defunctr+r+r,�_ignore�sp


���

�
�
���	�	�
��


zEventManager._ignorecCs�tj}|rt�tjd�|j��|r-t�tjd�t�tjd�t�tjd|j���|j�|�|r<t�tjd�|rQ|j	sQ|j
rJt�|j
�t
�|j�|_	|rZt�tjd�|j��tjrkt�tjd�dSdS)Nz           acquiring lock...z           ...acquiredz           calling queue.put...z           (full=%s)z           ...put completez           releasing lock...z           ...released)r�debugEventQueuer�	LEVEL_ALLr �acquirer�full�putrr!�time�sleepr�idle_add�_dequeue�release)r)r�r*�	debuggingr+r+r,�_addToQueueas.

�

�zEventManager._addToQueueNcCs�t|tj�rd|j|jf}n>t|tj�rdt|j�}n0tj	r'tj	�
|j�rK|j}t|t
�r=t|�dkr=d|dd�}d|j|j|j||jf}ndS|rWd|j|f}n|durcd	|j|f}n|rmd
|j|f}nd|j|f}t�tj|d�dS)
z:Convenience method to output queue-related debugging info.z	'%s' (%d)�'%s'rMrNrz%s (%s,%s,%s) from %sNzEVENT MANAGER: Pruning %s %sz EVENT MANAGER: Not pruning %s %szEVENT MANAGER: Queueing %s %szEVENT MANAGER: Dequeued %s %sT)rZr�
KeyboardEvent�event_string�hw_code�BrailleEvent�reprr�r�eventDebugFilter�matchr^rYr[r\r]r`rar_rr)r)�e�	isEnqueue�isPrune�datar��stringr+r+r,�
_queuePrintln|s(�zEventManager._queuePrintlnc
Cs�tjr|jrd|j}t�tj|d�|jd7_tjtjf}t||�}z	|o-|�	|�}Wnd|}t�tj
|d�d}Y|rPtjrN|jd8_dS|�|�|��rl|�
|�rld}t�tj
|d�|��|j}|r�|j��}z|j}Wnd}Y||jvs�t|tj�r�d}n|j�d�r�z
|j��tjk}Wnd}Yt�||j�}	|t��f|	j|j<|�||�|s�|��tjr�|jd8_dSdS)	zuHandles the enqueueing of all events destined for scripts.

        Arguments:
        - e: an at-spi event.
        z;EVENT MANAGER: _enqueue entered before exiting (count = %d)Trz%ERROR: Exception evaluating event: %sN�0EVENT MANAGER: Pruning event queue due to flood.FrQ) rr�rrr�rr�r�rZr�rr��_inFlood�_prioritizeDuringFlood�_pruneEventsDuringFloodrr]�getApplication�toolkitNamer"�MouseButtonEventr^rdrlr�
ROLE_TABLE�_scriptManager�	getScriptr��
eventCacher�r�)
r)r�r��inputEvents�
isObjectEvent�ignorer*rhr�r�r+r+r,rA�s`�




��zEventManager._enqueuecCs.tjs	tjs	tjrdSd}t�tj|d�dS)NFzEVENT MANAGER: No focusT)r	r��activeWindowrgrr�LEVEL_SEVERE)r)r�r+r+r,�
_isNoFocus�s
zEventManager._isNoFocuscCs,|��sdSt��}t�|d�|��dS)NFzNo focus)r�r��getDefaultScript�setActiveScript�idleMessage)r)�
defaultScriptr+r+r,�
_onNoFocus�szEventManager._onNoFocuscCs�d}tjrd|j}t�tj|d�|jd7_zy|j��}|j|dd�tj	tj
f}t||�r7|�|�n?|t_
tjpDtj�|j�}|rUt��}t�tjd|j�|�|�|rst�tjdt��|�t�tjd|j�d	t_
|j��|j��r�t�d
|j�d|_d}|j��Wn"tjy�d}t�tj|d�d|_d}Yn
t�tj�Ytjr�|jd8_d
|j}t�tj|d�|S)zOHandles all events destined for scripts. Called by the GTK
        idle thread.TzEVENT MANAGER: Dequeue %drF)r�z$
vvvvv PROCESS OBJECT EVENT %s vvvvv�TOTAL PROCESSING TIME: %.4fz$^^^^^ PROCESS OBJECT EVENT %s ^^^^^
Ni�	rz>EVENT MANAGER: Attempted dequeue, but the event queue is emptyz*EVENT MANAGER: Leaving _dequeue. Count: %d) rr�rrr�r�
get_nowaitr�rr�r�rZ�_processInputEvent�objEventr�r�r^r��eventDebugLevel�_processObjectEventr r��emptyr�timeout_addr�rr�r�Emptyr��printException)r)�rerunr�r�r�r��	startTimer+r+r,r��sj


���

����


zEventManager._dequeuecCsVd|}t�tj|d�||jvr|j|d7<dS|j�|j|�d|j|<dS)zwTells this module to listen for the given event type.

        Arguments:
        - eventType: the event type.
        z+EVENT MANAGER: registering listener for: %sTrN)rrrrr�registerEventListenerrA�r)rBr�r+r+r,�_registerListeners
zEventManager._registerListenercCsfd|}t�tj|d�||jvrdS|j|d8<|j|dkr1|j�|j|�|j|=dSdS)zTells this module to stop listening for the given event type.

        Arguments:
        - eventType: the event type.
        z-EVENT MANAGER: deregistering listener for: %sTNrr)rrrrrr@rAr�r+r+r,�_deregisterListener-s
�z EventManager._deregisterListenercC�6d|}t�tj|d�|j��D]}|�|�qdS)z�Tells the event manager to start listening for all the event types
        of interest to the script.

        Arguments:
        - script: the script.
        z,EVENT MANAGER: registering listeners for: %sTN)rrr�	listenersr?r��r)r�r�rBr+r+r,�registerScriptListeners?�
�z$EventManager.registerScriptListenerscCr�)z�Tells the event manager to stop listening for all the event types
        of interest to the script.

        Arguments:
        - script: the script.
        z.EVENT MANAGER: deregistering listeners for: %sTN)rrrr�r?r�r�r+r+r,�deregisterScriptListenersMr�z&EventManager.deregisterScriptListenerscC�$|��D]\}}|j�||�qdS)z/Register the listeners on behalf of the caller.N)�itemsrr��r)r�rB�functionr+r+r,�registerModuleListeners[��z$EventManager.registerModuleListenerscCr�)z0Deegister the listeners on behalf of the caller.N)r�rr@r�r+r+r,�deregisterModuleListenersar�z&EventManager.deregisterModuleListenerscC�Vd|}t�tj|d�|durttd��}|dur tjtjf}|jj	|||d�dS)z8Register the keystroke listener on behalf of the caller.z:EVENT MANAGER: registering keystroke listener function: %sTN���mask�kind)
rrrrb�ranger�KEY_PRESSED_EVENT�KEY_RELEASED_EVENTrr9�r)r�r�r�r�r+r+r,r9gsz&EventManager.registerKeystrokeListenercCr�)z:Deregister the keystroke listener on behalf of the caller.z<EVENT MANAGER: deregistering keystroke listener function: %sTNr�r�)
rrrrbr�rr�r�rrEr�r+r+r,rEus
�z(EventManager.deregisterKeystrokeListenercCs�tjsdSt|tj�rtjj}dt|j�}ndSt|j	��
�}t��}t�
tjd||f�z||�Wnt�tj�t�tj�Yt�
tjdt��|�t�
tjd||f�dS)z�Processes the given input event based on the keybinding from the
        currently-active script.

        Arguments:
        - event: an instance of BrailleEvent or a KeyboardEvent
        Nr�z
vvvvv PROCESS %s %s vvvvvr�z^^^^^ PROCESS %s %s ^^^^^
)r	rgrZrr��processBrailleEventr�r�r[r^�upperr�rrr�r��
LEVEL_WARNING�
printStack)r)r�r�r��eTyper�r+r+r,r��s0
�
��
�zEventManager._processInputEventcs��j�d�r	tjSd}d}z!�jp�j��}|r-|���t	j
�r-d}t�tj
|d�WdSWnd}t�tj
|d�Yn'gd�}tt�fdd�|��}d	||f}t�tj|d�tj|�j|d
�}d|}t�tj|d�|S)z)Returns the script associated with event.�mouse:Nz5WARNING: App is defunct. Cannot get script for event.Tz1WARNING: Exception when getting script for event.)rQzobject:column-reorderedzobject:row-reorderedzobject:property-changez4object:selection-changedobject:state-changed:checkedzobject:state-changed:expandedz"object:state-changed:indeterminatezobject:state-changed:pressed�object:state-changed:selectedrUrVrRcs�j�|�Sr<)r^rd)�x�r�r+r,�<lambda>�sz1EventManager._getScriptForEvent.<locals>.<lambda>z0EVENT MANAGER: Getting script for %s (check: %s))�sanityCheckzEVENT MANAGER: Script is %s)r^rdr	rgr_r]r�rkrnrrorrr�rbrcrr�r�)r�r�rhr��	skipCheck�checkr+r�r,�_getScriptForEvent�s,�zEventManager._getScriptForEventc	CsZ|jsdSd}}z|j��}WnttfyYdSwz|j��}Wnttfy0YdSw|s8|�|�}|s<dS|tjkrCdS|�|�sJdS|�	|�rQdS|j
}|�d	�r\d
}n
|�d�oh|joh|t
jk}|ru|jtjkrsdSd
S|�d�s�|�d�r�|jr�dS|�d�r�|jr�|t
jkr�|�t
j�r�dS|�d�r�|t
jkr�|�t
j�r�dSdS)aDetermines if the event is one which should cause us to
        change which script is currently active.

        Returns a (boolean, string) tuple indicating whether or not
        this is an activatable event, and our reason (for the purpose
        of debugging).
        )Fz!event.source? What event.source??N)Fz!Error getting event.source's role)Fz"Error getting event.source's state)Fz"There is no script for this event.)Fz,The script for this event is already active.)Fz/The script says not to activate for this event.)Tz9The script insists it should be activated for this event.�window:activateT�object:state-changed:active)TzWindow activation)Fz+Window activation for already-active window�focus�object:state-changed:focused)TzEvent source claimed focus.r�)Tz Selection change in focused menurV)TzModal panel is showing.)Fz/No reason found to activate a different script.)r]rl�LookupError�RuntimeErrorrkr�r	rg�isActivatableEvent�forceScriptActivationr^rdr`r�
ROLE_FRAMEr�rxrnr{r�STATE_MODAL)r)r�r�r�r�r��windowActivationr+r+r,�_isActivatableEvent�sd	��





��
��


�z EventManager._isActivatableEventcCs"gd�}|j|vrdS|jtjkS)z=Returns true if this event should be ignored during a deluge.�zobject:text-changed:deleterTz!object:text-changed:delete:systemz!object:text-changed:insert:systemzobject:text-attributes-changedzobject:children-changed:addz"object:children-changed:add:systemrSz-object:property-change:accessible-descriptionrVrUF�r^r]r	r��r)r�r�r+r+r,rf�
z EventManager._ignoreDuringDelugecC�2|j��}|dkrd|}t�tj|d�dSdS)NrMz'EVENT MANAGER: DELUGE! Queue size is %iTF�r�qsizerrr�r)�sizer�r+r+r,re(�
zEventManager._inDelugecCs"gd�}|j|vrdS|jtjkS)z>Returns true if this event should be processed during a flood.r
Trrr+r+r,�_processDuringFlood1r
z EventManager._processDuringFloodcCs�|j�d�r	|jS|j�d�r|jS|j�d�rdS|j�d�r"dS|j�d�r*dS|j�d�r;|j��tjtjfvS|j�d�rCdS|j�d	�rKdSd
S)z@Returns true if this event should be prioritized during a flood.rr�zobject:text-selection-changedTr��window:deactivater�zdocument:load-completezobject:state-changed:busyF)r^rdr`r]rlrr�ROLE_WINDOW)r)r�r+r+r,r�Es"z#EventManager._prioritizeDuringFloodcCs�|j��}t�d�}|j��s;z|j��}Wn	tyYq
w|�|�r1|�|�|j	|dd�|j�
�|j��r||_|j��}d|||f}t�tj
|d�dS)z6Gets rid of events we don't care about during a flood.rF)r�z-EVENT MANAGER: %i events pruned. New size: %iTN)rrrrr��getr�rr�r��	task_donerrr)r)�oldSize�newQueuer��newSizer�r+r+r,r�bs"


�



�
z$EventManager._pruneEventsDuringFloodcCr)N�2z&EVENT MANAGER: FLOOD? Queue size is %iTFrrr+r+r,r�yrzEventManager._inFloodcCs�tjtj|dd�|j}|�d�r'z|j|jkrt��WdSWnYdS|�d�r5|�	d�s5t��|�d�rPz|j�
�}WnYn	|tjkrPt��z|j�
�}Wnd}d}t�tj|d�Yn|�tj�}|r�d	|j}t�tj|d�|�d
�s�|�d�r�tj|jkr�d}t�tj|d�dt_dt_dt_dS|r�|�tj�r�d
|j}t�tj|d�dS|��r�|�|�s�d}t�tj|d�dS|�|�r�d}t�tj|d�|��|�d�r�|j|jvr�d}t�tj|d�dStj�r
tj�|��r1|�d��s1d}t�tj||j�t|j tj!��r1t�tjd|�tjtj||j dd�|�"|�}|�sGd|}t�tj|d�dS|�#||�\}	}
d|	|
f}t�tj|d�|	�r�z|j$�pi|j�%�}Wnd|j}t�tj|d�YdSzt�&||
�Wnd|j}t�tj|d�YdSz|�'|�Wnd|j}t�tj|d�t�(tj�Ydtjtjf}t�tj|d�tj�s�dStj�)�}|�*�D]\}
}d|
|f}t�tj|d��q�dS)zjHandles all object events destined for scripts.

        Arguments:
        - e: an at-spi event.
        T)�	timestampzobject:children-changed:removeNzwindow:�creater�z/ERROR: Exception getting state for event sourcez*EVENT MANAGER: Ignoring defunct object: %srzwindow:destroyzAEVENT MANAGER: Clearing active window, script, and locus of focusz,EVENT MANAGER: Ignoring iconified object: %sz6EVENT MANAGER: Not processing this event due to flood.r�rWrXr�z                                 z%sANY DATA:F)�
includeAppz"ERROR: Could not get script for %sz,EVENT MANAGER: Change active script: %s (%s)z'ERROR: Could not get application for %sz)ERROR: Could not set active script for %szERROR: Could not process %sz0EVENT MANAGER: locusOfFocus: %s activeScript: %szEVENT MANAGER: %s: %s)+r�printObjectEventrr^rdr]rr��reclaimScriptsr�rlrrrkrr�rnror	r�r�rg�STATE_ICONIFIEDr�rr�r�r$r�r��printDetailsrZrY�
Accessibler�r	r_r�r��processObjectEventr��getTransferableAttributesr�)r)r�r�r�r��	isDefunctr��indentr��setNewActiveScript�reasonrh�
attributes�key�valuer+r+r,r��s�
�






�




�
�z EventManager._processObjectEventcCs�t��}|rtj|_ntj|_||_||_||_||_	|j	dur#d|_	|j
|_|j
d|_
|sB|dkrBdtj
vrBtjdurBtj��|rQ|dkoO|dtj>@t_|�|�dS)NrOr�Num_Lock�	KP_Insert�space)r�DeviceEventrr�r^r�r��id�	modifiersr�r4rr�orcaModifierKeysr	�
activeSWcriptrg�refreshKeyGrabs�MODIFIER_NUMLOCK�
openingDialogr:)r)r%�pressed�keycode�keysymr��textr�r+r+r,r6�s"

 
z%EventManager._processNewKeyboardEventcCsDt�|�}|jst�tjd|�|��}ddlm}|�|�|S)Nz
%sr)�orca)	rr��is_duplicaterrr�processr=�updateKeyMap)r)r��
keyboardEvent�rvr=r+r+r,r:s

z"EventManager._processKeyboardEventcCs$tjrtj�|�r|�|�dSdS)z�Called whenever a cursor key is pressed on the Braille display.

        Arguments:
        - brailleEvent: an instance of input_event.BrailleEvent

        Returns True if the command was consumed; otherwise False
        TF)r	rg�consumesBrailleEventrA)r)�brailleEventr+r+r,r�!s	
�
z EventManager.processBrailleEvent)T)TN)NNr<)+�__name__�
__module__�__qualname__rir-r0r8r3r.rCr>r=rIrLr�r�r�rAr�r�r�r�r�r�r�r�r�r9rEr��staticmethodr�r	rfrerr�r�r�r�r6r:r�r+r+r+r,r-sT
	U
<	9

 

*E		{
rcCstSr<)�_managerr+r+r+r,�
getManager3srJ)�__id__�__version__�__date__�
__copyright__�__license__�
gi.repositoryr�gi�require_versionrrrrr�rOrrrr	r
rrJr�rrIr+r+r+r,�<module>s>

Youez - 2016 - github.com/yon3zu
LinuXploit