+
     i.  c                  s    ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt  ! R R]4      tR# )    )annotationsN)deque)Deque)EV_KEY)keyboard_layout)ArgumentConfig)Task)
InputEvent)loggerc            	      s    ] tR t^$tRt]! R^ ].RR7      ]! R^].RR7      ]! R^]].^R7      .t	R R	 lt
R
 R ltRtR# )
ModTapTaska  If pressed long enough in combination with other keys, it turns into a modifier.

Can be used to make home-row-modifiers.

Works similar to the default of
https://github.com/qmk/qmk_firmware/blob/78a0adfbb4d2c4e12f93f2a62ded0020d406243e/docs/tap_hold.md#comparison-comparison
defaultT)namepositiontypesZ	is_symbolmodifiertapping_term)r   r   r   r   c                   V ^8  d   QhRR/#    returnNone Zformat   "Q/usr/lib/python3.14/site-packages/inputremapper/injection/macros/tasks/mod_tap.py__annotate__ModTapTask.__annotate__B   s     A# A#T A#    c                	s  a a	"   S P                  R 4      P                  4       R,          p\        4       o	R V	V 3R llpS P                  V4       \        P
                  ! \        P                  ! V4      4      p\        P                  ! \        P
                  ! S P                  P                  4       4      V.\        P                  R7      G Rj  xL
  VP                  4       pV'       d8   S P                  R4      P                  4       p\        P                  ! RV4       M6S P                  R4      P                  4       p\        P                  ! R	V4       \        P                  ! V4      pV! \        V^4       S P!                  4       G Rj  xL
  \#        S	4      ^ 8  dS   S	P%                  4       pVP'                  4        S P!                  4       G Rj  xL
  S P)                  4       G Rj  xL
  Kb  S P+                  V4       S P                  P                  4       G Rj  xL
  V! \        V^ 4       S P!                  4       G Rj  xL
  R#  EL L L~ Lh L5 L5i)
r   i  c               s     V ^8  d   QhRRRR/# )r   eventr   r   r   r   r   r   r   r   Z$ModTapTask.run.<locals>.__annotate__F   s     	' 	'* 	' 	'r   c                s2  <"   SP                   P                  R,          pV P                  VP                  8X  d   R# V P                  \        8w  d   R# \
        P                  ! 4       pSP                  V4       VP                  4       G Rj  xL
  R#  L5i)i   Ni)	mappingZinput_combinationZtype_and_codeZtyper   asyncioZEventZappendwait)r   Ztriggerasyncio_eventjamming_asyncio_eventsselfs   &  r   listenerZ ModTapTask.run.<locals>.listenerF   sm     ll44R8G""g&;&;;zzV##MMOM"))-8  $$&&&s   BBBB)Zreturn_whenNr   zModifying with %sr   zWriting default %s)Zget_argumentZ	get_valuer   Zadd_event_listenerr   r   sleepr    Z_trigger_release_eventZFIRST_COMPLETEDZdoner	   Zdebugr   Zgetr   Zkeycode_pauseZlenZpopleftZsetthrottleZremove_event_listener)
r#   Zcallbackr   r$   ZtimeoutZhas_timed_outZsymbolZcoder!   r"   s
   f&       @r   runZModTapTask.runB   s    ((8BBDtK7<w	' 	'  	),,w}}\:;ll\\$55::<=wG//
 	
 	
   &&z2<<>FLL,f5 &&y1;;=FLL-v6""6*q!  """
 ()A-2::<M$$&&&--/!! 	""8, ))..000q!  """U	
& 	# '! 	1 	#st   CI!II!.B$I!IAI!II!2I34I!'I(%I!II!I!I!I!I!I!c               r   r   r   r   r   r   r   r      s     & & &r   c                	s   "   V P                   P                  ^ 8X  d!   \        P                  ! R4      G Rj  xL
  R# R#  L5i)r    g{Gz?N)r   Zmacro_key_sleep_msr   r%   )r#   s   &r   r&   ZModTapTask.throttle   s3      <<**a/--%%% 0%s   5AA 	Ar   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   ZstrZintZfloatZargument_configsr'   r&   Z__static_attributes__r   r   r   r
   r
   $   sj     	%		
 	%		
 	,		
*A#F& &r   r
   )Z
__future__r   r   Zcollectionsr   Ztypingr   Zevdev.ecodesr   Z%inputremapper.configs.keyboard_layoutr   Z'inputremapper.injection.macros.argumentr   Z#inputremapper.injection.macros.taskr   Zinputremapper.input_eventr   Zinputremapper.logging.loggerr	   r
   r   r   r   <module>r(      s3   * #     A B 4 0 /h& h&r   