^
Control Key
#
Windows Key
+
Shift
!
Alt
1KeyWait, Shift
2KeyWait, LWin
3KeyWait, RWin
4
5#NoEnv
6#SingleInstance
7#MaxHotkeysPerInterval 3000
8
9;Process, Priority, , H
10SendMode Input
11
12; Show scroll velocity as a tooltip while scrolling. 1 or 0.
13tooltips := 0
14
15; The length of a scrolling session.
16; Keep scrolling within this time to accumulate boost.
17; Default: 500. Recommended between 400 and 1000.
18timeout := 500
19
20; If you scroll a long distance in one session, apply additional boost factor.
21; The higher the value, the longer it takes to activate, and the slower it accumulates.
22; Set to zero to disable completely. Default: 30.
23boost := 30
24
25; Spamming applications with hundreds of individual scroll events can slow them down.
26; This sets the maximum number of scrolls sent per click, i.e. max velocity. Default: 60.
27limit := 60
28
29; Runtime variables. Do not modify.
30distance := 0
31vmax := 1
32
33; Key bindings
34WheelUp:: Goto Scroll
35WheelDown:: Goto Scroll
36#WheelUp:: Suspend
37#WheelDown:: Goto Quit
38
39Scroll:
40 t := A_TimeSincePriorHotkey
41 if (A_PriorHotkey = A_ThisHotkey && t < timeout)
42 {
43 ; Remember how many times we've scrolled in the current direction
44 distance++
45
46 ; Calculate acceleration factor using a 1/x curve
47 v := (t < 80 && t > 1) ? (150.0 / t) - 1 : 1
48
49 ; Apply boost
50 if (boost > 1 && distance > boost)
51 {
52 ; Hold onto the highest speed we've achieved during this boost
53 if (v > vmax)
54 vmax := v
55 else
56 v := vmax
57
58 v *= distance / boost
59 }
60
61 ; Validate
62 v := (v > 1) ? ((v > limit) ? limit : Floor(v)) : 1
63
64 if (v > 1 && tooltips)
65 QuickToolTip("×"v, timeout)
66
67 MouseClick, %A_ThisHotkey%, , , v
68 }
69 else
70 {
71 ; Combo broken, so reset session variables
72 distance := 0
73 vmax := 1
74
75 MouseClick %A_ThisHotkey%
76 }
77return
78
79Quit:
80 QuickToolTip("Exiting Accelerated Scrolling...", 1000)
81 Sleep 1000
82ExitApp
83
84QuickToolTip(text, delay)
85{
86 ToolTip, %text%
87 SetTimer ToolTipOff, %delay%
88return
89
90ToolTipOff:
91 SetTimer ToolTipOff, Off
92 ToolTip
93return
94}
95
96^space::#space
97+WheelDown::WheelLeft
98+WheelUp::WheelRight
99
100
101#If !(WinActive("ahk_exe ffxiv_dx11.exe"))
102!1::
103Run %comspec% /k code "C:\Users\machingclee\Repos\wonderbricks\2024-02-03-wb-billie-mobile",, Hide
104return
105!2::
106Run %comspec% /k code "C:\Users\machingclee\Repos\wonderbricks\2024-02-03-wb-billie-web",, Hide
107return
108!3::
109Run %comspec% /k code "C:\Users\machingclee\Repos\wonderbricks\2024-02-03-wonderbricks-wiki",, Hide
110return
111!4::
112Run %comspec% /k code "C:\Users\machingclee\Repos\wonderbricks\2024-02-03-wb-backend-node",, Hide
113return
114!9::
115Run %comspec% /k code "C:\Users\machingclee\Repos\freelance\2024-07-30-Alice-Timetable-System-Frontend" && code "C:\Users\machingclee\Repos\freelance\2024-07-30-Alice-Timetable-System-Backend",, Hide
116return
117!0::
118Run %comspec% /k code "C:\Users\machingclee\Repos\2024-02-18-blogs\machingclee.github.io.source\app",, Hide
119return
120!-::
121Run %comspec% /k code "C:\Users\machingclee\Repos\javascript\2024-03-18-react-pdf-rerender-CV-generation",, Hide
122!Numpad1::
123Run %comspec% /k code "C:\Users\machingclee\Repos\freelance\2024-07-30-Alice-Timetable-System-Frontend",, Hide
124return
125!Numpad2::
126Run %comspec% /k idea "C:\Users\machingclee\Repos\freelance\2024-11-23-Alice-Tiemtable-System-Kotlin",, Hide
127return
128#If
129
130
131
132
133
134#Up::
135 Send {LWin down}{Tab down}
136 KeyWait, Up
137 Send {LWin up}{Tab up}
138return
139
140^#A:: Winset, Alwaysontop, , A
141
142#5::
143 Send {ctrl down}{shift down}{alt down}{5}
144 KeyWait, 5
145
146 Send {ctrl up}{shift up}{alt up}
147Return
148
149#4::
150 Send {ctrl down}{shift down}{alt down}{4}
151 KeyWait, 4
152
153 Send {ctrl up}{shift up}{alt up}
154Return
155
156#3::
157 Send {ctrl down}{shift down}{alt down}{3}
158 KeyWait, 3
159
160 Send {ctrl up}{shift up}{alt up}
161Return
162
163#2::
164 Send {ctrl down}{shift down}{alt down}{2}
165 KeyWait, 2
166
167 Send {ctrl up}{shift up}{alt up}
168Return
169
170#1::
171 Send {ctrl down}{shift down}{alt down}{1}
172 KeyWait, 1
173
174 Send {ctrl up}{shift up}{alt up}
175Return
176
177#0::
178 Send {ctrl down}{shift down}{alt down}{0}
179 KeyWait, 0
180
181 Send {ctrl up}{shift up}{alt up}
182Return
183
184#If !(WinActive("ahk_exe ffxiv_dx11.exe") or WinActive("ahk_exe Photoshop.exe") or WinActive("ahk_exe chrome.exe") or WinActive("ahk_exe Code.exe") or WinActive("ahk_exe idea64.exe") or WinActive("ahk_exe TablePlus.exe"))
185^w::
186Send !{Space}n
187Return
188#If
189
190
191
192
193#IfWinActive ahk_exe Unity.exe
194 !MButton:: !LButton
195 Return
196#ifWinActive
197
198#IfWinActive ahk_exe Substance Painter.exe
199 #!LButton::
200 Send {Ctrl down}{RButton down}
201 KeyWait, LButton
202 Send {Ctrl up}{RButton up}
203 Return
204
205 MButton::
206 Send {Ctrl down}{Alt down}{Lbutton down}
207 KeyWait, MButton
208 Send {Ctrl up}{Alt up}{Lbutton up}
209 Return
210
211 !MButton::
212 Send {Alt down}{Lbutton down}
213 KeyWait, MButton
214 Send {Alt up}{Lbutton up}
215 Return
216
217 WheelUp::Send {WheelDown}
218 WheelDown::Send {WheelUp}
219 Return
220#ifWinActive
221
222#IfWinActive ahk_exe sai2.exe
223 #!LButton::^!LButton
224 Esc::Send +{Home}
225
226 ^LButton::
227 Send {Shift down}{Ctrl down}{LButton down}
228 KeyWait, LButton
229
230 Send {Shift up}{Ctrl up}{LButton up}
231 Return
232
233 MButton::
234 Send {Space down}{LButton down}
235 KeyWait, MButton
236
237 Send {Space up}{LButton up}
238 Return
239#ifWinActive
240
241#IfWinActive ahk_exe ZBrush.exe
242 MButton::
243 Loop{
244 GetKeyState, state, Alt
245 If state = D
246 Break
247
248 else
249
250 Send {Alt down}{Rbutton down}
251 KeyWait, MButton
252
253 Send {RButton Up}
254 Sleep, 1
255 Send {alt up}
256 Return
257 }
258 Return
259
260 !MButton::
261 Send {Rbutton down}
262 KeyWait, MButton
263 Send {RButton Up}
264 Return
265#ifWinActive
266
267#IfWinActive ahk_exe maya.exe
268 Mbutton::!MButton
269 !Mbutton:: !LButton
270 Return
271#IfWinActive
272
273#IfWinActive ahk_exe Photoshop.exe
274 MButton::
275 Send {Space Down}
276 Send {LButton Down}
277 KeyWait, MButton
278 Send {LButton Up}
279 Send {Space Up}
280 Return
281#IfWinActive
282
283#IfWinActive ahk_exe Photoshop.exe
284 #!LButton::#!RButton
285 !^RButton::!^LButton
286#IfWinActive
287
288#IfWinActive ahk_exe Photoshop.exe
289 $^z::
290 while(GetKeyState("CTRL", "p") && GetKeyState("z", "p"))
291 {
292 If (A_TimeSinceThisHotkey < 250)
293 {
294 Sendinput ^z
295 sleep, 250
296 }
297 else
298 {
299 SendInput ^z
300 Sleep, 100
301 }
302 }
303 Return
304#IfWinActive
305
306#IfWinActive ahk_exe Photoshop.exe
307 $^y::
308 While (GetKeyState("CTRL", "p") && GetKeyState("y", "p"))
309 {
310 If (A_TimeSinceThisHotkey < 250)
311 {
312 Sendinput ^y
313 sleep, 250
314 }
315 else
316 {
317 SendInput ^y
318 Sleep, 100
319 }
320 }
321 Return
322#ifWinActive
323
324#IfWinActive ahk_exe InDesign.exe
325 MButton::
326 Send {Space down}{LButton down}
327 KeyWait, MButton
328
329 Send {Space up}{LButton up}
330 Return
331#ifWinActive
332
333#IfWinActive ahk_exe ffxiv_dx11.exe
334 NumpadEnd::l
335
336
337 NumpadSub::
338 Send {CtrlDown}{F1}
339 KeyWait, NumpadSub
340 Send {CtrlUp}
341 Return
342
343 NumpadEnter::
344 Send {CtrlDown}{F2}
345 KeyWait, NumpadEnter
346 Send {CtrlUp}
347 Return
348
349 NumpadMult::
350 Send {CtrlDown}{F3}
351 KeyWait, NumpadMult
352 Send {CtrlUp}
353 Return
354
355
356 NumpadAdd::
357 Send {CtrlDown}{F4}
358 KeyWait, NumpadAdd
359 Send {CtrlUp}
360 Return
361
362 NumLock::Return
363
364 Numpad0::
365 Send {CtrlDown}{F7}
366 KeyWait, Numpad0
367 Send {CtrlUp}
368 Return
369
370 NumpadDiv::
371 Send {CtrlDown}{F6}
372 KeyWait, NumpadDiv
373 Send {CtrlUp}
374 Return
375
376
377 NumpadDot::
378 Send {CtrlDown}{F5}
379 KeyWait, NumpadDot
380 Send {CtrlUp}
381 Return
382
383 #G::
384 Send {AltDown}{F12}
385 KeyWait, G
386 Send {AltUp}
387 Return
388
389 NumpadDel::
390 SendInput, {Shift Down}={Shift Up}
391 Return
392#ifWinActive