
    it=                     L   S SK r S SKr S SKrS SKrS SKrS SKJrJrJr  \R                  S:w  a  \	" S5      e \
" \R                   V s/ s H  o S4PM     sn 5      r\R                  0 SS _SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_0 S'S(_S)S(_S*S+_S,S+_S-S._S/S._S0S1_S2S1_S3S4_S5S4_S6S7_S8S7_S9S:_S;S:_S<S=_S>S=_S?S@_E0 SAS@_SBSC_SDSC_SESF_SGSF_SHSI_SJSI_SKSL_SMSL_SNSO_SPSQ_SRSS_STSS_SUSV_SWSX_SYSZ_S[S\_E0 S]S^_S_S^_S`Sa_SbSc_SdSc_SeSf_SgSf_ShSi_SjSi_SkSl_SmSl_SnSo_SpSq_SrSs_StSs_SuSv_SwSv_E0 SxSy_SzSy_S{S|_S}S|_S~S|_SS|_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_ESSSSSSSSSSSSSSS.E5         S H  r\\   \\R                  5       '   M     0 SS _SS_SS
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS _SS"_SS$_S&S(S+S.S1S4S7S.ErS rS rS rS rS rS rGSS jr GSS jrGSS jrS rS rS rSqS rGSS jrGS  r GS r!GS r"g!    S5       e= fs  sn f (      NzfYou must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html)LEFTMIDDLERIGHTdarwinzAThe pyautogui_osx module should only be loaded on an OS X system.as   d   f   h   g   z   x   c   v	   b   q   w   e   r   y   t   1   !2   @3   #4   $6   ^5   %=   +9   (7   &-   _8   *0   )]   }o   u    [!   {i"   p#   l%   j&   ''   "k(   ;)   :\*   |,+   </,   ?n-   m.   ./   >`2   ~ 1   space$   
enterreturn	0   tab	backspace3   esc5   escapecommand7   shift8   	shiftleftcapslock9   option:   
optionleftaltaltleftctrl;   ctrlleft
shiftright<   optionright=   	ctrlright>   fn?   f17@   volumeupH   
volumedownI   
volumemuteJ   f18O   f19P   f20Z   f5`   f6a   f7b   f3c   f8d   f9e   f11g   f13i   f16j   f14k   f10m   f12o   f15q   helpr   homes   pageupt   pgupdelu   v   w   x   y   z   {   |   }   ~   ]   f   h   )deletef4endf2pagedownpgdnf1leftrightdownupyeneisukanaabcdefghijklmnopqrstuvwxyzKEYTYPE_SOUND_UPKEYTYPE_SOUND_DOWNKEYTYPE_BRIGHTNESS_UPKEYTYPE_BRIGHTNESS_DOWNKEYTYPE_CAPS_LOCKKEYTYPE_HELP	POWER_KEYKEYTYPE_MUTEUP_ARROW_KEYDOWN_ARROW_KEYKEYTYPE_NUM_LOCK
   KEYTYPE_CONTRAST_UPKEYTYPE_CONTRAST_DOWNKEYTYPE_LAUNCH_PANELKEYTYPE_EJECTKEYTYPE_VIDMIRRORKEYTYPE_PLAY)KEYTYPE_NEXTKEYTYPE_PREVIOUSKEYTYPE_FASTKEYTYPE_REWINDKEYTYPE_ILLUMINATION_UPKEYTYPE_ILLUMINATION_DOWNKEYTYPE_ILLUMINATION_TOGGLEc                 t    U [         ;  d
  [         U    c  g U [        ;   a  [        U S5        g [        U S5        g )Nr   keyboardMappingspecial_key_translate_table_specialKeyEvent_normalKeyEventkeys    EC:\des-py\RoboSAPF\venv\Lib\site-packages\pyautogui/_pyautogui_osx.py_keyDownr     s4    
/!_S%9%A
))f%V$    c                 t    U [         ;  d
  [         U    c  g U [        ;   a  [        U S5        g [        U S5        g )Nr   r  r  s    r  _keyUpr     s4    
/!_S%9%A
))d#T"r  c                 l   US;   d   S5       e [         R                  " U 5      (       a  [        U R                  5          n[        R
                  " S [        S   US:H  5      n[        R                  " [        R                  U5        [        R                  " [         R                  5        O	[        U    n[        R
                  " S X!S:H  5      n[        R                  " [        R                  U5        [        R                  " [         R                  5        g ! [         a    [        SU -  5      ef = f)Nr   r   &upDown argument must be 'up' or 'down'r   r   zKey %s not implemented.)	pyautoguiisShiftCharacterr  lowerQuartzCGEventCreateKeyboardEventCGEventPostkCGHIDEventTaptimesleepDARWIN_CATCH_UP_TIMEKeyErrorRuntimeError)r  upDownkey_codeevents       r  r  r     s    ^#M%MM#>%%c**&syy{3H55d'0&F2BDEv44e<JJy556 's+H11$FBRS600%8

9112
  >4<==>s   D
D D3c                    US;   d   S5       e[         U    n[        R                  R                  [        R
                  SUS:X  a  SOSSSSSUS	-  US:X  a  S
OSS-  -  S5	      n[        R                  " SUR                  5       5        g)ztHelper method for special keys.

Source: http://stackoverflow.com/questions/11045814/emulate-media-key-press-on-mac
r  r  )r   r   r   i 
  i   r   r   r%   r   r   N)r	  AppKitNSEvent]otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_r  NSSystemDefinedr  CGEvent)r  r"  r#  evs       r  r
  r
    s    
 ^#M%MM#*3/H		u	u""v%E5^&(8ca GH


B q"**,'r  c                      [         R                  R                  5       n [        U R                  5      [        [
        R                  " S5      U R                  -
  5      4$ Nr   )r'  r(  mouseLocationintr   r  CGDisplayPixelsHighr$   )locs    r  	_positionr3  '  s@    
..
&
&
(Csuu:s655a8355@AAAr  c                      [         R                  " [         R                  " 5       5      [         R                  " [         R                  " 5       5      4$ N)r  CGDisplayPixelsWideCGMainDisplayIDr1   r  r  _sizer9  ,  s6    %%f&<&<&>?A[A[\b\r\r\tAuuur  c                     [        XU5        g r5  )_vscroll)clicksr   r$   s      r  _scrollr=  1  s    Vr  c                    [        X5        [        U 5      n [        [        U 5      S-  5       HW  n[        R
                  " S [        R                  SU S:  a  SOS5      n[        R                  " [        R                  U5        MY     [        R
                  " S [        R                  SU S:  a  U S-  OSU * S-  -  5      n[        R                  " [        R                  U5        g )Nr   r	   r   r&  	_moveTor0  rangeabsr  CGEventCreateScrollWheelEventkCGScrollEventUnitLiner  r  r<  r   r$   rE   scrollWheelEvents        r  r;  r;  ;  s    AM[F3v;"$%!??))A+B3	(
 	6002BC & ;;%%	{vgl(;	=
 v,,.>?r  c           	         [        X5        [        U 5      n [        [        U 5      S-  5       HX  n[        R
                  " S [        R                  SSU S:  a  SOS5      n[        R                  " [        R                  U5        MZ     [        R
                  " S [        R                  SSU S:  a  U S-  OSU -  S-  5      n[        R                  " [        R                  U5        g )Nr   r   r   r?  r&  r@  rF  s        r  _hscrollrI  N  s    AM[F3v;"$%!??))A+B3( 	6002BC & ;;%%		1"2;+;> v,,.>?r  c                 H   U[         :X  a*  [        [        R                  X[        R                  5        g U[
        :X  a*  [        [        R                  X[        R                  5        g U[        :X  a*  [        [        R                  X[        R                  5        g  S5       eNz2button argument not in ('left', 'middle', 'right'))r   _sendMouseEventr  kCGEventLeftMouseDownkCGMouseButtonLeftr   kCGEventOtherMouseDownkCGMouseButtonCenterr   kCGEventRightMouseDownkCGMouseButtonRightr   r$   buttons      r  
_mouseDownrU  c  sk    ~44aF<U<UV	6	55qV=X=XY	555qV=W=WXJJJur  c                 H   U[         :X  a*  [        [        R                  X[        R                  5        g U[
        :X  a*  [        [        R                  X[        R                  5        g U[        :X  a*  [        [        R                  X[        R                  5        g  S5       erK  )r   rL  r  kCGEventLeftMouseUprN  r   kCGEventOtherMouseUprP  r   kCGEventRightMouseUprR  rS  s      r  _mouseUprZ  n  sk    ~22A&:S:ST	6	33Q6;V;VW	533Q6;U;UVJJJur  c                 >   U[         :X  aS  [        [        R                  X[        R                  5        [        [        R
                  X[        R                  5        g U[        :X  aS  [        [        R                  X[        R                  5        [        [        R                  X[        R                  5        g U[        :X  aS  [        [        R                  X[        R                  5        [        [        R                  X[        R                  5        g  S5       erK  )r   rL  r  rM  rN  rW  r   rO  rP  rX  r   rQ  rR  rY  rS  s      r  _clickr\  y  s    ~44aF<U<UV22A&:S:ST	6	55qV=X=XY33Q6;V;VW	555qV=W=WX33Q6;U;UVJJJur  c                       [         c  Sq [         $ )NF)_mouse_is_swapped_settingr8  r  r  _mouse_is_swappedr_    s    
 !($)!$$r  c                    S nS nS nU[         :X  a1  [        R                  n[        R                  n[        R                  nO}U[
        :X  a1  [        R                  n[        R                  n[        R                  nOBU[        :X  a1  [        R                  n[        R                  n[        R                  nO S5       e[        U5       H%  n[        XU5        [        R                   " U5        M'     g rK  )r   r  rN  rM  rW  r   rP  rO  rX  r   rR  rQ  rY  rB  r\  r  r  )	r   r$   rT  numintervalbtnr   r   rV   s	            r  _multiClickrd    s    CDB~((++))	6	**,,**	5)),,**JJJu 3ZqV

8 r  c                     [         R                  " S XU4U5      n[         R                  " [         R                  U5        g r5  )r  CGEventCreateMouseEventr  r  )r,  r   r$   rT  
mouseEvents        r  rL  rL    s0    //ba&&IJ
v,,j9r  c                    U[         :X  a*  [        [        R                  X[        R                  5        OoU[
        :X  a*  [        [        R                  X[        R                  5        O;U[        :X  a*  [        [        R                  X[        R                  5        O S5       e[        R                  " [        R                  5        g rK  )r   rL  r  kCGEventLeftMouseDraggedrN  r   kCGEventOtherMouseDraggedrP  r   kCGEventRightMouseDraggedrR  r  r  r  r  rS  s      r  _dragTorl    s}    ~77!@Y@YZ	6	881A\A\]	5881A[A[\JJJuJJy--.r  c                     [        [        R                  XS5        [        R                  " [
        R                  5        g r.  )rL  r  kCGEventMouseMovedr  r  r  r  )r   r$   s     r  rA  rA    s&    F--qQ7JJy--.r  )NN)g        )#r  sysr  r'  r  r   r   r   platform	Exceptiondict	KEY_NAMESr  updater   upperr	  r  r  r  r
  r3  r9  r=  r;  rI  rU  rZ  r\  r^  r_  rd  rL  rl  rA  r  s   0r  <module>rv     s    
{   ) )<<H
W
XXV y/B/BC/Bd/BCD    HHH H 	H
 H H H H H H H H H H H  !H" #H$ %H& 'H( )H* +H, -H. /H0 1H2 3H4 5H6 7H8 9H: ;H< =H> ?H@ AHB CHD EHF GHH IHJ KHL MHN OHP QHR SHT UHV WHX YHZ [H\ ]H^ _H` aHb cHd eHf gHh iHj kHl mHn oHp qHr 	$sHt uHv wHx yHz {H| }H~ H@ AHB CHD EHF GHH IHJ KHL TMHN 	$OHP 	$QHR TSHT dUHV 	$WHX 
4YHZ [H\ 	$]H^ 
4_H` daHb tcHd TeHf gHh iHj dkHl $mHn 
4oHp tqHr DsHt uHv $wHx 4yHz {H| 	$}H~ 
4H@ AHB $CHD $EHF 
4GHH 
4IHJ 
4KHL 	$MHN 	$OHP 	$QHR 	$SHT 	$UHV 	$WHX 
4YHZ 
4[H\ 
4]H^ 
4_H` 
4aHb 
4cHd 
4eHf DgHh DiHj dkHl DmHn 
4oHp 



 OH HT. 
&A!0!3OAGGI 
&
! Q q	
  A  A A a  2 R B R  !" B#$ !!##%1 6%#>4(>B
v
@&@*KKK ! %4:
	//q{zzz5$ Ds   J 	J!	J