Skip to content

Instantly share code, notes, and snippets.

@TheV360
Created December 9, 2018 19:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TheV360/30dfef1ba38f39ec072701eac6cbcc24 to your computer and use it in GitHub Desktop.
Save TheV360/30dfef1ba38f39ec072701eac6cbcc24 to your computer and use it in GitHub Desktop.
This ain't it, Luigi. Remember, where there's smoke...............
SendMode Event
CoordMode, Mouse, Window ; Relative to Citra Window
global ScrHeight
WinGetPos,,,, ScrHeight, A
global S := 4 ;(ScrHeight - 67) / 480
global OffX := (74 * S) + 4 ; Where's the Q key
global OffY := (363 * S) + 67 ; Where's the Q key
global KWidth := 25 * S ; Key Width.
global KHeight := 26 * S ; Key height.
global KRowDiff := 12 * S ; X offset between rows, from Q key, I just eyeballed it
global ShiftX := OffX + (KWidth * 0) + (KRowDiff * -1.2)
global ShiftY := OffY + (KHeight * 3)
global ShiftLockY := OffY + (KHeight * 2)
global DirectModeX := OffX + (KWidth * 0) + (KRowDiff * -1)
global EditModeX := OffX + (KWidth * 2) + (KRowDiff * -1)
global ModeY := OffY + (KHeight * 3)
global EditMode := True
global ShiftIsDown := False ; Caps Lock
DoClick(x, y) {
MouseClick, L, x, y, 1, 0, D
Sleep, 8
MouseClick, L, x, y, 1, 0, U
}
Clicky(x, y) {
If (ShiftIsDown <> False) {
DoClick(ShiftX, ShiftLockY)
ShiftIsDown := False
Sleep, 8
}
DoClick(x, y)
}
ShiftClicky(x, y) {
If (ShiftIsDown <> True) {
DoClick(ShiftX, ShiftLockY)
ShiftIsDown := True
Sleep, 8
}
DoClick(x, y)
}
CarelessClicky(x, y) {
DoClick(x, y)
}
CarefulClicky(x, y) {
DoClick(ShiftX, ShiftY)
Sleep, 8
DoClick(x, y)
}
SwapMode() {
If (EditMode) {
CarelessClicky(DirectModeX, ModeY)
} Else {
CarelessClicky(EditModeX, ModeY)
}
}
Loop {
Sleep, 500 ; Update every .5 seconds
; WinGetPos,,, W, H,A
; W := (W - 4) / 400
; H := (H - 67) / 480
#If GetKeyState("CapsLock", "T")
; oh boy
+1::Clicky(OffX + (KWidth * 0) + (KRowDiff * 0), OffY + (KHeight * -2))
+'::Clicky(OffX + (KWidth * 1) + (KRowDiff * 0), OffY + (KHeight * -2))
+3::Clicky(OffX + (KWidth * 2) + (KRowDiff * 0), OffY + (KHeight * -2))
+4::Clicky(OffX + (KWidth * 3) + (KRowDiff * 0), OffY + (KHeight * -2))
+5::Clicky(OffX + (KWidth * 4) + (KRowDiff * 0), OffY + (KHeight * -2))
+7::Clicky(OffX + (KWidth * 5) + (KRowDiff * 0), OffY + (KHeight * -2))
+9::Clicky(OffX + (KWidth * 6) + (KRowDiff * 0), OffY + (KHeight * -2))
+[::ShiftClicky(OffX + (KWidth * 6) + (KRowDiff * 0), OffY + (KHeight * -2))
+0::Clicky(OffX + (KWidth * 7) + (KRowDiff * 0), OffY + (KHeight * -2))
+]::ShiftClicky(OffX + (KWidth * 7) + (KRowDiff * 0), OffY + (KHeight * -2))
-::Clicky(OffX + (KWidth * 8) + (KRowDiff * 0), OffY + (KHeight * -2))
+=::Clicky(OffX + (KWidth * 9) + (KRowDiff * 0), OffY + (KHeight * -2))
=::Clicky(OffX + (KWidth * 10) + (KRowDiff * 0), OffY + (KHeight * -2))
1::Clicky(OffX + (KWidth * 0) + (KRowDiff * -1), OffY + (KHeight * -1))
2::Clicky(OffX + (KWidth * 1) + (KRowDiff * -1), OffY + (KHeight * -1))
3::Clicky(OffX + (KWidth * 2) + (KRowDiff * -1), OffY + (KHeight * -1))
4::Clicky(OffX + (KWidth * 3) + (KRowDiff * -1), OffY + (KHeight * -1))
5::Clicky(OffX + (KWidth * 4) + (KRowDiff * -1), OffY + (KHeight * -1))
6::Clicky(OffX + (KWidth * 5) + (KRowDiff * -1), OffY + (KHeight * -1))
7::Clicky(OffX + (KWidth * 6) + (KRowDiff * -1), OffY + (KHeight * -1))
8::Clicky(OffX + (KWidth * 7) + (KRowDiff * -1), OffY + (KHeight * -1))
+6::ShiftClicky(OffX + (KWidth * 7) + (KRowDiff * -1), OffY + (KHeight * -1))
9::Clicky(OffX + (KWidth * 8) + (KRowDiff * -1), OffY + (KHeight * -1))
0::Clicky(OffX + (KWidth * 9) + (KRowDiff * -1), OffY + (KHeight * -1))
[::Clicky(OffX + (KWidth * 10) + (KRowDiff * -1), OffY + (KHeight * -1))
]::Clicky(OffX + (KWidth * 11) + (KRowDiff * -1), OffY + (KHeight * -1))
q::ShiftClicky(OffX + (KWidth * 0) + (KRowDiff * 0), OffY + (KHeight * 0))
w::ShiftClicky(OffX + (KWidth * 1) + (KRowDiff * 0), OffY + (KHeight * 0))
e::ShiftClicky(OffX + (KWidth * 2) + (KRowDiff * 0), OffY + (KHeight * 0))
r::ShiftClicky(OffX + (KWidth * 3) + (KRowDiff * 0), OffY + (KHeight * 0))
t::ShiftClicky(OffX + (KWidth * 4) + (KRowDiff * 0), OffY + (KHeight * 0))
y::ShiftClicky(OffX + (KWidth * 5) + (KRowDiff * 0), OffY + (KHeight * 0))
u::ShiftClicky(OffX + (KWidth * 6) + (KRowDiff * 0), OffY + (KHeight * 0))
i::ShiftClicky(OffX + (KWidth * 7) + (KRowDiff * 0), OffY + (KHeight * 0))
o::ShiftClicky(OffX + (KWidth * 8) + (KRowDiff * 0), OffY + (KHeight * 0))
p::ShiftClicky(OffX + (KWidth * 9) + (KRowDiff * 0), OffY + (KHeight * 0))
a::ShiftClicky(OffX + (KWidth * 0) + (KRowDiff * 1), OffY + (KHeight * 1))
s::ShiftClicky(OffX + (KWidth * 1) + (KRowDiff * 1), OffY + (KHeight * 1))
d::ShiftClicky(OffX + (KWidth * 2) + (KRowDiff * 1), OffY + (KHeight * 1))
f::ShiftClicky(OffX + (KWidth * 3) + (KRowDiff * 1), OffY + (KHeight * 1))
g::ShiftClicky(OffX + (KWidth * 4) + (KRowDiff * 1), OffY + (KHeight * 1))
h::ShiftClicky(OffX + (KWidth * 5) + (KRowDiff * 1), OffY + (KHeight * 1))
j::ShiftClicky(OffX + (KWidth * 6) + (KRowDiff * 1), OffY + (KHeight * 1))
k::ShiftClicky(OffX + (KWidth * 7) + (KRowDiff * 1), OffY + (KHeight * 1))
l::ShiftClicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 1))
z::ShiftClicky(OffX + (KWidth * 0) + (KRowDiff * 2), OffY + (KHeight * 2))
x::ShiftClicky(OffX + (KWidth * 1) + (KRowDiff * 2), OffY + (KHeight * 2))
c::ShiftClicky(OffX + (KWidth * 2) + (KRowDiff * 2), OffY + (KHeight * 2))
v::ShiftClicky(OffX + (KWidth * 3) + (KRowDiff * 2), OffY + (KHeight * 2))
b::ShiftClicky(OffX + (KWidth * 4) + (KRowDiff * 2), OffY + (KHeight * 2))
n::ShiftClicky(OffX + (KWidth * 5) + (KRowDiff * 2), OffY + (KHeight * 2))
m::ShiftClicky(OffX + (KWidth * 6) + (KRowDiff * 2), OffY + (KHeight * 2))
+q::Clicky(OffX + (KWidth * 0) + (KRowDiff * 0), OffY + (KHeight * 0))
+w::Clicky(OffX + (KWidth * 1) + (KRowDiff * 0), OffY + (KHeight * 0))
+e::Clicky(OffX + (KWidth * 2) + (KRowDiff * 0), OffY + (KHeight * 0))
+r::Clicky(OffX + (KWidth * 3) + (KRowDiff * 0), OffY + (KHeight * 0))
+t::Clicky(OffX + (KWidth * 4) + (KRowDiff * 0), OffY + (KHeight * 0))
+y::Clicky(OffX + (KWidth * 5) + (KRowDiff * 0), OffY + (KHeight * 0))
+u::Clicky(OffX + (KWidth * 6) + (KRowDiff * 0), OffY + (KHeight * 0))
+i::Clicky(OffX + (KWidth * 7) + (KRowDiff * 0), OffY + (KHeight * 0))
+o::Clicky(OffX + (KWidth * 8) + (KRowDiff * 0), OffY + (KHeight * 0))
+p::Clicky(OffX + (KWidth * 9) + (KRowDiff * 0), OffY + (KHeight * 0))
+a::Clicky(OffX + (KWidth * 0) + (KRowDiff * 1), OffY + (KHeight * 1))
+s::Clicky(OffX + (KWidth * 1) + (KRowDiff * 1), OffY + (KHeight * 1))
+d::Clicky(OffX + (KWidth * 2) + (KRowDiff * 1), OffY + (KHeight * 1))
+f::Clicky(OffX + (KWidth * 3) + (KRowDiff * 1), OffY + (KHeight * 1))
+g::Clicky(OffX + (KWidth * 4) + (KRowDiff * 1), OffY + (KHeight * 1))
+h::Clicky(OffX + (KWidth * 5) + (KRowDiff * 1), OffY + (KHeight * 1))
+j::Clicky(OffX + (KWidth * 6) + (KRowDiff * 1), OffY + (KHeight * 1))
+k::Clicky(OffX + (KWidth * 7) + (KRowDiff * 1), OffY + (KHeight * 1))
+l::Clicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 1))
+z::Clicky(OffX + (KWidth * 0) + (KRowDiff * 2), OffY + (KHeight * 2))
+x::Clicky(OffX + (KWidth * 1) + (KRowDiff * 2), OffY + (KHeight * 2))
+c::Clicky(OffX + (KWidth * 2) + (KRowDiff * 2), OffY + (KHeight * 2))
+v::Clicky(OffX + (KWidth * 3) + (KRowDiff * 2), OffY + (KHeight * 2))
+b::Clicky(OffX + (KWidth * 4) + (KRowDiff * 2), OffY + (KHeight * 2))
+n::Clicky(OffX + (KWidth * 5) + (KRowDiff * 2), OffY + (KHeight * 2))
+m::Clicky(OffX + (KWidth * 6) + (KRowDiff * 2), OffY + (KHeight * 2))
+2::Clicky(OffX + (KWidth * 10) + (KRowDiff * 0), OffY + (KHeight * 0))
`::ShiftClicky(OffX + (KWidth * 9) + (KRowDiff * 0), OffY + (KHeight * 0))
+8::Clicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * 0))
+\::Clicky(OffX + (KWidth * -1) + (KRowDiff * 1), OffY + (KHeight * 1))
`;::Clicky(OffX + (KWidth * 9) + (KRowDiff * 1), OffY + (KHeight * 1))
:::Clicky(OffX + (KWidth * 10) + (KRowDiff * 1), OffY + (KHeight * 1))
+/::Clicky(OffX + (KWidth * -1) + (KRowDiff * 2), OffY + (KHeight * 2))
,::Clicky(OffX + (KWidth * 7) + (KRowDiff * 2), OffY + (KHeight * 2))
.::Clicky(OffX + (KWidth * 8) + (KRowDiff * 2), OffY + (KHeight * 2))
'::Clicky(OffX + (KWidth * 9) + (KRowDiff * 2), OffY + (KHeight * 2))
+,::Clicky(OffX + (KWidth * 6) + (KRowDiff * 1), OffY + (KHeight * 3))
+.::Clicky(OffX + (KWidth * 7) + (KRowDiff * 1), OffY + (KHeight * 3))
+-::Clicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 3))
/::Clicky(OffX + (KWidth * 9) + (KRowDiff * 1), OffY + (KHeight * 3))
\::ShiftClicky(OffX + (KWidth * 9) + (KRowDiff * 1), OffY + (KHeight * 3))
Space::
+Space::CarelessClicky(OffX + (KWidth * 3) + (KRowDiff * 4), OffY + (KHeight * 3))
Enter::
+Enter::CarelessClicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * 2))
Backspace::CarelessClicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * -2))
+Backspace::CarefulClicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * -2))
Delete::CarelessClicky(OffX + (KWidth * 12) + (KRowDiff * -1), OffY + (KHeight * -1))
+Delete::CarefulClicky(OffX + (KWidth * 12) + (KRowDiff * -1), OffY + (KHeight * -1))
F1::CarelessClicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * -3))
;F5::CarefulClicky(OffX + (KWidth * 0) + (KRowDiff * 0), OffY + (KHeight * -4.5))
^s::CarefulClicky(OffX + (KWidth * 0) + (KRowDiff * 0), OffY + (KHeight * -4.5))
^d::
CarelessClicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 4))
CarelessClicky(OffX + (KWidth * 9) + (KRowDiff * 1), OffY + (KHeight * 4))
Return
^y::CarefulClicky(OffX + (KWidth * 11) + (KRowDiff * 1), OffY + (KHeight * 4))
^f::CarelessClicky(OffX + (KWidth * 11) + (KRowDiff * 0), OffY + (KHeight * -3.5))
^z::CarelessClicky(OffX + (KWidth * 11) + (KRowDiff * 1), OffY + (KHeight * 4))
^x::CarefulClicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 4))
^c::CarelessClicky(OffX + (KWidth * 8) + (KRowDiff * 1), OffY + (KHeight * 4))
^v::CarelessClicky(OffX + (KWidth * 9) + (KRowDiff * 1), OffY + (KHeight * 4))
#If
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment