o
    OZh#                     @   sV  d dl Z d dlZd dlZd dlZd dlZdhZi ddddddd	d
dddddddddddddddddddddd d!d"d#d$i d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAd4dBdCdDdEi dFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgi dhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddmddoddqddsddui ddwddydd{dd}ddddddddddddddddddddddddddi dddddddddddddddddddddddddd&ddddddddi ddddddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddГddٓddГddܓddܓi ddߓddddddddddddddddddddddddddddddddi d ddddddddd	d
dddddddddddddddddddddZG d d! d!ejZe	d"kr)e
  dS dS (#      NZ	K_UNKNOWNZK_00ZK_11ZK_22ZK_33ZK_44ZK_55ZK_66ZK_77ZK_88ZK_99Z	K_AC_BACKzAC BackZK_AMPERSAND&Z
K_ASTERISK*ZK_AT@ZK_BACKQUOTE`ZK_BACKSLASH\ZK_BACKSPACEZ	backspaceZK_BREAKbreakZ
K_CAPSLOCKz	caps lockZK_CARET^ZK_CLEARclearZK_COLON:ZK_COMMA,ZK_CURRENCYSUBUNITZCurrencySubUnitZK_CURRENCYUNITeuroZK_DELETEdeleteZK_DOLLAR$ZK_DOWNZdownZK_ENDendZK_EQUALS=ZK_ESCAPEescapeZK_EUROZ	K_EXCLAIM!ZK_F1f1ZK_F10Zf10ZK_F11Zf11ZK_F12Zf12ZK_F13Zf13ZK_F14Zf14ZK_F15Zf15ZK_F2f2ZK_F3Zf3ZK_F4Zf4ZK_F5Zf5ZK_F6Zf6ZK_F7Zf7ZK_F8Zf8ZK_F9Zf9Z	K_GREATER>ZK_HASH#ZK_HELPhelpZK_HOMEhomeZK_INSERTinsertZK_KP0z[0]ZK_KP1z[1]ZK_KP2z[2]ZK_KP3z[3]ZK_KP4z[4]ZK_KP5z[5]ZK_KP6z[6]ZK_KP7z[7]ZK_KP8z[8]ZK_KP9z[9]ZK_KP_0ZK_KP_1ZK_KP_2ZK_KP_3ZK_KP_4ZK_KP_5ZK_KP_6ZK_KP_7ZK_KP_8ZK_KP_9ZK_KP_DIVIDEz[/]Z
K_KP_ENTERZenterZK_KP_EQUALSequalsZ
K_KP_MINUSz[-]ZK_KP_MULTIPLYz[*]ZK_KP_PERIODz[.]Z	K_KP_PLUSz[+]ZK_LALTzleft altZK_LCTRLz	left ctrlZK_LEFTleftZK_LEFTBRACKET[ZK_LEFTPAREN(ZK_LESS<ZK_LGUIz	left metaZK_LMETAZK_LSHIFTz
left shiftZK_LSUPERZK_MENUZmenuZK_MINUS-ZK_MODEzalt grZ	K_NUMLOCKZnumlockZK_NUMLOCKCLEARZ
K_PAGEDOWNz	page downZK_PAGEUPzpage upZK_PAUSEZ	K_PERCENT%ZK_PERIOD.ZK_PLUS+ZK_POWERpowerZK_PRINTzprint screenZK_PRINTSCREENZ
K_QUESTION?ZK_QUOTE'Z
K_QUOTEDBL"ZK_RALTz	right altZK_RCTRLz
right ctrlZK_RETURNreturnZK_RGUIz
right metaK_RIGHTrightZK_RIGHTBRACKET]ZK_RIGHTPAREN)ZK_RMETAZK_RSHIFTzright shiftZK_RSUPERZK_SCROLLLOCKzscroll lockZK_SCROLLOCKZK_SEMICOLON;ZK_SLASH/ZK_SPACEspaceZK_SYSREQzsys reqZK_TABtabZK_UNDERSCORE_ZK_UPupK_aaZK_bbZK_ccZK_ddZK_eeZK_ffZK_ggZK_hhZK_iiZK_jjZK_kkZK_llZK_mmZK_nnZK_ooZK_ppZK_qqZK_rrZK_ssZK_ttZK_uuZK_vvZK_wwZK_xxZK_yyZK_zzc                   @   sf   e Zd Zedd Zedd Zdd Zdd Ze	d	d
d Z
dd Zdd Zdd Zdd ZdS )KeyModuleTestc                 C      t   d S N)pygameinitcls r^   D/var/www/auris/lib/python3.10/site-packages/pygame/tests/key_test.py
setUpClass      zKeyModuleTest.setUpClassc                 C   rX   rY   )rZ   quitr\   r^   r^   r_   tearDownClass   ra   zKeyModuleTest.tearDownClassc                 C   s,   t  st   t j st j  d S d S rY   )rZ   Zget_initr[   displayselfr^   r^   r_   setUp   s
   
zKeyModuleTest.setUpc                 C   s   ddl }dS )zdoes it import?r   N)
pygame.key)rf   rZ   r^   r^   r_   test_import   ra   zKeyModuleTest.test_importz(flaky test, and broken on 2.0.18 windowsc                 C   sr  t j }| | | |t tjddkrt j	
 }|dkr$dg}t j	j|d t jd t jd t j  t j }| |t | | t j  tjdkrt j	  tdD ]}td	 t j  q]| t j  t j	j|d t jd tdD ]}td	 t j  q| t j  t j	  | t j}t j  W d    d S 1 sw   Y  d S )
NZSDL_VIDEODRIVERdummy)  rl   )sizeflagsTnt2   g{Gz?)rZ   keyZget_focusedZassertFalseassertIsInstanceintosenvirongetrd   Z
list_modesset_modeZ
FULLSCREENeventZset_grabZpump
assertTruer   nameZiconifyrangetimesleeprb   assertRaiseserror)rf   ZfocusedZdisplay_sizesr:   rE   cmr^   r^   r_   test_get_focused   s:   











"zKeyModuleTest.test_get_focusedc                 C   s    t j }| |t j d d S )Nr   )rZ   rq   Zget_pressedassertEqualr2   )rf   Zstatesr^   r^   r_   test_get_pressed   s   
zKeyModuleTest.test_get_pressedc              	   C   s  t tD ]h}|dr|tv rqzt| }W n ty$   | d Y nw tt|}| tj	
|| | tj	j
|d| | tj	|| | tj	j|d| tj	j
|dd}| |t | tj	|| q| ttj	j
d | ttj	jtj | ttj	jd d S )NZK_zIf you are seeing this error in a test run, you probably added a new pygame key constant, but forgot to update key_test unitests)rq   )rz   F)Z
use_compatZfizzbuzz)dirrZ   
startswithSKIPPED_KEYSKEY_NAME_COMPATKeyErrorZfailgetattrr   rq   rz   Zkey_coderr   strr~   	TypeErrorr<   
ValueError)rf   Z
const_nameZexpected_str_nameZ	const_valZalt_namer^   r^   r_   test_name_and_key_code   s*   
z$KeyModuleTest.test_name_and_key_codec                 C   sv   t jt j | t j t j t jt j | t j t j t jt jt jB  | t j t jt jB  d S rY   )rZ   rq   Zset_modsZ	KMOD_CTRLr   Zget_modsZKMOD_ALTre   r^   r^   r_   test_set_and_get_mods  s   z#KeyModuleTest.test_set_and_get_modsc                 C   sR   |  tj d tjdd |  tj d tj  |  tj d d S )N)r   r   
      )r   r   )r   rZ   rq   Z
get_repeatZ
set_repeatre   r^   r^   r_   test_set_and_get_repeat'  s
   
z%KeyModuleTest.test_set_and_get_repeatN)__name__
__module____qualname__classmethodr`   rc   rg   ri   unittestskipr   r   r   r   r   r^   r^   r^   r_   rW      s    


))	rW   __main__)rt   r|   r   rZ   rh   r   r   ZTestCaserW   r   mainr^   r^   r^   r_   <module>   s   	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                 
