o
    el                     @   s  d dl mZmZmZ d dlZddlmZmZmZ ej	Z
ejjZejjZejjZi e
jde
jde
jde
jde
jd	e
jd
e
jde
jde
jde
jde
jde
jde
jde
jde
jde
jde
jdi e
j de
j!de
j"de
j#de
j$de
j%de
j&de
j'de
j(de
j)de
j*d e
j+d!e
j,d"e
j-d#e
j.d$e
j/d%e
j0d&i e
j1d'e
j2d(e
j3d)e
j4d*e
j5d+e
j6d,e
j7d-e
j8d.e
j9d/e
j:d0e
j;d1e
j<d2e
j=d3e
j>d4e
j?d5e
j@d6e
jAd7e
jBd8e
jCd9e
jDd:e
jEd;e
jFd<e
jGd=e
jHd>e
jId?e
jJd@i	ZKdAdB ZLi ZMeKN D ]\ZOZPeOeMePQ < q dCdD ZRdPdFdGZSdHdI ZTdJdK ZUdLdM ZVdNdO ZWdS )Q    )absolute_importprint_functionunicode_literalsN   )KeyPressmake_KeyPress_from_keydescrvalidkeyZ	BackSpaceTabClearReturnPauseEscapeZPriorZNextEndHomeLeftZUpRightZDownSelectPrintExecuteInsertDeleteHelpF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24ZVK_OEM_CLEARZNUMPAD0ZNUMPAD1ZNUMPAD2ZNUMPAD3ZNUMPAD4ZNUMPAD5ZNUMPAD6ZNUMPAD7ZNUMPAD8ZNUMPAD9DivideMultiplyAddSubtractZ
VK_DECIMALc                 C   s(   zt |  }W |S  ty   d}Y |S w )N )code2sym_mapKeyError)keycodesym r9   VD:\Projects\ConvertPro\env\Lib\site-packages\pyreadline3/keysyms/ironpython_keysyms.pymake_keysymj   s   
r;   c                 C   s"   |  drt| dd S t| S )zSConvert a GNU readline style textual description of a key to keycode with modifiers"r   )
startswithkeyseq_to_keyinfokeyname_to_keyinfo)Zkeytextr9   r9   r:   key_text_to_keyinfow   s   
rA   Fc                 C   s`   t | }|d@ dkrtd| |f  td|d@ rd}|d@ r"d}|d@ r(d}||||d@ fS )	Ni  zVkKeyScan("%s") = %xzbad key   Ti   i      )ordprint
ValueError)charcontrolmetashiftZvkr9   r9   r:   char_to_keyinfo   s   rK   c                 C   s   d}d}d}	 |   }|drd}| dd  } nQ|dr'd}| dd  } nC|dr5d}| dd  } n5|drCd}| d	d  } n'|d
rQd}| dd  } nt| dkrc|||t|   dfS t| |||S q)NFTzcontrol-   zctrl-   zmeta-zalt-   zshift-   r    )lowerr>   lensym2code_mapgetrK   )keynamerH   rI   rJ   Zlkeynamer9   r9   r:   r@      s6   





r@   c                 C   s   g }d}d}d}	 |  drd}| dd  } nM|  dr%d}| dd  } n?|  drA|td||| d } }}| dd  } n#t| d	kr`|t| d
 ||| d } }}| d	d  } n|d
 S q	)NFTz\C-   z\M-z\e   r   r   )r>   appendrK   rR   )ZkeyseqresrH   rI   rJ   r9   r9   r:   r?      s*   


r?   c                 C   s   d}d}d}|||| fS )NFr9   )r7   staterH   rI   rJ   r9   r9   r:   make_keyinfo   s   r\   c                 C   sz   t t|tt@ }t t|tt@ }t t|tt@ }t|d }|r/|r/d}d}n|r5t|} t	| ||||S )Nr4   F)
boolintShiftControlAltr5   rT   rQ   strr   )rG   r[   r7   rJ   rH   rI   rU   r9   r9   r:   make_KeyPress   s   rc   )FFF)X
__future__r   r   r   Systemcommonr   r   r   Z
ConsoleKeyZc32ZConsoleModifiersr_   r`   ra   Z	Backspacer	   r
   ZEnterr   r   ZPageUpZPageDownr   r   Z	LeftArrowZUpArrowZ
RightArrowZ	DownArrowr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   ZOemClearZNumPad0ZNumPad1ZNumPad2ZNumPad3ZNumPad4ZNumPad5ZNumPad6ZNumPad7ZNumPad8ZNumPad9r0   r1   r2   r3   Decimalr5   r;   rS   itemscoder8   rQ   rA   rK   r@   r?   r\   rc   r9   r9   r9   r:   <module>   s  		 !"#$%&'()*+,-./0123@ABCDEFGU
