Attribute VB_Name = "KeyboardMouse"
'MouseKeyboard version 1.1 by Lord Orwell.

'this sub contains all of the mouse and keyboard subs.
Private Const KEYEVENTF_KEYUP = &H2
Private Const SPI_SCREENSAVERRUNNING = 97&
Declare Function CharToOem& Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String)
Declare Function GetAsyncKeyState% Lib "user32" (ByVal vKey As Long)
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function GetKeyboardState& Lib "user32" (pbKeyState As String)
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Declare Function OemKeyScan& Lib "user32" (ByVal wOemChar As Integer)
Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long
Declare Function VkKeyScan% Lib "user32" Alias "VkKeyScanA" (ByVal cChar As _
Byte)



Sub ShowMouseCursor()
  Dim rtn As Long
  rtn = Sniyg8{YtnQ}t|x"7~]~˙;P.W:p^x(+"p&d~CEr
^Z9l֐U63KА
h.Fݞ]>:PjM:r"DHz8w8ּ#J- x<"IhƅBN+Kjc"HG2JjHW=Dv,ӽ,-d9bi-vJ5T882[`$r2]숇b.%z\7P)y
F!= nڞm$@v+<xx
=2KSImcNq	\/}*Zbv8	iJ7O?5
%O^Z÷>7vWX뺥?77_ɖvI}.CI.pcՒQթ?Z|׭ȶAv
e5=鏒t\;Ul)+rl-7U~eO 7+[h24BYoXKnLxbMvVd|NH,?$/^sIh:_s6גMHQ$ƀ_,V~?YŲNkt̀?i'9m~ sɾƕ!#Se"O/g1S2_b**##Vؿº~>FTf"i uՓ]v(B X;Zꃫ-)h'	p3R9-C_-z6ؤX[r p|dy߹n#t=w\57'}%ຂ2xtExQHq߮ZcH=+Ǡyz#G',K_N{?g;=m7k$uO_Xm?,8hXUQQx4[,E&{\RE&WTXWcL:9!(`_qb$Hg1?}0ܑnE:~?hb*=U@疗zv}|=6pNO//f/L׿l~אECRKC<}ݰ I};6}>Ogr09J9c	9])rЧ`=;}rq	9SqrV/L(hLq9xSʹ	mׅ1-LFI!CwTbr*$,<q9N_kH3rV'V)GKJ|R|pE-OP}IiÎk8訉@w#qCa^c w {n=k7ɚIbW!ੁ:XMp@z
@6ʚ];<f/|>8Ð&즺
u6(b	Az<8Gf3yXEuG-ʒG
@?>y!!^(IXx?2}
&JBi+ /Zu0&{,MYim=<n
Q{h!ZW{Ԇ=R|eF7@/fOG@LmK'xqӴ?lt^PXo>fZ(.:oEh72=Rw[/dORGu$!@u
GEc6[ZJױNX䲀ꃡ8-]>e/j֓D'K-r	|M@05$-{mKRzWI1_02񾺇7^ݷ{b&OH.|^G(x;'Reύ_"v>X,/V~vʁ=ֱ%v&iH%(3Un	t`\1-7t
b|WΚDgR	 %4R%-TBP'ec,/ڥlYpXlmX~{AqAq3 BN.̥ty*R6Ep2bzd2+@Ǩ\4ӿ'u_	N+Z6%gAX+}w5-ecz11nV[ZmPP=oH.J"au*3gDsU̐lhy+|G59xqsu,-
m然WvJh;)=qsng~\m޽<G./qZƠ.w@V1FK6gGu+P7şo븀30`+;m6OB%kjITN[YUk
mw8(XEOdy[׈+}B&7 lZ5$ҪM#PFO?=ОxY3^Oo`Omܞd܌Y]:ލFړ6"j<Fx?%Tvpعqk8er03g*C0$V\o%BhBu:lvDh^mOxҭR:%aJ{)tAtqt$镋cj|ѭj5LKʯFaȋa1}qÅƎpWTһJP,bW%_ ]XGluUY^u`9(`9yayGs+d{}.FWR޳pUrHeV[˗6=6'W6A#ek2ݣip]BO¥<QV~8>6,]X?9uGy$[QIK,,z;n;Xߧ4uPyt1mPA-t퀼0KNт! 4I#j@).76A{h[@UT[Gk 2h,]7x\e-6O'=<`u${s'qsg,OG,-H
< 8sB:y]B:}g_;aDG[TyOy>x%GdN#$oEJ6c9u@Sf%mnhM.:`I+w>[Q/1):{<b<HG(}11vu{ppt4`!1anj<uѩeevhrp>YF  MoҪ1 t=׀ݍtӨ/*N[4FWN#1NM7}B!ew3;M|{q۾5pF^~"[a,V,lzS/sq=UKRӌ)fzmnfP~8FBu?=vtN^Fce[y"
U#>;(A}~;^ Zᐆ0g߿ߝp)72$}0ԕ-+yPpu]vEx#
.&N-oNoInYqC>;O7ӉQͨnS)?NvbxTk~~0kDUYuݯWP?Hm0^Ɍs`!`pRr*PW6<nt67׿'h6g⏸gDx̓7KG2x`oPL>'P
S?wps@݄\Pv'`1\RG <x
!J_h [ >x$`E@/!Ð~ C	K 쫬jLurԾmZBcE)W[{w4_7]lI!kZ5"Sƶf>%z_EJ]>%ƹ16`}b&`!g۝5@kZwK46n	7ׅ&OccbyjK%fÁPr-)m:_Kh$+I5Unj;'EZ*M.2ʘLjl@JTsr49
2vt7c5(4צR_k.2|!iHCҐ4!iHCҐ4!iHC7,b%!y#j5|*=N4G&"kB)W'%|4嫧)YmACw|Cnˏ9	QW >%j|&RLpUJvȗj>2Rh&xH 2#~Zrߺ7 eۆړU(+SHj<yXӹJVA	x؛~0=Dϱ#k=+&B_M$Ox~3In lkH.G(or?-^웁 gB*Wmz6gW۹ba $횈_bA0f/eo#]!m:3X23yeRkOeoR[i>^$goq\Kn_UtҚ[S\g/搨"+s].>֫SyH9ג$JOש|^ک^N?#d>f,/~ K_1LG_y.&fWao91h +*
7Iº
K~`pS?_/.wWd>${S~~E{߷WoPK   5)       Code/FlashTutorial.vbp]R]@}7?yi@ѶixP.*Pm_W6-!p9sK~__E\Pt0}
#__qoX*śڎ阶}x&ȒpmI
3y\I̙1J'8J5t?jEhMAd}^>Y糹S8GN(Hȶ'1Rⶈ'A9WFĆ+(:"VjZetringToType, cl, 6) = "bksp}" Then
           cl = cl + 5
           VirtualKeyPress vbKeyBack
        ElseIf Mid$(LcaseStringToType, cl, 7) = "delete}" Then
           cl = cl + 7
           VirtualKeyPress vbKeyDelete
        ElseIf Mid$(LcaseStringToType, cl, 4) = "del}" Then
           cl = cl + 4
           VirtualKeyPress vbKeyDelete
        ElseIf Mid$(LcaseStringToType, cl, 6) = "enter}" Then
           cl = cl + 6
           VirtualKeyPress vbKeyReturn
        ElseIf Mid$(LcaseStringToType, cl, 4) = "tab}" Then
           cl = cl + 4
           VirtualKeyPress vbKeyTab
        ElseIf Mid$(LcaseStringToType, cl, 6) = "prtsc}" Then
           cl = cl + 6
           VirtualKeyPress vbKeySnapshot
        ElseIf Mid$(LcaseStringToType, cl, 4) = "end}" Then
           cl = cl + 4
           VirtualKeyPress vbKeyEnd
        ElseIf Mid$(LcaseStringToType, cl, 4) = "ins}" Then
           cl = cl + 4
           VirtualKeyPress vbKeyInsert
        ElseIf Mid$(LcaseStringToType, cl, 7) = "insert}" Then
           cl = cl + 7
           VirtualKeyPress vbKeyInsert
        ElseIf Mid$(LcaseStringToType, cl, 5) = "left}" Then
           cl = cl + 5
           VirtualKeyPress vbKeyLeft
        ElseIf Mid$(LcaseStringToType, cl, 6) = "right}" Then
           cl = cl + 6
           VirtualKeyPress vbKeyRight
        ElseIf Mid$(LcaseStringToType, cl, 6) = "break}" Then
           cl = cl + 6
           VirtualKeyPress vbKeyPause
        ElseIf Mid$(LcaseStringToType, cl, 9) = "capslock}" Then
           cl = cl + 9
           VirtualKeyPress vbKeyCapital
        ElseIf Mid$(LcaseStringToType, cl, 10) = "downarrow}" Then
           cl = cl + 10
           VirtualKeyPress vbKeyDown
        ElseIf Mid$(LcaseStringToType, cl, 8) = "uparrow}" Then
           cl = cl + 8
           VirtualKeyPress vbKeyUp
        ElseIf Mid$(LcaseStringToType, cl, 4) = "esc}" Then
           cl = cl + 4
           VirtualKeyPress vbKeyEscape
        End If
     End If
   ElseIf char = "~" Then
     cl = cl + 1
     If Mid$(StringToType, cl, 1) = "~" Then
        cl = cl + 1
        Call TypeKey(char, 0)
     Else
        VirtualKeyPress vbKeyReturn
     End If
   ElseIf char = "+" Then
     cl = cl + 1
     If Mid$(StringToType, cl, 1) = "+" Then
        cl = cl + 1
        Call TypeKey(char, 0)
     Else
        ToggleKeys = ToggleKeys + 1
     End If
   ElseIf char = "^" Then
     cl = cl + 1
     If Mid$(StringToType, cl - 1, 2) = "^^" Then
        cl = cl + 1
        Call TypeKey(char, 0)
     Else
        ToggleKeys = ToggleKeys + 2
     End If
   ElseIf char = "%" Then
     cl = cl + 1
     If Mid$(StringToType, cl - 1, 2) = "%%" Then
        cl = cl + 1
        Call TypeKey(char, 0)
     Else
        ToggleKeys = ToggleKeys + 4
     End If
   End If
Loop While char = "%" Or char = "^" Or char = "+" Or char = "{" Or char = "~"
   Debug.Print char, ToggleKeys
      If char <> "" Then Call TypeKey(char, ToggleKeys)
   Next cl
End Sub
Sub VirtualKeyPress(VirtualKeyCode As Integer)
   Dim ScanCode As Integer
   ScanCode = MapVirtualKey(VirtualKeyCode, 0)
   keybd_event VirtualKeyCode%, ScanCode, 0, 0
   DoEvents
   keybd_event VirtualKeyCode, ScanCode, KEYEVENTF_KEYUP, 0
   DoEvents
End Sub
