+
     i   c                  sD   R 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 R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR R ltR# )z=Exceptions that are thrown when configurations are incorrect.)annotations)Optional)EV_KEY)keyboard_layout)GlobalUInputsc                  s(   a  ] tR t^&tV 3R ltRtV ;t# )OutputSymbolVariantErrorc                	&   < \         SV `  R 4       R# )z`Missing Argument: Mapping must either contain `output_symbol` or `output_type` and `output_code`Nsuper__init__self	__class__   &L/usr/lib/python3.14/site-packages/inputremapper/configs/validation_errors.pyr	   Z!OutputSymbolVariantError.__init__'   s    A	
     __name__
__module____qualname____firstlineno__r	   __static_attributes____classcell__r      @r   r   r   &       
 
r   r   c                  s(   a  ] tR t^.tV 3R ltRtV ;t# )TriggerPointInRangeErrorc                	s0   < \         SV `  R V: R24       R# )zinput_config = zt maps an absolute axis to a button, but the trigger point (event.analog_threshold) is not between -100[%] and 100[%]Nr   )r   Zinput_configr      &&r   r	   Z!TriggerPointInRangeError.__init__/   s"    |   	
r   r   r   r   r   r   r   r   .       
 
r   r   c                  s(   a  ] tR t^7tV 3R ltRtV ;t# )OnlyOneAnalogInputErrorc                	s.   < \         SV `  R V R24       R# )z4Cannot map a combination of multiple analog inputs: z8add trigger points (event.value != 0) to map as a buttonNr   )r   Zanalog_eventsr   r   r   r	   Z OnlyOneAnalogInputError.__init__8   s     B=/FG	
r   r   r   r   r   r   r   r   7   r   r   r   c                  s(   a  ] tR t^?tV 3R ltRtV ;t# )SymbolNotAvailableInTargetErrorc                	s   < \         P                  ! V4      p\        P                  ! \        V4      pR P                  V4      p\        SV `  RV RV R2RV R2,           4       R# )z", "The output_symbol "z" is not available for the "z" ztarget. Try "z".N)r   getr   Zfind_fitting_default_uinputsr   Zjoinr   r	   )r   symbolZtargetcodeZfitting_targetsZfitting_targets_stringr   s   &&&   r   r	   Z(SymbolNotAvailableInTargetError.__init__@   sg    ""6*'DDVTR!'_!=!&)EfXRP45R89	
r   r   r   r   r   r   r   r   ?   s    	
 	
r   r   c                  s.   a  ] tR t^LtR V 3R lltRtV ;t# )OutputSymbolUnknownErrorc                   V ^8  d   QhRR/# )   r"   Zstrr   Zformat   "r   __annotate__Z%OutputSymbolUnknownError.__annotate__M   s     
 
s 
r   c                	s<   < \         SV `  R V R2R,           4       R# )r    z!" is not a macro and not a valid zkeycode-nameNr   )r   r"   r   r   r   r	   Z!OutputSymbolUnknownError.__init__M   s%    !&)JK	
r   r   r   r   r   r   r$   r$   L   s    
 
r   r$   c                  s(   a  ] tR t^TtV 3R ltRtV ;t# )MacroButTypeOrCodeSetErrorc                	r   )zBoutput_symbol is a macro: output_type and output_code must be NoneNr   r
   r   r   r	   Z#MacroButTypeOrCodeSetError.__init__U   s    S	
r   r   r   r   r   r   r*   r*   T   s    
 
r   r*   c                  s(   a  ] tR t^[tV 3R ltRtV ;t# )SymbolAndCodeMismatchErrorc                	s   < \         SV `  R V R\        P                  ! V4       RV R\        P                  ! V4       R2	4       R# )z8output_symbol and output_code mismatch: output macro is z -> z but output_code is Z N)r   r	   r   r!   Zget_name)r   r"   r#   r      &&&r   r	   Z#SymbolAndCodeMismatchError.__init__\   sQ    %hd?+>+>v+F*G H""&tO,D,DT,J+K1N	
r   r   r   r   r   r   r+   r+   [   r   r   r+   c                  s(   a  ] tR t^dtV 3R ltRtV ;t# )WrongMappingTypeForKeyErrorc                	r   )z Wrong mapping_type for key inputNr   r
   r   r   r	   Z$WrongMappingTypeForKeyError.__init__e   s    ;=r   r   r   r   r   r   r-   r-   d   s    > >r   r-   c                  s(   a  ] tR t^itV 3R ltRtV ;t# )MissingMacroOrKeyErrorc                	r   )zMissing macro or keyNr   r
   r   r   r	   ZMissingMacroOrKeyError.__init__j   s    /0r   r   r   r   r   r   r.   r.   i   s    1 1r   r.   c                  s(   a  ] tR t^ntV 3R ltRtV ;t# )MissingOutputAxisErrorc                	s6   < \         SV `  R V RV: R24       R# )zMissing output axis: "z1" is used as analog input, but the output_type = z is not an axis Nr   )r   Zanalog_input_configZoutput_typer   r,   r   r	   ZMissingOutputAxisError.__init__o   s.    #$ %&"&&68	
r   r   r   r   r   r   r/   r/   n   r   r   r/   c                  s6   a  ] tR t^wtRtRR V 3R llltRtV ;t# )
MacroErrorzMacro syntax errors.c               r%   )r&   r"   zOptional[str]r   r'   r(   r   r)   ZMacroError.__annotate__z   s      } r   c                	s2   < Wn         \        SV `	  V4       R # )N)r"   r   r	   )r   r"   Zmsgr   r,   r   r	   ZMacroError.__init__z   s    r   )r"   )NzError while parsing a macro)r   r   r   r   __doc__r	   r   r   r   r   r   r0   r0   w   s      r   r0   c               r%   )r&   errorZtyper   r'   r(   r   r)   r)      s     
 
T 
r   c                s    V P                   P                  4       pVP                  R4      '       d   VR\        R4      )  # V# )zGenerate a string as it would appear IN pydantic error types.

This does not include the base class name, which is transformed to snake case in
pydantic. Example pydantic error type: "value_error.foobar" for FooBarError.
r2   N)r   ZlowerZendswithZlen)r2   Zlower_classnames   & r   	pydantifyr3      s@     nn**,O((#g,//r   N)r1   Z
__future__r    Ztypingr   Zevdev.ecodesr   Z%inputremapper.configs.keyboard_layoutr   Z&inputremapper.injection.global_uinputsr   Z
ValueErrorr   r   r   r   r$   r*   r+   r-   r.   r/   r0   r3   r   r   r   <module>r4      s   ( D #   A @
z 

z 

j 


j 


z 

 

 
>* >
1Z 1

Z 
 
r   