+
     iO  c                  s    ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
t
^ RI
Ht ^ RIHtHt  ! R R]P                  4      t]! R	R
7       ! R R4      4       tR# )i    )annotationsN)	dataclass)TupleOptionalHashableLiteral)ecodes)get_evdev_constant_name
DeviceHashc                  s    ] tR t^ tRt]P                  ! 4       t]P                  ! 4       t]P                  ! 4       t	]P                  ! 4       t
]P                  ! 4       tRtR# )EventActionszIAdditional information an InputEvent can send through the event pipeline. N)__name__
__module____qualname____firstlineno____doc__enumZautoas_keyZrecenterZnoneZpositive_triggerZnegative_trigger__static_attributes__r
       >/usr/lib/python3.14/site-packages/inputremapper/input_event.pyr	   r	       s@    SYY[Fyy{H99;D yy{yy{r   r	   T)Zfrozenc                  s   ] tR t^-t$ RtR]R&   R]R&   R]R&   R]R&   R]R&   R+tR]R	&   R
tR]R&   R R lt]	R 4       t
]R R l4       t]R,R R ll4       t]R,R R ll4       t]R,R R ll4       t]R,R R ll4       t]R,R R ll4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       tR& tR' tR( tR-R) R* lltR+tR
# ).
InputEventzYEvents that are generated during runtime.

Is a drop-in replacement for evdev.InputEvent
intsecusectypecodevaluezTuple[EventActions, ...]actionsNOptional[DeviceHash]origin_hashc                   V ^8  d   QhRR/# )   otherz4InputEvent | evdev.InputEvent | Tuple[int, int, int]r
   Zformat   "r   __annotate__InputEvent.__annotate__<   s     I IP Ir   c                	sH   \        V\        4      '       g!   \        V\        P                  4      '       d1   V P                  VP                  VP
                  VP                  38H  # \        V\        4      '       d   V P                  V8H  # \        R \	        V4       R24      h)zcannot compare z with InputEvent)	
isinstancer   evdevevent_tupler   r   r   Ztuple	TypeError)selfr!   s   &&r   __eq__ZInputEvent.__eq__<   s|    eZ((Jue>N>N,O,O##

EJJ'LLLeU####u,,/$u+6FGHHr   c                sV   \        V P                  \        4      '       g   \        RV P                   24      h\        V P                  \        4      '       g   \        RV P                   24      h\        V P
                  \        4      '       g   \        RV P
                   24      hV # )zTest if the event is valid.z$Expected type to be an int, but got z$Expected code to be an int, but got z%Expected value to be an int, but got )r&   r   r   r)   r   r   )event   &r   validate_eventZInputEvent.validate_eventD   s     %**c**B5::,OPP%**c**B5::,OPP%++s++CEKK=QRRr   c               r   )r    returnr   r
   r"   r#   r   r$   r%   T   s     6 6( 6r   c                H    V P                   V P                  V P                  3# )zPa Hashable object which is intended to match the InputEvent with a
InputConfig.
)r   r   r   r*   r-   r   input_match_hashZInputEvent.input_match_hashS   s    
 yy$))T%5%555r   c               $    V ^8  d   QhRRRRRR/# )r    r,   zevdev.InputEventr   r   r/   r   r
   r"   r#   r   r$   r%   [   s(       * 
	r   c           	     s     V ! VP                   VP                  VP                  VP                  VP                  VR7      #   \
         d   p\        RT: 24      ThRp?ii ; i)z@Create a InputEvent from another InputEvent or evdev.InputEvent.r   z)Failed to create InputEvent from event = N)r   r   r   r   r   ZAttributeErrorr)   )clsr,   r   Z	exceptions   &&& r   
from_eventZInputEvent.from_eventZ   sf    			





'   	<E:>	s   ?A A"AA"c               r3   )r    r(   Tuple[int, int, int]r   r   r/   r   r
   r"   r#   r   r$   r%   p   s(     
 
)
 *
 
	
r   c                s    \        V4      ^8w  d   \        RV: R24      hV P                  V ! ^ ^ \        V^ ,          4      \        V^,          4      \        V^,          4      VR7      4      # )z5Create a InputEvent from a (type, code, value) tuple.z*failed to create InputEvent event_tuple = z must have length 3r4   )Zlenr)   r.   r   )r5   r(   r   s   &&&r   
from_tupleZInputEvent.from_tupleo   sv     {q ={.>>QR  !!KN#KN#KN#'	
 		
r   c               $    V ^8  d   QhRRRRRR/# )r    r   r   r   r   r   r
   r"   r#   r   r$   r%      s"     
 
s 
3 
5I 
r   c                X    V P                  V ! ^ ^ \        P                  VVVR7      4      # )z-Create an abs event, like joystick movements.r4   )r.   r   ZEV_ABSr5   r   r   r      &&&&r   absZInputEvent.abs   5     !!'	
 		
r   c               r9   )r    r   r   r   r   Optional[str]r
   r"   r#   r   r$   r%      s!     
 
s 
3 
] 
r   c                r:   )z)Create a rel event, like mouse movements.r4   )r.   r   EV_RELr;   r<   r   relZInputEvent.rel   r>   r   c               r3   )r    r   r   r   zLiteral[0, 1]r   r?   r
   r"   r#   r   r$   r%      s!     
 
s 
= 
} 
r   c                r:   )zvCreate a key event, like keyboard keys or gamepad buttons.

A value of 1 means "press", a value of 0 means "release".
r4   )r.   r   EV_KEYr;   r<   r   keyZInputEvent.key   s5     !!'	
 		
r   c               r   )r    r/   zTuple[int, int]r
   r"   r#   r   r$   r%      s     $ $ $r   c                s2    V P                   V P                  3# )zEvent type, code.)r   r   r1   r-   r   type_and_codeZInputEvent.type_and_code   s     yy$))##r   c               r   )r    r/   r7   r
   r"   r#   r   r$   r%      s     0 01 0r   c                r0   )zEvent type, code, value.)r   r   r   r1   r-   r   r(   ZInputEvent.event_tuple   s     yy$))TZZ//r   c               r   r    r/   Zboolr
   r"   r#   r   r$   r%      s     W Wd Wr   c                s    V P                   \        P                  P                  8H  ;'       g    \        P
                  V P                  9   # z+Whether this is interpreted as a key event.)r   r'   r   rB   r	   r   r   r1   r-   r   is_key_eventZInputEvent.is_key_event   s4     yyELL///VV<3F3F$,,3VVr   c               r   rE   r
   r"   r#   r   r$   r%      s     
 
 
r   c                    V P                   \        P                  P                  8H  ;'       d.    V P                  \        P
                  \        P                  39   # rF   )r   r'   r   r@   r   Z	REL_WHEELZ
REL_HWHEELr1   r-   r   is_wheel_eventZInputEvent.is_wheel_event   sL     yyELL/// 
 
DIIB
 5
 	
r   c               r   rE   r
   r"   r#   r   r$   r%      s     
 
t 
r   c                rH   rF   )r   r'   r   r@   r   ZREL_WHEEL_HI_RESZREL_HWHEEL_HI_RESr1   r-   r   is_wheel_hi_res_eventZ InputEvent.is_wheel_hi_res_event   sL     yyELL/// 
 
DII##$$B
 5
 	
r   c                	sf    \        V P                  V P                  4      pR V P                   RV 2# )zInputEvent for Z )r   r   r   r(   )r*   Znames   & r   __str__ZInputEvent.__str__   s0    &tyy$))< !1!1 2!D6::r   c                	sJ    R \        V 4       R\        \        V 4      4       R2# )Z<z at Z>)ZstrZhexZidr1   r-   r   __repr__ZInputEvent.__repr__   s#    3t9+T#bh-22r   c                sJ    V P                   V P                  R,          ,           # )z5Return the unix timestamp of when the event was seen.i@B )r   r   r1   r-   r   	timestampZInputEvent.timestamp   s    xx$))g---r   c               s8    V ^8  d   QhRRRRRRRRRRRRR	R
RR/# )r    r   zOptional[int]r   type_r   r   r   z"Optional[Tuple[EventActions, ...]]r   r?   r/   r   r
   r"   r#   r   r$   r%      sZ     
 

 
 	

 
 
 4
 #
 

r   c           
     s   \        Ve   TMV P                  Ve   TMV P                  Ve   TMV P                  Ve   TMV P                  Ve   TMV P
                  Ve   TMV P                  Ve   VR7      # V P                  R7      # )zReturn a new modified event.r4   )r   r   r   r   r   r   r   r   )r*   r   r   rN   r   r   r   r   s   &&&&&&&&r   modifyZInputEvent.modify   s     ?C$D$))&EDII$D$))&EDJJ*G'2'>
 	
 EIDTDT
 	
r   r
   )N)NNNNNNN)r   r   r   r   r   Z__annotations__r   r   r+   Zstaticmethodr.   Zpropertyr2   Zclassmethodr6   r8   r=   rA   rC   rD   r(   rG   rI   rJ   rK   rL   rM   rO   r   r
   r   r   r   r   -   sI   
 
H
I
I
IJ(*G%*(,K%,I   6 6  ( 
 
0 
 
 
 
 
 
  $ $ 0 0 W W 
 
 
 
;3.
 
r   r   )Z
__future__r    r   Zdataclassesr   Ztypingr   r   r   r   r'   r   Zinputremapper.utilsr   r   ZEnumr	   r   r
   r   r   <module>rP      sP   ( #  ! 5 5   C	#499 	# $D
 D
 D
r   