o
    'š£hOA  ã                   @   s"  d dl Z d dlZd dlZd dlZd dl mZmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlZ	edededddddddd	d	d
d
ddddi
Zejdv rOedƒ‚	 dd„ Zdd„ Zd
dd„Zd
dd„Zd
dd„Zdd„ Zdadd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zeejd' ƒZ	 e d(d)„ e j!D ƒƒZ"e" #i d*e $e	j% &d+¡¡“d,e $e	j% &d+¡¡“d-e $e	j% &d.¡¡“d/e $e	j% &d0¡¡“d1e $e	j% &d0¡¡“d2e $e	j% &d3¡¡“d4e $e	j% &d5¡¡“d6e $e	j% &d7¡¡“d8e $e	j% &d9¡¡“d:e $e	j% &d;¡¡“d<e $e	j% &d=¡¡“d>e $e	j% &d=¡¡“d?e $e	j% &d@¡¡“dAe $e	j% &dB¡¡“dCe $e	j% &d@¡¡“dDe $e	j% &dB¡¡“dEe $e	j% &dF¡¡“i dGe $e	j% &dH¡¡“dIe $e	j% &dJ¡¡“dKe $e	j% &dL¡¡“dMe $e	j% &dN¡¡“dOe $e	j% &dP¡¡“dQe $e	j% &dR¡¡“dSe $e	j% &dT¡¡“dUe $e	j% &dV¡¡“dWe $e	j% &dT¡¡“dXe $e	j% &dT¡¡“dYe $e	j% &dT¡¡“dZe $e	j% &dT¡¡“d[e $e	j% &d\¡¡“d]e $e	j% &d^¡¡“d_e $e	j% &d^¡¡“d`e $e	j% &da¡¡“dbe $e	j% &dc¡¡“¥i dde $e	j% &dc¡¡“dee $e	j% &df¡¡“dge $e	j% &dh¡¡“die $e	j% &dj¡¡“dke $e	j% &dl¡¡“dme $e	j% &dn¡¡“doe $e	j% &dp¡¡“dqe $e	j% &dr¡¡“dse $e	j% &dt¡¡“due $e	j% &dv¡¡“dwe $e	j% &dx¡¡“dye $e	j% &dz¡¡“d{e $e	j% &d|¡¡“d}e $e	j% &d~¡¡“de $e	j% &d€¡¡“de $e	j% &d‚¡¡“dƒe $e	j% &d„¡¡“¥i d…e $e	j% &d†¡¡“d‡e $e	j% &dˆ¡¡“d‰e $e	j% &dŠ¡¡“d‹e $e	j% &dŒ¡¡“de $e	j% &dŽ¡¡“de $e	j% &d¡¡“d‘e $e	j% &d’¡¡“d“e $e	j% &d”¡¡“d•e $e	j% &d–¡¡“d—e $e	j% &d˜¡¡“d™e $e	j% &dš¡¡“d›e $e	j% &dœ¡¡“de $e	j% &dž¡¡“dŸe $e	j% &d ¡¡“d¡e $e	j% &d¢¡¡“d£e $e	j% &d¤¡¡“d¥e $e	j% &d¦¡¡“¥i d§e $e	j% &d¨¡¡“d©e $e	j% &dª¡¡“d«e $e	j% &d¬¡¡“d­e $e	j% &d®¡¡“d¯e $e	j% &d°¡¡“d±e $e	j% &d²¡¡“d³e $e	j% &d´¡¡“dµe $e	j% &d¶¡¡“d·e $e	j% &d¸¡¡“d¹e $e	j% &dº¡¡“d»e $e	j% &d¼¡¡“d½e $e	j% &d3¡¡“d¾e $e	j% &d¿¡¡“dÀe $e	j% &d5¡¡“dÁe $e	j% &dÂ¡¡“dÃe $e	j% &d7¡¡“dÄe $e	j% &dÅ¡¡“¥i dÆe $e	j% &dÇ¡¡“dÇe $e	j% &dÇ¡¡“dÈe $e	j% &d.¡¡“dÉe $e	j% &d0¡¡“dÊe $e	j% &d0¡¡“dËe $e	j% &d=¡¡“dÌe $e	j% &dÍ¡¡“dÎe $e	j% &dÏ¡¡“dÐe $e	j% &dÑ¡¡“dÒe $e	j% &dÓ¡¡“dÔe $e	j% &dÕ¡¡“dÖe $e	j% &d×¡¡“dØe $e	j% &dÙ¡¡“dÚe $e	j% &dÛ¡¡“dÜe $e	j% &dÝ¡¡“dÞe $e	j% &dß¡¡“dàe $e	j% &dá¡¡“¥i dâe $e	j% &dã¡¡“däe $e	j% &då¡¡“dæe $e	j% &dç¡¡“dèe $e	j% &dé¡¡“dêe $e	j% &dë¡¡“dìe $e	j% &dí¡¡“dîe $e	j% &dï¡¡“dðe $e	j% &dñ¡¡“dòe $e	j% &dó¡¡“dôe $e	j% &dõ¡¡“döe $e	j% &d÷¡¡“døe $e	j% &dù¡¡“dúe $e	j% &dû¡¡“düe $e	j% &dý¡¡“dþe $e	j% &dÿ¡¡“d e $e	j% &d¡¡“de $e	j% &d¡¡“¥e $e	j% &d¡¡e $e	j% &d¡¡e $e	j% &d¡¡e $e	j% &d¡¡dœ¥¡ d	D ]Z'e $e	j% &e'¡¡e"e'< q€dS (  é    N)ÚLEFTÚMIDDLEÚRIGHT)ÚDisplay)ÚX)Ú
fake_inputé   é   é   é   é   é   é   )ÚjavaÚdarwinÚwin32zRThe pyautogui_x11 module should only be loaded on a Unix system that supports X11.c                  C   s    t  ¡ j ¡ j} | d | d fS )z«Returns the current xy coordinates of the mouse cursor as a two-integer
    tuple.

    Returns:
      (x, y) tuple of the current xy coordinates of the mouse cursor.
    Zroot_xZroot_y)Ú_displayÚscreenÚrootZquery_pointerÚ_data)Zcoord© r   úo/Users/merlin/projects/employee-monitoring-system/venv/lib/python3.10/site-packages/pyautogui/_pyautogui_x11.pyÚ	_position   s   r   c                   C   s   t  ¡ jt  ¡ jfS ©N)r   r   Zwidth_in_pixelsZheight_in_pixelsr   r   r   r   Ú_size%   s   r   c                 C   óJ   t | ƒ} | dkr
d S | dkrd}nd}tt| ƒƒD ]	}t|||d qd S )Nr   r   r   ©Úbutton©ÚintÚrangeÚabsÚ_click©ÚclicksÚxÚyr   Úir   r   r   Ú_vscroll*   ó   ÿr(   c                 C   r   )Nr   r   r   r   r   r#   r   r   r   Ú_hscroll7   r)   r*   c                 C   s   t | ||ƒS r   )r(   )r$   r%   r&   r   r   r   Ú_scrollD   s   r+   c                 C   s8   |t  ¡ v s
J dƒ‚t | }t| ||ƒ t| ||ƒ d S ©Nz>button argument not in ('left', 'middle', 'right', 4, 5, 6, 7))ÚBUTTON_NAME_MAPPINGÚkeysÚ
_mouseDownÚ_mouseUp©r%   r&   r   r   r   r   r"   H   s   r"   c                  C   sZ   t d u r+ztjg d¢tjd} |  ¡ \}}| d¡dka W t S  ty*   da Y t S w t S )N)ZdconfÚreadz0/org/gnome/desktop/peripherals/mouse/left-handed)Ústdoutzutf-8ztrue
F)Ú_mouse_is_swapped_settingÚ
subprocessÚPopenÚPIPEÚcommunicateÚdecodeÚFileNotFoundError)ÚprocZstdout_bytesZstderr_bytesr   r   r   Ú_mouse_is_swappedS   s   ýýr<   c                 C   s   t ttj| |d t ¡  d S )N©r%   r&   )r   r   r   ZMotionNotifyÚsyncr=   r   r   r   Ú_moveTod   s   r?   c                 C   ó@   t | |ƒ |t ¡ v sJ dƒ‚t| }tttj|ƒ t ¡  d S r,   )r?   r-   r.   r   r   r   ZButtonPressr>   r1   r   r   r   r/   i   ó
   
r/   c                 C   r@   r,   )r?   r-   r.   r   r   r   ZButtonReleaser>   r1   r   r   r   r0   q   rA   r0   c                 C   s’   | t vs
t |  du rdS t| ƒtkrtttj| ƒ t ¡  dS t 	| ¡}|r/tttjt d ƒ tttjt |  ƒ |rCtttj
t d ƒ t ¡  dS )a}  Performs a keyboard key press without the release. This will put that
    key in a held down state.

    NOTE: For some reason, this does not seem to cause key repeats like would
    happen if a keyboard key was held down on a text field.

    Args:
      key (str): The key to be pressed down. The valid names are listed in
      pyautogui.KEY_NAMES.

    Returns:
      None
    NÚshift)ÚkeyboardMappingÚtyper   r   r   r   ZKeyPressr>   Ú	pyautoguiZisShiftCharacterÚ
KeyRelease)ÚkeyZ
needsShiftr   r   r   Ú_keyDowny   s   
rH   c                 C   sN   	 | t vst |  du rdS t| ƒtkr| }nt |  }tttj|ƒ t ¡  dS )zÒPerforms a keyboard key release (without the press down beforehand).

    Args:
      key (str): The key to be released up. The valid names are listed in
      pyautogui.KEY_NAMES.

    Returns:
      None
    N)rC   rD   r   r   r   r   rF   r>   )rG   Zkeycoder   r   r   Ú_keyUpš   s   rI   ZDISPLAYc                 C   s   g | ]}|d f‘qS r   r   )Ú.0rG   r   r   r   Ú
<listcomp>¿   s    rK   Z	backspaceZ	BackSpaceúÚtabZTabZenterÚReturnÚreturnrB   ZShift_LZctrlZ	Control_LZaltZAlt_LÚpauseZPauseZcapslockZ	Caps_LockÚescÚEscapeÚescapeZpgupZPage_UpZpgdnZ	Page_DownZpageupZpagedownÚendZEndÚhomeZHomeÚleftZLeftÚupZUpÚrightZRightZdownZDownÚselectZSelectÚprintZPrintÚexecuteZExecuteZprtscZprtscrZprntscrnZprintscreenÚinsertZInsertÚdelÚDeleteÚdeleteÚhelpZHelpÚwinZSuper_LZwinleftZwinrightZSuper_RZappsZMenuZnum0ZKP_0Znum1ZKP_1Znum2ZKP_2Znum3ZKP_3Znum4ZKP_4Znum5ZKP_5Znum6ZKP_6Znum7ZKP_7Znum8ZKP_8Znum9ZKP_9ÚmultiplyZKP_MultiplyÚaddZKP_AddÚ	separatorZKP_SeparatorÚsubtractZKP_SubtractÚdecimalZ
KP_DecimalÚdivideZ	KP_DivideÚf1ZF1Úf2ZF2Zf3ZF3Zf4ZF4Zf5ZF5Zf6ZF6Zf7ZF7Zf8ZF8Zf9ZF9Zf10ZF10Zf11ZF11Zf12ZF12Zf13ZF13Zf14ZF14Zf15ZF15Zf16ZF16Zf17ZF17Zf18ZF18Zf19ZF19Zf20ZF20Zf21ZF21Zf22ZF22Zf23ZF23Zf24ZF24ZnumlockZNum_LockZ
scrolllockZScroll_LockZ	shiftleftZ
shiftrightZShift_RZctrlleftZ	ctrlrightZ	Control_RZaltleftZaltrightZAlt_Rú Úspaceú	Ú
úz\eú!Zexclamú#Z
numbersignú%Úpercentú$Údollarú&Z	ampersandú"Zquotedblú'Z
apostropheú(Z	parenleftú)Z
parenrightÚ*Zasteriskú=Úequalú+Úplusú,Úcommaú-ÚminusÚ.Zperiodú/Úslashú:Úcolonú;Ú	semicolonú<Úlessú>Zgreaterú?Úquestionú@Úatú[Zbracketleftú]Zbracketrightú\Z	backslashú^ZasciicircumÚ_Z
underscoreú`ZgraveZ	braceleftÚbarZ
bracerightZ
asciitilde)Ú{ú|Ú}ú~Z>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890)NN)(rE   ÚsysÚosr5   r   r   r   ZXlib.displayr   ZXlibr   ZXlib.ext.xtestr   ZXlib.XKr-   ÚplatformÚ	Exceptionr   r   r(   r*   r+   r"   r4   r<   r?   r/   r0   rH   rI   Úenvironr   ÚdictZ	KEY_NAMESrC   ÚupdateZkeysym_to_keycodeZXKZstring_to_keysymÚcr   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«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„ 
ÿ