-
Notifications
You must be signed in to change notification settings - Fork 0
/
Overengineer Siren Control.ahk
89 lines (81 loc) · 2.13 KB
/
Overengineer Siren Control.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#Persistent ; Keep the script running
SetKeyDelay, 50 ; Set the delay between key presses (in milliseconds)
; Initialize variables
cycleIndex := 1
cycleMode := true ; Flag to toggle between cycle mode and normal mode
HideTrayTip() {
TrayTip ; Attempt to hide it the normal way.
if SubStr(A_OSVersion,1,3) = "10." {
Menu Tray, NoIcon
Sleep 200 ; It may be necessary to adjust this sleep.
Menu Tray, Icon
}
}
; Define the hotkey for pressing g
g::
if (cycleMode) {
; Press and hold h for 110 milliseconds
SendInput, {h down}
Sleep, 110
SendInput, {h up}
; Cycle through r, t, and y
if (cycleIndex = 1) {
SendInput, {r down}{r up}
cycleIndex := 2
}
else if (cycleIndex = 2) {
SendInput, {t down}{t up}
cycleIndex := 3
}
else if (cycleIndex = 3) {
SendInput, {y down}{y up}
cycleIndex := 1
}
}
else {
g::g ; Send 'g' as a normal typeable key
}
return
; Define the hotkey for pressing Shift + G
+g::
if (cycleMode) {
; Press and hold h for 110 milliseconds
SendInput, {h down}
Sleep, 110
SendInput, {h up}
Sleep, 50
SendInput, {h down}
Sleep, 110
SendInput, {h up}
; Cycle through r, t, and y
if (cycleIndex = 2) {
SendInput, {r down}{r up}
cycleIndex := 1
}
else if (cycleIndex = 3) {
SendInput, {t down}{t up}
cycleIndex := 1
}
else if (cycleIndex = 1) {
SendInput, {y down}{y up}
cycleIndex := 1
}
}
else {
+g::+g ; Send 'Shift + G' as a normal typeable key
}
return
; Define the hotkey for toggling cycle mode
F10::
cycleMode := !cycleMode ; Toggle the flag
if (cycleMode) {
TrayTip Siren mode enabled, This is siren mode
Sleep 2500
HideTrayTip()
}
else {
TrayTip Normal mode enabled, This is typing mode
Sleep 2500
HideTrayTip()
}
return