+
     iU  c                   s    ^ RI Ht ^ RIt^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHtHt ^ R	IHt  ! R
 R]4      tR# )i    )TupleN)EV_ABS)InputCombinationInputConfig)Mapping)GlobalUInputs)MappingHandlerInputEventHandler)
InputEventEventActions)get_evdev_constant_namec                   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	V3R lR lt
RV3R	 lR
 lltV3R lR ltV3R ltRtVtV ;t# )AbsToBtnHandlerz5Handler which transforms an EV_ABS to a button event.c                s,   < V ^8  d   QhRS[ RS[RS[/# )   combinationmappingglobal_uinputs)r   r   r   Zformat__classdict__   "`/usr/lib/python3.14/site-packages/inputremapper/injection/mapping_handlers/abs_to_btn_handler.py__annotate__AbsToBtnHandler.__annotate__+   s)     % %%% % &	%    c                sR   < \         SV `  WV4       R V n        V^ ,          V n        R# FN)Zsuper__init___active_input_config)selfr   r   r   Z_	__class__s   &&&&,r   r   ZAbsToBtnHandler.__init__+   s'     	~>(^r   c                st    \        V P                  P                  !  pR V RV P                  P                   2# )zAbsToBtnHandler for "z" )r
   r   Ztype_and_code)r   Znames   & r   __str__ZAbsToBtnHandler.__str__9   s8    &(:(:(H(HI&tfB43E3E3S3S2TUUr   c                sJ    R \        V 4       R\        \        V 4      4       R2# )Z<z at Z>)ZstrZhexZidr      &r   __repr__ZAbsToBtnHandler.__repr__=   s#    3t9+T#bh-22r   c                s    V P                   # )N)_sub_handlerr   r   r   childZAbsToBtnHandler.child@   s       r   c                sB   < V ^8  d   QhRS[ RS[ RS[S[S[3,          /# )r   abs_minabs_maxreturn)Zintr    Zfloatr   r   r   r   r   D   s+     / /c /C /E%,<O /r   c                s   VR8X  dD   V^8X  d=   V P                   P                  \        V P                   P                  4      ,          ^ 3# W!,
          ^,          pW1,           pW0P                   P                  ,          ^d,          pWE,           V3# )z)Calculate the axis mid and trigger point.i)r   Zanalog_thresholdZabs)r   r#   r$   Z
half_rangeZmiddleZtrigger_offsets   &&&   r   _trigger_pointZAbsToBtnHandler._trigger_pointD   s     b=W\ ""33t))::;<  '1,
%#&8&8&I&IICO &..r   c                sF   < V ^8  d   QhRS[ RS[P                  RS[RS[/# )r   eventsourcesuppressr%   )r   evdevZInputDeviceboolr   r   r   r   r   X   s9     $
 $
$
 !!$
 	$

 
$
r   c                s@   VP                   V P                  P                   8w  d   R # VP                  RR7      \        ,           Uu/ uF  qD^ ,          V^,          bK  	  ppV P	                  WQP
                  ,          P                  WQP
                  ,          P                  4      w  rgVP                  pYu;8  d   V8  g   M Yu;8  d   V8  d;   M M7V P                  '       d$   VP                  ^ \        P                  3R7      pMWR# Yu;8  d   V8  d   M M\        P                  p	M\        P                  p	VP                  ^\        P                  V	3R7      p\        VP                  4      V n	        V P                   P#                  VVVR7      # u upi )FT)absinfo)valueZactions)r(   r)   )Zinput_match_hashr   Zcapabilitiesr   r&   ZcodeZminZmaxr-   r   Zmodifyr	   Zas_keyZpositive_triggerZnegative_triggerr+   r!   notify)
r   r'   r(   r)   Zentryr,   Z	thresholdZ	mid_pointr-   Z	directions
   &&&&      r   r.   ZAbsToBtnHandler.notifyX   sU    !!T%7%7%H%HH -3,?,?,?,Mf,U
,U5!HeAh,U 	 
  $22JJ##WZZ%8%<%< 
	 )	)u/L9/L|||1|7J7J6LM -I-(99	(99	LLq<3F3F	2RLSEEKK(  '' ( 
 	
/
s   Fc                s   < V ^8  d   QhRR/# )r   r%   N r   r   r   r   r   ~   s     " "t "r   c                sH    R V n         V P                  P                  4        R# r   )r   r!   resetr   r   r   r0   ZAbsToBtnHandler.reset~   s    !r   c                s>   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )r   r   r   r!   )r   r+   r   r   r   r   r   r   $   s+        M	 
 $# r   )r   r   )F)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r    Zpropertyr"   r&   r.   r0   Z__annotate_func__Z__static_attributes__Z__classdictcell__Z__classcell__)r   r   s   @@r   r   r   $   sX     ?% %V3 ! !/ /($
 $
L" "u  r   r   )Ztypingr    r*   Zevdev.ecodesr   Z"inputremapper.configs.input_configr   r   Zinputremapper.configs.mappingr   Z&inputremapper.injection.global_uinputsr   Z8inputremapper.injection.mapping_handlers.mapping_handlerr   r   Zinputremapper.input_eventr   r	   Zinputremapper.utilsr
   r   r/   r   r   <module>r1      s4   (    L 1 @ ? 7\"n \"r   