HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/__pycache__/config_key.cpython-310.opt-2.pyc
o

�i~;�@s	ddlmZmZmZmZddlmZmZmZm	Z	m
Z
mZddlmZddl
mZddlZddlZdZeejej�Zed�ZdZd	Zd
ZeeeeeeZdd�ZGd
d�de�ZGdd�de�Zedkr�ddlm Z e dddd�ddl!m"Z"e"e#�dSdS)�)�Toplevel�Listbox�	StringVar�TclError)�Frame�Button�Checkbutton�Entry�Label�	Scrollbar)�
messagebox)�
_setup_dialogN)ZF1ZF2ZF3ZF4ZF5ZF6ZF7ZF8ZF9ZF10ZF11ZF12z~!@#%^&*()_-+={}[]|;:,.<>/?)�Tab�SpaceZReturn)Z	BackSpaceZDeleteZInsert)ZHomeZEnd�Page Up�	Page Down�
Left Arrow�Right Arrow�Up Arrow�
Down ArrowcCs	idd�dd�dd�dd�d	d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�id#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdB�dCdD��dEdEi�}|�||�}dF|vr�|tjvr�|��}dG|��S)HNr�space�~Z
asciitilde�!Zexclam�@Zat�#Z
numbersign�%�percent�^Zasciicircum�&Z	ampersand�*Zasterisk�(Z	parenleft�)Z
parenright�_Z
underscore�-Zminus�+Zplus�=Zequal�{Z	braceleft�}Z
braceright�[Zbracketleft�]Zbracketright�|Zbar�;Z	semicolon�:�colon�,Zcomma�.Zperiod�<Zless�>Zgreater�/Zslash�?ZquestionrZPriorrZNextrZLeftrZRightrZUprZDownr�ShiftzKey-)�get�string�ascii_lowercase�upper)�key�	modifiers�mapping�r<�//usr/local/lib/python3.10/idlelib/config_key.py�
translate_keys����������������������������	�	�
�
����
r>cszeZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Z�ZS)�GetKeysFramezKey Sequence Errorcs�	t��|�d|d<d|d<||_||_||_d|_t|�|_|j�d�|�	�g|_
|jD]}t|�}|�d�|j
�|�q0d|_
|��dS)N��borderwidthZsunken�relief�F)�super�__init__�parent�action�current_key_sequences�resultr�
key_string�set�set_modifiers_for_platform�
modifier_varsr:�append�advanced�create_widgets)�selfrFrGrH�modifier�variable��	__class__r<r=rE1s$


zGetKeysFrame.__init__cOstj|i|��dS�N)r�	showerror)rQ�args�kwargsr<r<r=rWLszGetKeysFrame.showerrorc	Cs�t|dd�|_|jjdddddd�t|jd|j�d�d	�}|jd
d�t|jd|jd
dd�}|jdddd�t|�|_|jjddddd�i|_d}t	|j
|j�D])\}}|j�
||�}t|j|j|||dd�}|jd|dd
d�||j|<|d7}qRt|jddd�}|jddddd
d�t|jdddd�|_|jjdgt�R�|j�d |j�|jjdddd!d"�t|jd#|jjd$�}	|jj|	jd%�|	jdddd!d"�t|jd&|jd'�|_|jjdddd(�t|d)d�|_|jjdddddd�t|jdd*|j�d+�d,d�}
|
jd
d�t|j|jd-�|_|jjdd.�t|�|_ |j jddddd�t|j dd/d�}|jdddd0�t||j!d1d2�|_"|j"jddd3ddd4�|�!�dS)5NZkeyseq_basic)�namerZnsew�)�row�column�sticky�padx�padyzNew keys for 'z' :��text�w)�anchor�leftZgroover@)�justify�textvariablerBrA�x)ZipadxZipady�fill�)r\r]r^r_rC)�commandrbrSZonvalueZoffvalue)r\r]r_r^z�Select the desired modifier keys
above, and the final key from the
list on the right.

Use upper case Symbols when using
the Shift modifier.  (Letters will be
converted automatically.))rfrb�)r\r]�
columnspanr_r^��
Zsingle)�width�heightZ
selectmode�endz<ButtonRelease-1>�ns)r\r]Zrowspanr^Zvertical)Zorientrk)Zyscrollcommandz
Clear Keys)rbrk)r\r]rmZkeyseq_advancedzEnter new binding(s) for 'z' :
z2(These bindings will not be checked for validity!))rg)ria�Key bindings are specified using Tkinter keysyms as
in these samples: <Control-f>, <Shift-F2>, <F12>,
<Control-space>, <Meta-less>, <Control-Alt-Shift-X>.
Upper case is used when the Shift modifier is present!

'Emacs style' multi-keystroke bindings are specified as
follows: <Control-x><Control-y>, where the first key
is the 'do-nothing' keybinding.

Multiple separate bindings for one action should be
separated by a space, eg., <Alt-v> <Meta-v>.)r\r]r^�<< Basic Key Binding Entry)rkrbZew)r\r]Zstickr_r`)#r�frame_keyseq_basic�gridr
rG�packrJ�frame_controls_basicZmodifier_checkbuttons�zipr:rM�modifier_labelr5r�build_key_stringr�list_keys_final�insert�AVAILABLE_KEYS�bind�final_key_selectedr�yview�configrKr�
clear_key_seqZbutton_clear�frame_keyseq_advancedr	�
advanced_keys�frame_help_advanced�toggle_level�button_level)rQZbasic_titleZ
basic_keysr]rRrSZlabel�checkZ
help_basicZscroll_keys_finalZadvanced_titleZ
help_advancedr<r<r=rPPs����
�

��������
�
�zGetKeysFrame.create_widgetscCs0	tjdkrgd�|_ngd�|_ddi|_dS)N�darwin)r4�ControlZOptionZCommand)r�ZAltr4r�ZCtrl)�sys�platformr:rz�rQr<r<r=rL�s


z'GetKeysFrame.set_modifiers_for_platformcCs�	|j�d��d�r)|��|jjdd�|j��|j��|j�	�d|_
dS|��|jjdd�|j��|j��d|_
dS)NrbZAdvancedrtraTzAdvanced Key Binding Entry >>F)
r�Zcget�
startswithr�r�r�Zliftr�r�Z	focus_setrOrurxr�r<r<r=r��s






zGetKeysFrame.toggle_levelNcCs	|��dSrV)r{�rQ�eventr<r<r=r��szGetKeysFrame.final_key_selectedcCsP	|��}}|j�d�}|rt||�}|�|�|j�dd�|��d��dS)Nrdr0r#r1)�
get_modifiersr|r5r>rNrJrK�join)rQ�keylistr:�	final_keyr<r<r=r{�s

zGetKeysFrame.build_key_stringcCs 	dd�|jD�}dd�|D�S)NcSsg|]}|���qSr<)r5)�.0rSr<r<r=�
<listcomp>��z.GetKeysFrame.get_modifiers.<locals>.<listcomp>cSsg|]}|r|�qSr<r<)r��modr<r<r=r��r�)rM)rQZmod_listr<r<r=r��szGetKeysFrame.get_modifierscCsD	|j�dd�|j�dd�|jD]}|�d�q|j�d�dS)NrrrZmovetoz0.0rC)r|Zselect_clearr�rMrKrJ)rQrSr<r<r=r��s
zGetKeysFrame.clear_key_seqcCsRd|_|j����}|s|j|j|dd�dS|js|�|�r'|�|�r'||_dS)NrCzNo key specified.��titlerF�message)	rIrJr5�striprW�keyerror_titlerO�keys_ok�bind_ok)rQ�keysr<r<r=�ok�s
�zGetKeysFrame.okcCs�	|j�d�}|��}|j}dd�|jD�}|�d�s%|j||dd�dS|s7|ttvr7|j||dd�dS|d	gkrP|ttd
vrPd}|j|||d�dS||vr`d}|j|||d�dSd
S)NrdcSsg|]	}|D]}|�qqSr<r<)r�r�r9r<r<r=r��s
�
�z(GetKeysFrame.keys_ok.<locals>.<listcomp>r1zMissing the final Key)rFr�zNo modifier key(s) specified.r�r4)rrzBThe shift modifier by itself may not be used with this key symbol.z'This key combination is already in use.TF)	r|r5r�r�rH�endswithrW�
FUNCTION_KEYS�	MOVE_KEYS)rQr�r�r:r�Z
key_sequences�msgr<r<r=r��s8
���
�
���zGetKeysFrame.keys_okc
Csf	z
|�|dd��}Wnty*}z|j|j|d|��d�WYd}~dSd}~ww|�||�dS)NcSsdSrVr<r<r<r<r=�<lambda>sz&GetKeysFrame.bind_ok.<locals>.<lambda>z2The entered key sequence is not accepted.

Error: r�FT)rrrWr�Zunbind)rQr�Zbinding�errr<r<r=r�s����zGetKeysFrame.bind_okrV)�__name__�
__module__�__qualname__r�rErWrPrLr�r�r{r�r�r�r�r��
__classcell__r<r<rTr=r?,sY
	r?csReZdZddd��fdd�
Zedd��Zejdd��Zd
d	d
�Zd
dd�Z�Z	S)�
GetKeysWindowF)�_htest�_utestcsh	t��|�|��d|d<|jddd�|��|��|��d|��d}|��|s;|�	�d|�
�dnd}|�d|�d|���|�|�t
|||�|_}	|�d|j�t|�}
t|
d	d
|jd�|_t|
dd
|jd�|_|jjd
d
ddd�|jjd
dddd�|	jdddd�|
jddd�|�|�t|�|��|s�|��|��dSdS)Nr[rAF)rqrpr@�r$ZWM_DELETE_WINDOWZOK�)rbrprkZCancelr)r\r]r_r`rj�topTZboth)�side�expandriZbottomrh)r�ri)rDrEZwithdrawZ	resizableZupdate_idletasksZwinfo_rootxZwinfo_widthZwinfo_reqwidthZwinfo_rootyZwinfo_heightZwinfo_reqheightZgeometryr�r?�frame�protocol�cancelrrr�Z	button_okZ
button_cancelrvrwZ	transientr
Zgrab_setZ	deiconifyZwait_window)rQrFr�rGrHr�r�rh�yr�Z
frame_buttonsrTr<r=rEsH
���
��
�zGetKeysWindow.__init__cCs|jjSrV�r�rIr�r<r<r=rIJszGetKeysWindow.resultcCs||j_dSrVr�)rQ�valuer<r<r=rINsNcCs|j��|��|��dSrV)r�r��grab_release�destroyr�r<r<r=r�Rs
zGetKeysWindow.okcCsd|_|��|��dS)NrC)rIr�r�r�r<r<r=r�WszGetKeysWindow.cancelrV)
r�r�r�rE�propertyrI�setterr�r�r�r<r<rTr=r�s�.


r��__main__)�mainz!idlelib.idle_test.test_config_keyr@F)�	verbosity�exit)�run)$�tkinterrrrrZtkinter.ttkrrrr	r
rrZtkinter.simpledialogr
r6r�r��tupler7�digitsZ
ALPHANUM_KEYSZPUNCTUATION_KEYSZWHITESPACE_KEYSZ	EDIT_KEYSr�r~r>r?r�r�Zunittestr�Zidlelib.idle_test.htestr�Z
GetKeysDialogr<r<r<r=�<module>s< 
���oC�