+
     is  c                   s    ^ RI HtHt ^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHtHt ^ RIHt  ! R R	]4      tR# )
    )ListDictN)EV_ABSEV_REL)InputCombinationInputConfig)GlobalUInputs)MappingHandlerInputEventHandlerHandlerEnums)
InputEventc                   s   a a ] tR t^#t oRtV3R lV 3R lltR tR t]R 4       t	RV3R lR llt
V3R	 lR
 ltV3R lR ltV3R lR ltV3R ltRtVtV ;t# )HierarchyHandlerzHandler consisting of an ordered list of MappingHandler

only the first handler which successfully handles the event will execute it,
all other handlers will be notified, but suppressed
c                s@   < V ^8  d   QhRS[ S[,          RS[RS[RR/# )   handlersinput_configglobal_uinputsreturnN)r   r   r   r   Zformat__classdict__   "_/usr/lib/python3.14/site-packages/inputremapper/injection/mapping_handlers/hierarchy_handler.py__annotate__HierarchyHandler.__annotate__,   s8     ? ?~&? "? &	?
 
?    c                s~   < Wn         W n        \        V.4      pV^ ,          P                  p\        SV `  WEV4       R# )r    N)r   _input_configr   mappingZsuper__init__)selfr   r   r   Zcombinationr   	__class__s   &&&&  r   r   ZHierarchyHandler.__init__,   s:     !)&~61+%%~>r   c                s     R V P                    2# )zHierarchyHandler for )r   r      &r   __str__ZHierarchyHandler.__str__9   s    &t'9'9&:;;r   c                sJ    R \        V 4       R\        \        V 4      4       R2# )Z<z at Z>)ZstrZhexZidr   r   r   __repr__ZHierarchyHandler.__repr__<   s#    3t9+T#bh-22r   c                s    V P                   # N)r   r   r   r   childZHierarchyHandler.child?   s    }}r   c                sF   < V ^8  d   QhRS[ RS[P                  RS[RS[/# )r   eventsourcesuppressr   )r   evdevZInputDeviceZboolr   r   r   r   r   C   s9       !! 	
 
r   c                s"   VP                   V P                  P                   8w  d   R # R pV P                   FU  pV'       d:   VP                  VVVP                  P
                  P                  '       * R7       KD  VP                  W4      pKW  	  V# )F)r&   )Zinput_match_hashr   r   notifyr   Zinput_combinationdefines_analog_input)r   r$   r%   r&   Zhandledhandlers   &&&&  r   r(   ZHierarchyHandler.notifyC   s     !!T%7%7%H%HH}}G !(!B!B!W!WW  
 nnU3G % r   c                s   < V ^8  d   QhRR/# )r   r   N r   r   r   r   r   \   s        t  r   c                sL    V P                    F  pVP                  4        K  	  R # r"   )r   reset)r   Zsub_handlers   & r   r,   ZHierarchyHandler.reset\   s    ==K )r   c                s6   < V ^8  d   QhRS[ S[S[3,          /# )r   r   )r   r   r
   r   r   r   r   r   `   s      4 0, >? r   c                s   V P                   P                  \        8X  dC   V P                   P                  '       g'   \	        V P                   .4      \
        P                  /# V P                   P                  \        8X  dC   V P                   P                  '       g'   \	        V P                   .4      \
        P                  /# / # r"   )	r   Ztyper   r)   r   r
   Zabs2btnr   Zrel2btnr   r   r   	wrap_withZHierarchyHandler.wrap_with`   s    ##v-&&;;;$d&8&8%9:L<P<PQQ##v-&&;;;$d&8&8%9:L<P<PQQ	r   c                s$   < V ^8  d   QhRS[ RR/# )r   r*   r   N)r	   r   r   r   r   r   m   s      '8 T r   c                s    R # r"   r+   )r   r*   s   &&r   set_sub_handlerZ HierarchyHandler.set_sub_handlerm   s    r   c                s&   < V ^8  d   Qh/ S[ ;R&   # )r   r   )r   r   r   r   r   r   #   s       r   )r   r   )NF)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r    r!   Zpropertyr#   r(   r,   r-   r.   Z__annotate_func__Z__static_attributes__Z__classdictcell__Z__classcell__)r   r   s   @@r   r   r   #   sb     ? ?<3   2     U  r   r   )Ztypingr   r   r'   Zevdev.ecodesr   r   Z"inputremapper.configs.input_configr   r   Z&inputremapper.injection.global_uinputsr   Z8inputremapper.injection.mapping_handlers.mapping_handlerr   r	   r
   Zinputremapper.input_eventr   r   r+   r   r   <module>r/      s3   (   ' L @ 
 1K~ Kr   