
    nh>                     ,    d Z ddlZddlZ G d d      Zy)z(Unified input handler for all platforms.    Nc                       e Zd ZdZej
                  dk(  rdZdZdZdZ	dZ
dZd	Zd
ZdZdZdZndZdZdZdZ	dZdZ
d	ZdZdZdZdZd ZddZddZdeddfdZddZddZdeddfdZy) TextInputHandlerz6Input handler with platform-specific key code support.win32u   àPu   àHu   àKu   àMu   àS	z z Sz[Bz[Az[Dz[Cz[3~z[ZNc                      d| _         d| _        y )N r   )textcursor_leftselfs    m/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/rich_toolkit/_input_handler.py__init__zTextInputHandler.__init__*   s    	    returnc                 @    t        d| j                  dz
        | _        y )Nr      )maxr   r   s    r   _move_cursor_leftz"TextInputHandler._move_cursor_left.   s    q$"2"2Q"67r   c                 f    t        t        | j                        | j                  dz         | _        y )Nr   )minlenr   r   r   s    r   _move_cursor_rightz#TextInputHandler._move_cursor_right1   s$    s499~t/?/?!/CDr   charc                     | j                   d | j                   |z   | j                   | j                  d  z   | _         | j                          y )N)r   r   r   )r   r   s     r   _insert_charzTextInputHandler._insert_char4   sC    II0 0 01D8499TEUEUEW;XX	!r   c                     | j                   dk(  ry| j                  d| j                   dz
   | j                  | j                   d z   | _        | j                          y)z+Delete character before cursor (backspace).r   Nr   )r   r   r   r   s    r   _delete_charzTextInputHandler._delete_char8   sT    q II4 0 01 45		$BRBRBT8UU	 r   c                     | j                   t        | j                        k(  ry| j                  d| j                    | j                  | j                   dz   d z   | _        y)z(Delete character at cursor (delete key).Nr   )r   r   r   r   s    r   _delete_forwardz TextInputHandler._delete_forward@   sQ    s499~-II0 0 01DIId>N>NQR>R>T4UU	r   keyc                 x   || j                   k(  s| j                  r || j                  k(  r| j                          y || j                  k(  s| j                  r || j                  k(  r| j                          y || j                  k(  r| j                          y || j                  k(  r| j                          y || j                  | j                  | j                  | j                  | j                  fv ry t        j                   dk(  r
|r|d   dv ry |D ]&  }|t"        j$                  v s| j'                  |       ( y )Nr   r   )    à)BACKSPACE_KEYALT_BACKSPACEr    
DELETE_KEY
ALT_DELETEr"   LEFT_KEYr   	RIGHT_KEYr   UP_KEYDOWN_KEY	ENTER_KEYSHIFT_TAB_KEYTAB_KEYsysplatformstring	printabler   )r   r#   r   s      r   
handle_keyzTextInputHandler.handle_keyG   s   $$$$3$*<*<#<DOO#C4??<R  "DMM!""$DNN"##%KKMMNNLL
 
  ||w&33q6=M3M  ,6+++%%d+,r   )r   N)__name__
__module____qualname____doc__r2   r3   r.   r-   r+   r,   r)   r'   r1   r0   r/   r(   r*   r   r   r   strr   r    r"   r6    r   r   r   r      s    @ ||w	
"	 
 	
 	 
8E" " "!V ,c  ,d  ,r   r   )r:   r4   r2   r   r<   r   r   <module>r=      s    .  
`, `,r   