
    1f%                     h   d dl mZ d dl d dlZ G d de      Z ed       Z ed      Z ed      Z ed      Z	 G d d	e      Z
 e
d      Z e
d      Z e
d
      Z e
d      Z G d de      Z ed       Z ed      Z G d de      Z ed      Z ed       Z ed      Z ed      Z ed
      Z ed      Z ed      Z G d de      Z ed      Z ed      Z ed
      Z ed      Z ed      Z ed      Z  ed       Z! ed      Z"d Z# G d de$      Z% G d de$      Z& G d de$      Z'y)    N)*c                       e Zd ZdddddZy)PressedEventTypeKEY_PRESSED_EVENTKEY_RELEASED_EVENTBUTTON_PRESSED_EVENTBUTTON_RELEASED_EVENT)r            N__name__
__module____qualname___enum_lookup     5/usr/lib/python3/dist-packages/pyatspi/deviceevent.pyr   r      s    %&()	
r   r   r
   r   r   c                       e Zd ZdddddZy)ControllerEventMaskKEY_PRESSED_EVENT_MASKKEY_RELEASED_EVENT_MASKBUTTON_PRESSED_EVENT_MASKBUTTON_RELEASED_EVENT_MASK)r
   r         Nr   r   r   r   r   r   &   s    *+-.	
r   r   r   r   c                       e Zd ZdddZy)KeyEventTypeKEY_PRESSEDKEY_RELEASED)r   r
   Nr   r   r   r   r   r   5   s     
r   r   c                        e Zd ZddddddddZy	)
KeySynthType	KEY_PRESSKEY_RELEASEKEY_PRESSRELEASEKEY_SYM
KEY_STRINGKEY_LOCKMODIFIERSKEY_UNLOCKMODIFIERS)r   r
   r   r   r         Nr   r   r   r   r"   r"   ?   s    $%'
r   r"   r*   r+   c            	       "    e Zd Zddddddddd	Zy
)ModifierTypeMODIFIER_SHIFTMODIFIER_SHIFTLOCKMODIFIER_CONTROLMODIFIER_ALTMODIFIER_METAMODIFIER_META2MODIFIER_META3MODIFIER_NUMLOCK)r   r
   r   r   r   r*   r+      Nr   r   r   r   r-   r-   T   s!    "&$ !""$	
r   r-   r6   c               #   V   K   d} | dt         z  k  r|  | dz  } | dt         z  k  ryyw)z
        Generates all possible keyboard modifiers for use with 
        L{registry.Registry.registerKeystrokeListener}.
        r   r
   N)r5   )masks    r   allModifiersr9   i   s9     
 q,,-
	 q,,-s   $))c                      e Zd ZdZd Zd Zd Zd Z eee      Z	d Z
d Z ee
e      Zd	 Zd
 Z eee      Zd Zd Z eee      Zd Zd Z eee      Zd Zd Z eee      Zd Zd Z eee      Zd Zy)DeviceEventa  
        Wraps an AT-SPI device event with a more Pythonic interface. Primarily adds
        a consume attribute which can be used to cease propagation of a device event.

        @ivar consume: Should this event be consumed and not allowed to pass on to
                observers further down the dispatch chain in this process or possibly
                system wide?
        @type consume: boolean
        @ivar type: Kind of event, KEY_PRESSED_EVENT or KEY_RELEASED_EVENT
        @type type: Accessibility.EventType
        @ivar id: Serial identifier for this key event
        @type id: integer
        @ivar hw_code: Hardware scan code for the key
        @type hw_code: integer
        @ivar modifiers: Modifiers held at the time of the key event
        @type modifiers: integer
        @ivar timestamp: Time at which the event occurred relative to some platform
                dependent starting point (e.g. XWindows start time)
        @type timestamp: integer
        @ivar event_string: String describing the key pressed (e.g. keysym)
        @type event_string: string
        @ivar is_text: Is the event representative of text to be inserted (True), or 
                of a control key (False)?
        @type is_text: boolean
        c           
      <    t         j                  | |||||||f      S Nlist__new__)clstypeidhw_code	modifiers	timestampevent_stringis_texts           r   r@   zDeviceEvent.__new__   s$    ||C$GY	S_ah)ijjr   c           
      L    t         j                  | |||||||f       d| _        y )NF)r?   __init__consume)selfrB   rC   rD   rE   rF   rG   rH   s           r   rJ   zDeviceEvent.__init__   s'    dT2w	9l\c$de$r   c                     | d   S Nr   r   rL   s    r   	_get_typezDeviceEvent._get_type       Awr   c                     || d<   y rN   r   rL   vals     r   	_set_typezDeviceEvent._set_type       Qr   fgetfsetc                     | d   S Nr
   r   rO   s    r   _get_idzDeviceEvent._get_id   rQ   r   c                     || d<   y r[   r   rS   s     r   _set_idzDeviceEvent._set_id   rV   r   c                     | d   S Nr   r   rO   s    r   _get_hw_codezDeviceEvent._get_hw_code   rQ   r   c                     || d<   y r`   r   rS   s     r   _set_hw_codezDeviceEvent._set_hw_code   rV   r   c                     | d   S Nr   r   rO   s    r   _get_modifierszDeviceEvent._get_modifiers   rQ   r   c                     || d<   y re   r   rS   s     r   _set_modifierszDeviceEvent._set_modifiers   rV   r   c                     | d   S Nr   r   rO   s    r   _get_timestampzDeviceEvent._get_timestamp   rQ   r   c                     || d<   y rj   r   rS   s     r   _set_timestampzDeviceEvent._set_timestamp   rV   r   c                     | d   S Nr*   r   rO   s    r   _get_event_stringzDeviceEvent._get_event_string   rQ   r   c                     || d<   y ro   r   rS   s     r   _set_event_stringzDeviceEvent._set_event_string   rV   r   c                     | d   S Nr+   r   rO   s    r   _get_is_textzDeviceEvent._get_is_text   rQ   r   c                     || d<   y rt   r   rS   s     r   _set_is_textzDeviceEvent._set_is_text   rV   r   c                    ddl }| j                  |j                  k(  rd}n| j                  |j                  k(  rd}d| j                  | j
                  | j                  | j                  | j                  | j                  fz  S )z
                Builds a human readable representation of the event.

                @return: Event description
                @rtype: string
                r   NpressedreleasedzT%s
	hw_code: %d
	event_string: %s
	modifiers: %d
	id: %d
	timestamp: %d
	is_text: %s)
	constantsrB   r   r   rD   rG   rE   rC   rF   rH   )rL   r{   kinds      r   __str__zDeviceEvent.__str__   su     !99	 ; ;;(YY)">">>) $,,(9(94>>77 7r   N)r   r   r   __doc__r@   rJ   rP   rU   propertyrB   r\   r^   rC   ra   rc   rD   rf   rh   rE   rk   rm   rF   rp   rr   rG   ru   rw   rH   r}   r   r   r   r;   r;   u   s    	2	k	%		YY7		71		<@		.~F			.~F			%6=NO		<@	7r   r;   c                   x    e Zd Zd Zd Zd Zd Z eee      Zd Z	d Z
 ee	e
      Zd Zd	 Z eee      Zy
)EventListenerModec                 4    t         j                  | |||f      S r=   r>   )rA   synchronous
preemptiveglobal_s       r   r@   zEventListenerMode.__new__   s    ||C+z7)KLLr   c                 6    t         j                  | |||f       y r=   r?   rJ   )rL   r   r   r   s       r   rJ   zEventListenerMode.__init__   s    d[*g$FGr   c                     | d   S rN   r   rO   s    r   _get_synchronousz"EventListenerMode._get_synchronous   rQ   r   c                     || d<   y rN   r   rS   s     r   _set_synchronousz"EventListenerMode._set_synchronous   rV   r   rW   c                     | d   S r[   r   rO   s    r   _get_preemptivez!EventListenerMode._get_preemptive   rQ   r   c                     || d<   y r[   r   rS   s     r   _set_preemptivez!EventListenerMode._set_preemptive   rV   r   c                     | d   S r`   r   rO   s    r   _get_global_zEventListenerMode._get_global_   rQ   r   c                     || d<   y r`   r   rS   s     r   _set_global_zEventListenerMode._set_global_   rV   r   N)r   r   r   r@   rJ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sR    	M	H		$4;KL		?I
		<@r   r   c                       e Zd Zd Zd Zd Zd Z eee      Zd Z	d Z
 ee	e
      Zd Zd	 Z eee      Zd
 Zd Z eee      Zy)KeyDefinitionc                 6    t         j                  | ||||f      S r=   r>   )rA   keycodekeysym	keystringunuseds        r   r@   zKeyDefinition.__new__   s    ||C'69f)MNNr   c                 8    t         j                  | ||||f       y r=   r   )rL   r   r   r   r   s        r   rJ   zKeyDefinition.__init__   s    dWfi$HIr   c                     | d   S rN   r   rO   s    r   _get_keycodezKeyDefinition._get_keycode   rQ   r   c                     || d<   y rN   r   rS   s     r   _set_keycodezKeyDefinition._set_keycode   rV   r   rW   c                     | d   S r[   r   rO   s    r   _get_keysymzKeyDefinition._get_keysym   rQ   r   c                     || d<   y r[   r   rS   s     r   _set_keysymzKeyDefinition._set_keysym   rV   r   c                     | d   S r`   r   rO   s    r   _get_keystringzKeyDefinition._get_keystring   rQ   r   c                     || d<   y r`   r   rS   s     r   _set_keystringzKeyDefinition._set_keystring   rV   r   c                     | d   S re   r   rO   s    r   _get_unusedzKeyDefinition._get_unused   rQ   r   c                     || d<   y re   r   rS   s     r   _set_unusedzKeyDefinition._set_unused   rV   r   N)r   r   r   r@   rJ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sf    	O	J		<@		{=		.~F			{=r   r   )(pyatspi.registryregistrypyatspi.atspienum	traceback	AtspiEnumr   r   r   r   r	   r   r   r   r   r   r   r   r    r"   r(   r#   r%   r$   r'   r&   r)   r-   r1   r0   r2   r3   r4   r5   r.   r/   r9   r?   r;   r   r   r   r   r   <module>r      s{   $  
y 
 %Q' %a( '* (+ 
) 
 -Q/ -a0 /2 03 
9 

 1oA	
9 	
 !O O	? 1o!_

q/"1o 

9 

 A? Qaa? a!!_ W7$ W7vA A.>D >r   