Create startup.ahk

Create startup.ahk

#NoEnv
#Warn
SendMode Input
SetWorkingDir %A_ScriptDir%
Menu, Tray, Icon, D:\Miscellaneous\Icons\classic_MyAHKScript.ico

; If (!GetKeyState("NumLock", "T")) {
; 	SendEvent {NumLock}
; }
SetScrollLockState, On

on_exit(ExitReason, ExitCode) {
	If ExitReason in Logoff,Shutdown
	{
		; SetNumLockState, Off
		SetScrollLockState, Off
	}
	Return 0
}
OnExit("on_exit")

title = Symbol Palette
key_width4 := 48
key_height := 48
font_family = M+ 1c
font_size := 18

key_width5 := key_width4 * 1.25
key_width6 := key_width4 * 1.5
key_width7 := key_width4 * 1.75
key_width8 := key_width4 * 2
key_width9 := key_width4 * 2.25
key_width11 := key_width4 * 2.75
key_width25 := key_width4 * 6.25

Gui, +AlwaysOnTop -Caption +Owner +Hwndhwnd -Theme
Gui, Margin, 0, 0
Gui, Font, s%font_size%, %font_family%
Gui, Add, Button, section x0 y0  w%key_width4%  h%key_height% gbutton_handler vkey_button1,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button2,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button3,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button4,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button5,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button6,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button7,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button8,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button9,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button10,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button11,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button12,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button13,
Gui, Add, Button,         x+0 ys w%key_width8%  h%key_height% gbutton_handler vkey_button14,
Gui, Add, Button, section x0 y+0 w%key_width6%  h%key_height% gbutton_handler vkey_button15,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button16,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button17,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button18,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button19,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button20,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button21,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button22,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button23,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button24,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button25,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button26,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button27,
Gui, Add, Button,         x+0 ys w%key_width6%  h%key_height% gbutton_handler vkey_button28,
Gui, Add, Button, section x0 y+0 w%key_width7%  h%key_height% gbutton_handler vkey_button29,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button30,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button31,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button32,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button33,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button34,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button35,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button36,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button37,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button38,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button39,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button40,
Gui, Add, Button,         x+0 ys w%key_width9%  h%key_height% gbutton_handler vkey_button41,
Gui, Add, Button, section x0 y+0 w%key_width9%  h%key_height% gbutton_handler vkey_button42,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button43,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button44,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button45,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button46,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button47,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button48,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button49,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button50,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button51,
Gui, Add, Button,         x+0 ys w%key_width4%  h%key_height% gbutton_handler vkey_button52,
Gui, Add, Button,         x+0 ys w%key_width11% h%key_height% gbutton_handler vkey_button53,
Gui, Add, Button, section x0 y+0 w%key_width5%  h%key_height% gbutton_handler vkey_button54,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button55,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button56,
Gui, Add, Button,         x+0 ys w%key_width25% h%key_height% gbutton_handler vkey_button57,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button58,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button59,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button60,
Gui, Add, Button,         x+0 ys w%key_width5%  h%key_height% gbutton_handler vkey_button61,
Gui, Show, xCenter y%key_height% Hide, SatgosSymbolPalette
WinSet, AlwaysOnTop, On, ahk_id %hwnd%

; Disable Win key
; Assigning the modifier key to be a "prefix" for at least one other hotkey retains the modifiying function.
LWin::
RWin::
	show_symbol_palette([])
	Return
LWin & CapsLock::
	Return
RWin & CapsLock::
	Return

multi_tap(characters) {
	static count
	If (StrLen(characters) <= 1) {
		count := 1
		Send {Text}%characters%
	} Else {
		send_string := ""
		If (A_PriorHotkey = A_ThisHotkey && A_TimeSincePriorHotkey < 500) {
			count += 1
			If (count > StrLen(characters)) {
				count := 1
			}
			send_string .= "{Backspace}"
		} Else {
			count := 1
		}
		send_string .= "{Text}" . SubStr(characters, count, 1)
		Send %send_string%
	}
}

<#+a::multi_tap("ĀÁǍÀÂÄⱭ")
<#a:: multi_tap("āáǎàâäɑ")
<#+e::multi_tap("ĒÉĚÈÊË")
<#e:: multi_tap("ēéěèêë")
<#+i::multi_tap("ĪÍǏÌÎÏ")
<#i:: multi_tap("īíǐìîï")
<#+o::multi_tap("ŌÓǑÒÔÖ")
<#o:: multi_tap("ōóǒòôö")
<#+u::multi_tap("ŪÚǓÙÛ")
<#u:: multi_tap("ūúǔùû")
<#+v::multi_tap("ÜǕǗǙǛ")
<#v:: multi_tap("üǖǘǚǜ")
<#+z::multi_tap("Ẑ")
<#z:: multi_tap("ẑ")
<#+c::multi_tap("ÇĈ")
<#c:: multi_tap("çĉ")
<#+s::multi_tap("Ŝ")
<#s:: multi_tap("ŝ")
<#+m::multi_tap("Ḿ")
<#m:: multi_tap("ḿ")
<#+n::multi_tap("Ǹ")
<#n:: multi_tap("ǹ")

>#+a::Send Α
>#+b::Send Β
>#+c::Send Ψ
>#+d::Send Δ
>#+e::Send Ε
>#+f::Send Φ
>#+g::Send Γ
>#+h::Send Η
>#+i::Send Ι
>#+j::Send Ξ
>#+k::Send Κ
>#+l::Send Λ
>#+m::Send Μ
>#+n::Send Ν
>#+o::Send Ο
>#+p::Send Π
>#+q::Return
>#+r::Send Ρ
>#+s::Send Σ
>#+t::Send Τ
>#+u::Send Θ
>#+v::Send Ω
>#+w::Return
>#+x::Send Χ
>#+y::Send Υ
>#+z::Send Ζ

>#a::Send α
>#b::Send β
>#c::Send ψ
>#d::Send δ
>#e::Send ε
>#f::Send φ
>#g::Send γ
>#h::Send η
>#i::Send ι
>#j::Send ξ
>#k::Send κ
>#l::Send λ
>#m::Send μ
>#n::Send ν
>#o::Send ο
>#p::Send π
>#q::Return
>#r::Send ρ
>#s::Send σ
>#t::Send τ
>#u::Send θ
>#v::Send ω
>#w::Send ς
>#x::Send χ
>#y::Send υ
>#z::Send ζ

#NumpadSub::Send −
#NumpadMult::Send ×
#NumpadDiv::Send ÷
#-::Send –
#,::Send ≤
#+,::Send ⩽
#.::Send ≥
#+.::Send ⩾

#IfWinActive ahk_exe winword.exe
#^0::
#^1::
#^2::
#^3::
#^4::
#^5::
#^6::
#^7::
#^8::
#^9::
	c := SubStr(A_ThisHotkey, 3, 1)
	Send % "^=" . c . "^="
	Return

#+0::
#+1::
#+2::
#+3::
#+4::
#+5::
#+6::
#+7::
#+8::
#+9::
	c := SubStr(A_ThisHotkey, 3, 1)
	Send % "^+=" . c . "^+="
	Return

#IfWinActive
#^0::Send ₀
#^1::Send ₁
#^2::Send ₂
#^3::Send ₃
#^4::Send ₄
#^5::Send ₅
#^6::Send ₆
#^7::Send ₇
#^8::Send ₈
#^9::Send ₉

#+0::Send ⁰
#+1::Send ¹
#+2::Send ²
#+3::Send ³
#+4::Send ⁴
#+5::Send ⁵
#+6::Send ⁶
#+7::Send ⁷
#+8::Send ⁸
#+9::Send ⁹

#[::Send 〖
#]::Send 〗

#IfWinExist SatgosSymbolPaletteShown
1::button_keydown(2)
1 Up::button_keyup(2)
2::button_keydown(3)
2 Up::button_keyup(3)
3::button_keydown(4)
3 Up::button_keyup(4)
4::button_keydown(5)
4 Up::button_keyup(5)
5::button_keydown(6)
5 Up::button_keyup(6)
6::button_keydown(7)
6 Up::button_keyup(7)
7::button_keydown(8)
7 Up::button_keyup(8)
8::button_keydown(9)
8 Up::button_keyup(9)
9::button_keydown(10)
9 Up::button_keyup(10)
0::button_keydown(11)
0 Up::button_keyup(11)
-::button_keydown(12)
VKBD Up::button_keyup(12)
=::button_keydown(13)
VKBB Up::button_keyup(13)
q::button_keydown(16)
q Up::button_keyup(16)
w::button_keydown(17)
w Up::button_keyup(17)
e::button_keydown(18)
e Up::button_keyup(18)
r::button_keydown(19)
r Up::button_keyup(19)
t::button_keydown(20)
t Up::button_keyup(20)
y::button_keydown(21)
y Up::button_keyup(21)
u::button_keydown(22)
u Up::button_keyup(22)
i::button_keydown(23)
i Up::button_keyup(23)
o::button_keydown(24)
o Up::button_keyup(24)
p::button_keydown(25)
p Up::button_keyup(25)
[::button_keydown(26)
[ Up::button_keyup(26)
]::button_keydown(27)
] Up::button_keyup(27)
\::button_keydown(28)
\ Up::button_keyup(28)
a::button_keydown(30)
a Up::button_keyup(30)
s::button_keydown(31)
s Up::button_keyup(31)
d::button_keydown(32)
d Up::button_keyup(32)
f::button_keydown(33)
f Up::button_keyup(33)
g::button_keydown(34)
g Up::button_keyup(34)
h::button_keydown(35)
h Up::button_keyup(35)
j::button_keydown(36)
j Up::button_keyup(36)
k::button_keydown(37)
k Up::button_keyup(37)
l::button_keydown(38)
l Up::button_keyup(38)
`;::button_keydown(39)
VKBA Up::button_keyup(39)
'::button_keydown(40)
VKDE Up::button_keyup(40)
z::button_keydown(43)
z Up::button_keyup(43)
x::button_keydown(44)
x Up::button_keyup(44)
c::button_keydown(45)
c Up::button_keyup(45)
v::button_keydown(46)
v Up::button_keyup(46)
b::button_keydown(47)
b Up::button_keyup(47)
n::button_keydown(48)
n Up::button_keyup(48)
m::button_keydown(49)
m Up::button_keyup(49)
,::button_keydown(50)
VKBC Up::button_keyup(50)
.::button_keydown(51)
VKBE Up::button_keyup(51)
/::button_keydown(52)
VKBF Up::button_keyup(52)
#IfWinExist

#F1::
	show_symbol_palette([""
		. "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F2::
	show_symbol_palette([""
		. "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F3::
	show_symbol_palette([""
		. "⓪", "①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨", "⑩", "", "", ""
		, "", "⑪", "⑫", "⑬", "⑭", "⑮", "⑯", "⑰", "⑱", "⑲", "⑳", "", "", ""
		, "", "㉑", "㉒", "㉓", "㉔", "㉕", "㉖", "㉗", "㉘", "㉙", "㉚", "", ""
		, "", "㉛", "㉜", "㉝", "㉞", "㉟", "㊱", "㊲", "㊳", "㊴", "㊵", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F3::
	show_symbol_palette([""
		. "", "㊶", "㊷", "㊸", "㊹", "㊺", "㊻", "㊼", "㊽", "㊾", "㊿", "", "", ""
		, "", "➀", "➁", "➂", "➃", "➄", "➅", "➆", "➇", "➈", "➉", "", "", ""
		, "", "➊", "➋", "➌", "➍", "➎", "➏", "➐", "➑", "➒", "➓", "", ""
		, "", "❶", "❷", "❸", "❹", "❺", "❻", "❼", "❽", "❾", "❿", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F4::
	show_symbol_palette([""
		. "", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ", "Ⅹ", "Ⅺ", "Ⅻ", ""
		, "", "ⅰ", "ⅱ", "ⅲ", "ⅳ", "ⅴ", "ⅵ", "ⅶ", "ⅷ", "ⅸ", "ⅹ", "ⅺ", "ⅻ", ""
		, "", "㈠", "㈡", "㈢", "㈣", "㈤", "㈥", "㈦", "㈧", "㈨", "㈩", "", ""
		, "", "㊀", "㊁", "㊂", "㊃", "㊄", "㊅", "㊆", "㊇", "㊈", "㊉", "",
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F4::
	show_symbol_palette([""
		. "", "⚀", "⚁", "⚂", "⚃", "⚄", "⚅", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "☰", "☱", "☲", "☳", "☴", "☵", "☶", "☷", "⚊", "⚋", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F5::
	show_symbol_palette([""
		. "🄀", "⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏", "⒐", "⒑", "", "", ""
		, "", "⒒", "⒓", "⒔", "⒕", "⒖", "⒗", "⒘", "⒙", "⒚", "⒛", "", "", ""
		, "", "⑴", "⑵", "⑶", "⑷", "⑸", "⑹", "⑺", "⑻", "⑼", "⑽", "", ""
		, "", "⑾", "⑿", "⒀", "⒁", "⒂", "⒃", "⒄", "⒅", "⒆", "⒇", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F6::
	show_symbol_palette([""
		. "", "─", "│", "", "━", "┃", "", "═", "║", "", "", "", "", ""
		, "", "┌", "┬", "┐", "┏", "┳", "┓", "╔", "╦", "╗", "╭", "╮", "╳", "╲"
		, "", "├", "┼", "┤", "┣", "╋", "┫", "╠", "╬", "╣", "╰", "╯", ""
		, "", "└", "┴", "┘", "┗", "┻", "┛", "╚", "╩", "╝", "╱", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F6::
	show_symbol_palette([""
		. "", "⏜", "⏝", "⎴", "⎵", "⏞", "⏟", "⎪", "⎰", "", "", "", "", ""
		, "", "⎛", "⎞", "⎡", "⎤", "⎧", "⎫", "⌠", "⎱", "", "", "", "", ""
		, "", "⎜", "⎟", "⎢", "⎥", "⎨", "⎬", "⎮", "⎲", "", "", "", ""
		, "", "⎝", "⎠", "⎣", "⎦", "⎩", "⎭", "⌡", "⎳", "", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F7::
	show_symbol_palette([""
		. "●", "◎", "⊙", "○", "■", "◆", "★", "□", "◇", "☆", "", "", "", ""
		, "", "↖", "↑", "↗", "◤", "▲", "◥", "◸", "△", "◹", "░", "▒", "▓", "█"
		, "", "←", "↓", "→", "◀", "", "▶", "◁", "", "▷", "", "", ""
		, "", "↙", "↓", "↘", "◣", "▼", "◢", "◺", "▽", "◿", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F7::
	show_symbol_palette([""
		. "", "▁", "▂", "▃", "▄", "▅", "▅", "▆", "▇", "█", "", "", "", ""
		, "", "▘", "▔", "▝", "▛", "▀", "▜", "▉", "▊", "▋", "▌", "▍", "▎", "▏"
		, "", "▏", "▞", "▕", "▌", "█", "▐", "", "▚", "", "", "", ""
		, "", "▖", "▁", "▗", "▙", "▄", "▟", "", "", "", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F10::
	show_symbol_palette([""
		. "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "§", "№", "℡", "〓", "℃", "℉", "ℓ", "", "", "", "♀", "♂", ""
		, "", "〃", "々", "〆", "〒", "※", "", "", "", "", "", "", ""
		, "", "•", "‣", "⁎", "⁑", "†", "‡", "", "℮", "‧", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F11::
	show_symbol_palette([""
		. "⅟", "½", "↉", "⅓", "⅔", "¼", "¾", "⅕", "⅖", "⅗", "⅘", "⅙", "⅚", ""
		, "", "∵", "∶", "°", "′", "″", "‴", "⁗", "", "", "", "", "", ""
		, "", "∴", "∷", "", "", "※", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "‧", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F11::
	show_symbol_palette([""
		. "⅐", "⅛", "⅜", "⅝", "⅞", "⅑", "⅒", "", "⁺", "⁽", "⁾", "⁻", "⁼", ""
		, "", "", "", "", "", "", "", "", "₊", "₍", "₎", "₋", "₌", ""
		, "", "¹", "²", "³", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹", "⁰", "⁄", ""
		, "", "₁", "₂", "₃", "₄", "₅", "₆", "₇", "₈", "₉", "₀", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return

#F21::
	show_symbol_palette([""
		. "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", "", "", "", "", "", "", "", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
+#F21::
	show_symbol_palette([""
		. "‥", "⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", ""
		, "", "︻", "︵", "﹇", "︷", "﹃", "﹁", "︱", "￤", "︳", "︴", "‖", "︰", ""
		, "", "︼", "︶", "﹈", "︸", "﹄", "﹂", "￣", "﹉", "﹊", "﹋", "﹌", ""
		, "", "︹", "︺", "︽", "︾", "︿", "﹀", "", "", "﹍", "﹎", "﹏", ""
		, "", "", "", "", " ", "", "", ""
	. ""])
	Return
#F12::
	show_symbol_palette([""
		. "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "⌫"
		, "↹", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "[", "]", "\"
		, "⇬", "A", "S", "D", "F", "G", "H", "J", "K", "L", ";", "'", "↵"
		, "⇧", "Z", "X", "C", "V", "B", "N", "M", ",", ".", "/", "⇧"
		, "^", "⌘", "⌥", " ", "⌥", "⌘", "❖", "^"
	. ""])
	Return

button_keydown(number) {
	ControlClick, X1 Y1, key_button%number%, , , , D
	button_event(number)
}

button_keyup(number) {
	ControlClick, X1 Y1, key_button%number%, , , , U
}

button_handler() {
	number := SubStr(A_GuiControl, 11)
	button_event(number)
}

button_event(number) {
	GuiControlGet, symbol, , key_button%number%, Text
	Send % symbol
}

show_symbol_palette(symbols) {
	global hwnd
	If (symbols.Length() > 0) {
		For index, symbol in symbols {
			GuiControlGet, button_enabled, Enabled, key_button%index%
			If (button_enabled) {
				GuiControl, Text, key_button%index%, %symbol%
			}
		}
		Gui, Show, NA, SatgosSymbolPaletteShown
		WinSet, Transparent, 192, ahk_id %hwnd%
	} Else {
		Gui, Show, Hide, SatgosSymbolPalette
	}
}

XButton1::Return

MenuHandler:
	str := A_ThisMenuItem
	pos := InStr(str, " ")
	If (pos) {
		str := SubStr(str, pos + 1)
	}
	Send %str%
	Return

error: pathspec 'scripts/startup.ahk' did not match any file(s) known to git


Updated on 2015-04-03: andy

Updated on 2015-04-03: andy

#NoEnv
SetTitleMatchMode, 1  ;matches if title begins with string
WinWait, HandyAndy Says ahk_class #32770, This tool will completely remove traces of Andy, 30
WinActivate
ControlClick, Button1, ahk_class #32770, &Yes,
ExitApp

error: pathspec 'automatic/_output/andy/0.45.5.37/tools/andyUninstall.ahk' did not match any file(s) known to git


Added Enterserials code

Added Enterserials code

Started to function out the Enter serials code

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec '1.4.ahk' did not match any file(s) known to git


Updated on 2015-05-24: adwcleaner

Updated on 2015-05-24: adwcleaner

#NoEnv
SetTitleMatchMode, RegEx
DetectHiddenText, off
DetectHiddenWindows, off

loop,
{
  Sleep, 250
  IfWinExist, Outdated version, Cancel
  {
    WinActivate
    ControlClick, Button2, Outdated version, Cancel
  }
  IfWinExist, AdwCleaner - Terms of use, I agree
  {
    WinActivate
    ControlClick, Button1, AdwCleaner - Terms of use, I agree,
  }
  IfWinExist, AdwCleaner - v, Scan
  {
    WinClose, AdwCleaner - v, Scan
    ExitApp
  }
}

error: pathspec 'automatic/_output/adwcleaner/5.018/tools/chocolateyInstall.ahk' did not match any file(s) known to git


Updated on 2015-04-03: andy

Updated on 2015-04-03: andy


Create keybindings.ahk

Create keybindings.ahk

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

#SingleInstance force ;autoreload
#IfWinNotActive ahk_class ConsoleWindowClass

!^+t::
; test if ahk active
Send ahk active
return

!a::
; Alt-a selects all
send ^{end}^+{home}
return

^e::
Send {end}
return

^a::
Send {home}
return

^u::
Send +{home}{delete}
return

; emacs-like forward + back bindings.  Backup ctrl-f to ctrl-alt-f
^!f::
Send ^f
return

^!b::
Send ^b
return

^f::
Send {right}
return

^b::
Send {left}
return

!f::
Send ^{right}
return

!b::
Send ^{left}
return

#IfWinActive ahk_class MozillaWindowClass
;firefox forward and back

    ^[::
    Send !{left}
    return

    ^]::
    Send !{right}
    return

#IfWinActive

#IfWinNotActive

error: pathspec 'keybindings.ahk' did not match any file(s) known to git


login stability improve

login stability improve

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mingone/efficiently.git/'


Delete Effectivity macro 3ba.ahk

Delete Effectivity macro 3ba.ahk

error: pathspec '1.31b/Effectivity' did not match any file(s) known to git
error: pathspec 'macro' did not match any file(s) known to git
error: pathspec '3ba.ahk' did not match any file(s) known to git


Create 17. Server Group Certificate and Private Key Page.ahk

templates/autohotkey_scripts/17. Server Group Certificate and Private Key Page.ahk

error: pathspec 'templates/autohotkey_scripts/17.' did not match any file(s) known to git
error: pathspec 'Server' did not match any file(s) known to git
error: pathspec 'Group' did not match any file(s) known to git
error: pathspec 'Certificate' did not match any file(s) known to git
error: pathspec 'and' did not match any file(s) known to git
error: pathspec 'Private' did not match any file(s) known to git
error: pathspec 'Key' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


Create MouseFinder.ahk

Create MouseFinder.ahk

Script shows a tooltip in the corner of the screen that shows the location of the mouse in coordinates

; Not from JohnHimics.com, can't remember where it came from
; Script shows a tooltip in the corner of the screen
;   that shows the location of the mouse in coordinates

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

; While CapsLock is toggled On
; Script will display Mouse Position (coordinates) as a tooltip at Top-Left corner of screen.
; Also allows to copy them (to clipboard) with a PrintScreen button.

#SingleInstance force ; only one instance of script can run
#Persistent ; to make it run indefinitely
settimer start1, 0 ; "0" to make it update position instantly
return

start1:
if !GetKeyState("capslock","T") ; whether capslock is on or off
;if !GetKeyState("scrolllock","T") ; whether scrolllock is on or off
{
    tooltip ; if off, don't show tooltip at all.
}
else
{ ; if on
    CoordMode, ToolTip, Screen ; makes tooltip to appear at position, relative to screen.
    CoordMode, Mouse, Screen ; makes mouse coordinates to be relative to screen.
    MouseGetPos xx, yy ; get mouse x and y position, store as %xx% and %yy%
    tooltip %xx% %yy%, 0, 0 ; display tooltip of %xx% %yy% at coordinates x0 y0.
    PrintScreen:: ; assign new function to PrintScreen. If pressed...
        clipboard = %xx%, %yy% ; ...store %xx% %yy% to clipboard.
    return
}
return

error: pathspec 'MouseFinder.ahk' did not match any file(s) known to git


update to 0.9.6

update to 0.9.6

error: pathspec 'Warlock' did not match any file(s) known to git
error: pathspec 'Bot.ahk' did not match any file(s) known to git


add AutoIt hotkeys

add AutoIt hotkeys

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/frinkr/emacs.git/'


class 분리

class 분리

class CmdOBJ {
    __New(cmd, num) {
		this.cmd := cmd
		this.num := num
    }
	set_cmd(cmd){
		this.cmd := cmd
	}
	set_num(num){
		this.num := num
	}
	get_num(){
		return this.num
	}
	get_cmd(){
		return this.cmd
	}
	get_num_cmd(){
		return this.num . this.cmd
	}
	append_num(num){
		this.num := this.num . num
	}
	append_cmd(cmd){
		this.cmd := this.cmd . cmd
	}
	clear(str){
		if(str = "auto"){
			this.cmd := ""
			this.num := ""
			changeMode("auto")
		} else if(str = "num") {
			this.num := ""
		} else if(str = "cmd") {
			this.cmd := ""
		}
	}
}

error: pathspec 'src/CmdOBJ.ahk' did not match any file(s) known to git


updated to 0.9.2 ver

updated to 0.9.2 ver

repaired some minor bugs


Create ListofRunningAHKScripts.ahk

Create ListofRunningAHKScripts.ahk

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/philosowaffle/NewDeviceSetup.git/'


Revert "Remove audacity.ahk."

Revert "Remove audacity.ahk."

This reverts commit beffcac2698761516803e3d1d00531d61e17e6ad.

; Audacity doesn't let you paste directly into the selection length editor.
; So I whipped up this script which does that for you.

; To use, copy a loopplayer "start.stop" string.
; Set the selection mode to "End samples", highlight the leftmost "samples" cell,
; and press ctrl-alt-V.

; # Win (Windows logo key)
; ! Alt
; ^ Control
; + Shift
; &  An ampersand may be used between any two keys or mouse buttons to combine them into a custom hotkey.

; setkeydelay 500

zeropad(num, size) {
	prefix := ""
	; msgbox % "zeropad strlen " . strlen(num)
	loop % (size - strlen(num)) {
		prefix := prefix . "0"
	}
	; msgbox % "prefix " . prefix
	return prefix . num
}

$^!v::
	; ControlGetText OutputVar, Control, WinTitle, WinText, ExcludeTitle, ExcludeText
	; ; msgbox %OutputVar%, %Control%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%, %ErrorLevel%

	numbers := strsplit(clipboard, ".")
	output := ""

	for _, value in numbers {
		; msgbox % "buffer " . output
		if strlen(output) {
			output := output . "{Tab}"
		}
		output := output . zeropad(value, 9)
	}

	; ; msgbox % output

	SendEvent % output
	return

error: pathspec 'audacity.ahk' did not match any file(s) known to git


Updated on 2015-10-12: adobeshockwaveplayer

#NoEnv
SetTitleMatchMode, 1  ;begins
DetectHiddenText, off
DetectHiddenWindows, off

WinWait, Installing Adobe Shockwave Player ahk_class #32770, , 120
WinActivate
ControlClick, Button1, ahk_class #32770, ,
ControlClick, Button3, ahk_class #32770, Next >,

ExitApp

error: pathspec 'automatic/_output/adobeshockwaveplayer/12.2.1.171/tools/chocolateyInstall.ahk' did not match any file(s) known to git


Delete Project Oracle.ahk

Delete Project Oracle.ahk

Dota 2 Keyboard Setups/Project Oracle/Project Oracle.ahk

error: pathspec 'Dota' did not match any file(s) known to git
error: pathspec '2' did not match any file(s) known to git
error: pathspec 'Keyboard' did not match any file(s) known to git
error: pathspec 'Setups/Project' did not match any file(s) known to git
error: pathspec 'Oracle/Project' did not match any file(s) known to git
error: pathspec 'Oracle.ahk' did not match any file(s) known to git


Update static/vendors/ace-builds/demo/kitchen-sink/docs/autohotkey.ahk

Signed-off-by: Bernard Ojengwa <fccb4cc00c1ba7e51bf5c2b5f77130b9fe8d917e@gmail.com>

#NoEnv
SetBatchLines -1

CoordMode Mouse, Screen
OnExit GuiClose

zoom := 9

computeSize(){
	global as_x
	as_x := Round(ws_x/zoom/2 - 0.5)
	if (zoom>1) {
		pix := Round(zoom)
	} ele {
		pix := 1
	}
    ToolTip Message %as_x% %zoom% %ws_x% %hws_x%
}

hdc_frame := DllCall("GetDC", UInt, MagnifierID)

; comment
DrawCross(byRef x="", rX,rY,z, dc){
        ;specify the style, thickness and color of the cross lines
    h_pen := DllCall( "gdi32.dll\CreatePen", Int, 0, Int, 1, UInt, 0x0000FF)
}

;Ctrl ^; Shift +; Win #; Alt !
^NumPadAdd::
^WheelUp::
^;::   ;comment
    If(zoom < ws_x and ( A_ThisHotKey = "^WheelUp" or A_ThisHotKey ="^NumPadAdd") )
		zoom *= 1.189207115         ; sqrt(sqrt(2))
	Gosub,setZoom
return

error: pathspec 'static/vendors/ace-builds/demo/kitchen-sink/docs/autohotkey.ahk' did not match any file(s) known to git


started working on menu project

started working on menu project

;SuperMenu
;Nate Mara

#Persistent
#SingleInstance

Menu, MyMenu, Add, Save
Menu, MyMenu, Add, Close
return

Close:
MsgBox, Close
return

Save:
Send ^s
return

Mbutton::
MouseGetPos, MouseX, MouseY
MouseX -= 75
MouseY -= 25
Menu, MyMenu, Show, %MouseX%, %MouseY%
Return

F6::Reload

error: pathspec 'menu.ahk' did not match any file(s) known to git


Delete Rewrite of 1.4 Revised 2.01B Working.ahk

1.4/Rewrite of 1.4 Revised 2.01B Working.ahk

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec 'Revised' did not match any file(s) known to git
error: pathspec '2.01B' did not match any file(s) known to git
error: pathspec 'Working.ahk' did not match any file(s) known to git


Added AutoHotkey for Unicode symbols used in Silicon's sources

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/sccblom/vercors.git/'


Create AxisWinToogle.ahk

Create AxisWinToogle.ahk

; Toggles Always On Top & Titlebar
!^=::
Winset, Alwaysontop, Toggle, Joystick
WinSet, Style, ^0xC00000, Joystick
return

; Show/Hide Toogle Window
!^-::
IfWinExist, Joystick
 WinHide
Else
 WinShow, Joystick
return

error: pathspec 'AxisWinToogle.ahk' did not match any file(s) known to git


add ahk layouting script

add ahk layouting script

Debug := true
If (Debug)
{
  Traytip , AHK Restart, restarting %A_ScriptFullPath%

  ; Ctrl - Alt - r  will reload script.
  ^!r::Reload
}

; Get the monitor dimension which holds the current window
GetCurrentMonitor()
{
  WinGetPos, x, y, , , A
  SysGet, MonitorCount, MonitorCount
  Loop, %MonitorCount%
  {
    SysGet, Monitor, Monitor, %A_Index%
    If ((MonitorBottom > y && y >= MonitorTop)
      && (MonitorLeft <= x && x < MonitorRight))
    {
      SysGet, WorkArea, MonitorWorkArea, %A_Index%
      return { Top: WorkAreaTop, Bottom: WorkAreaBottom
             , Left: WorkAreaLeft, Right: WorkAreaRight }
    }
  }
}

; Tile Left(-1) or Right(1) the current window.
TileWin(Direction = -1, WidthRatio = 0.75)
{
  WorkArea := GetCurrentMonitor()
  ScreenWidth := WorkArea["Right"] - WorkArea["Left"]
  ScreenHeight := WorkArea["Bottom"] - WorkArea["Top"]
  w := round(ScreenWidth * WidthRatio)
  h := ScreenHeight
  x := WorkArea["Left"]
  If (Direction == 1)
  {
    x := WorkArea["Right"] - w
  }
  WinMove, A, , x, 0, w, h
}

; Key bindings
^!Right::
TileWin(1)
Traytip , Ctrl+Alt+Right triggered, id, 3
return

^!Left::
TileWin(-1)
Traytip , Ctrl+Alt+Right triggered, id, 3
return

error: pathspec 'ahk/layout.ahk' did not match any file(s) known to git


Updated on 2015-05-24: adwcleaner

Updated on 2015-05-24: adwcleaner

error: pathspec 'automatic/_output/adwcleaner/5.016/tools/chocolateyInstall.ahk' did not match any file(s) known to git


Add desktop_switch autohotkey script

Add desktop_switch autohotkey script

#NoEnv
#Warn

SendMode Input

#a::
Send, {Ctrl down}{LWin down}{LEFT}{Ctrl up}{LWin up}
Return

#d::
Send, {Ctrl down}{LWin down}{RIGHT}{Ctrl up}{LWin up}
Return

error: pathspec 'Creative/DesktopSwitch/dekstop_switch.ahk' did not match any file(s) known to git


Add AutoHotkey configuration for np2

Add AutoHotkey configuration for np2

; Muhenkan (PC98 NFER key)
LWin::Send {vk1D}

; Henkan (PC98 XFER key)
;RWin::Send {vk1C}
;^RWin::Send {vk1C}
AppsKey::Send {vk1C}
^AppsKey::Send ^{vk1C}

;Muhenkan / 無変換 -> {vk1D}
;Henkan / 変換　-> {vk1C}
;Kana / かな -> {vkF2}
;IME ON/OF -> {vkF3}, {vkF4}

error: pathspec 'PC98/AutoHotkeyU64.ahk' did not match any file(s) known to git


NumpadMouse.ahk from AutoHotkey site

NumpadMouse.ahk from AutoHotkey site

; Using Keyboard Numpad as a Mouse -- by deguix
; http://www.autohotkey.com
; This script makes mousing with your keyboard almost as easy
; as using a real mouse (maybe even easier for some tasks).
; It supports up to five mouse buttons and the turning of the
; mouse wheel.  It also features customizable movement speed,
; acceleration, and "axis inversion".

/*
o------------------------------------------------------------o
|Using Keyboard Numpad as a Mouse                            |
(------------------------------------------------------------)
| By deguix           / A Script file for AutoHotkey 1.0.22+ |
|                    ----------------------------------------|
|                                                            |
|    This script is an example of use of AutoHotkey. It uses |
| the remapping of numpad keys of a keyboard to transform it |
| into a mouse. Some features are the acceleration which     |
| enables you to increase the mouse movement when holding    |
| a key for a long time, and the rotation which makes the    |
| numpad mouse to "turn". I.e. NumPadDown as NumPadUp        |
| and vice-versa. See the list of keys used below:           |
|                                                            |
|------------------------------------------------------------|
| Keys                  | Description                        |
|------------------------------------------------------------|
| ScrollLock (toggle on)| Activates numpad mouse mode.       |
|-----------------------|------------------------------------|
| NumPad0               | Left mouse button click.           |
| NumPad5               | Middle mouse button click.         |
| NumPadDot             | Right mouse button click.          |
| NumPadDiv/NumPadMult  | X1/X2 mouse button click. (Win 2k+)|
| NumPadSub/NumPadAdd   | Moves up/down the mouse wheel.     |
|                       |                                    |
|-----------------------|------------------------------------|
| NumLock (toggled off) | Activates mouse movement mode.     |
|-----------------------|------------------------------------|
| NumPadEnd/Down/PgDn/  | Mouse movement.                    |
| /Left/Right/Home/Up/  |                                    |
| /PgUp                 |                                    |
|                       |                                    |
|-----------------------|------------------------------------|
| NumLock (toggled on)  | Activates mouse speed adj. mode.   |
|-----------------------|------------------------------------|
| NumPad7/NumPad1       | Inc./dec. acceleration per         |
|                       | button press.                      |
| NumPad8/NumPad2       | Inc./dec. initial speed per        |
|                       | button press.                      |
| NumPad9/NumPad3       | Inc./dec. maximum speed per        |
|                       | button press.                      |
| ^NumPad7/^NumPad1     | Inc./dec. wheel acceleration per   |
|                       | button press*.                     |
| ^NumPad8/^NumPad2     | Inc./dec. wheel initial speed per  |
|                       | button press*.                     |
| ^NumPad9/^NumPad3     | Inc./dec. wheel maximum speed per  |
|                       | button press*.                     |
| NumPad4/NumPad6       | Inc./dec. rotation angle to        |
|                       | right in degrees. (i.e. 180 =     |
|                       | = inversed controls).              |
|------------------------------------------------------------|
| * = These options are affected by the mouse wheel speed    |
| adjusted on Control Panel. If you don't have a mouse with  |
| wheel, the default is 3 +/- lines per option button press. |
o------------------------------------------------------------o
*/

;START OF CONFIG SECTION

#SingleInstance force
#MaxHotkeysPerInterval 500

; Using the keyboard hook to implement the Numpad hotkeys prevents
; them from interfering with the generation of ANSI characters such
; as .  This is because AutoHotkey generates such characters
; by holding down ALT and sending a series of Numpad keystrokes.
; Hook hotkeys are smart enough to ignore such keystrokes.
#UseHook

MouseSpeed = 1
MouseAccelerationSpeed = 1
MouseMaxSpeed = 5

;Mouse wheel speed is also set on Control Panel. As that
;will affect the normal mouse behavior, the real speed of
;these three below are times the normal mouse wheel speed.
MouseWheelSpeed = 1
MouseWheelAccelerationSpeed = 1
MouseWheelMaxSpeed = 5

MouseRotationAngle = 0

;END OF CONFIG SECTION

;This is needed or key presses would faulty send their natural
;actions. Like NumPadDiv would send sometimes "/" to the
;screen.
#InstallKeybdHook

Temp = 0
Temp2 = 0

MouseRotationAnglePart = %MouseRotationAngle%
;Divide by 45 because MouseMove only supports whole numbers,
;and changing the mouse rotation to a number lesser than 45
;could make strange movements.
;
;For example: 22.5 when pressing NumPadUp:
;  First it would move upwards until the speed
;  to the side reaches 1.
MouseRotationAnglePart /= 45

MouseCurrentAccelerationSpeed = 0
MouseCurrentSpeed = %MouseSpeed%

MouseWheelCurrentAccelerationSpeed = 0
MouseWheelCurrentSpeed = %MouseSpeed%

SetKeyDelay, -1
SetMouseDelay, -1

Hotkey, *NumPad0, ButtonLeftClick
Hotkey, *NumpadIns, ButtonLeftClickIns
Hotkey, *NumPad5, ButtonMiddleClick
Hotkey, *NumpadClear, ButtonMiddleClickClear
Hotkey, *NumPadDot, ButtonRightClick
Hotkey, *NumPadDel, ButtonRightClickDel
Hotkey, *NumPadDiv, ButtonX1Click
Hotkey, *NumPadMult, ButtonX2Click

Hotkey, *NumpadSub, ButtonWheelUp
Hotkey, *NumpadAdd, ButtonWheelDown

Hotkey, *NumPadUp, ButtonUp
Hotkey, *NumPadDown, ButtonDown
Hotkey, *NumPadLeft, ButtonLeft
Hotkey, *NumPadRight, ButtonRight
Hotkey, *NumPadHome, ButtonUpLeft
Hotkey, *NumPadEnd, ButtonUpRight
Hotkey, *NumPadPgUp, ButtonDownLeft
Hotkey, *NumPadPgDn, ButtonDownRight

Hotkey, Numpad8, ButtonSpeedUp
Hotkey, Numpad2, ButtonSpeedDown
Hotkey, Numpad7, ButtonAccelerationSpeedUp
Hotkey, Numpad1, ButtonAccelerationSpeedDown
Hotkey, Numpad9, ButtonMaxSpeedUp
Hotkey, Numpad3, ButtonMaxSpeedDown

Hotkey, Numpad6, ButtonRotationAngleUp
Hotkey, Numpad4, ButtonRotationAngleDown

Hotkey, !Numpad8, ButtonWheelSpeedUp
Hotkey, !Numpad2, ButtonWheelSpeedDown
Hotkey, !Numpad7, ButtonWheelAccelerationSpeedUp
Hotkey, !Numpad1, ButtonWheelAccelerationSpeedDown
Hotkey, !Numpad9, ButtonWheelMaxSpeedUp
Hotkey, !Numpad3, ButtonWheelMaxSpeedDown

Gosub, ~ScrollLock  ; Initialize based on current ScrollLock state.
return

;Key activation support

~ScrollLock::
; Wait for it to be released because otherwise the hook state gets reset
; while the key is down, which causes the up-event to get suppressed,
; which in turn prevents toggling of the ScrollLock state/light:
KeyWait, ScrollLock
GetKeyState, ScrollLockState, ScrollLock, T
If ScrollLockState = D
{
	Hotkey, *NumPad0, on
	Hotkey, *NumpadIns, on
	Hotkey, *NumPad5, on
	Hotkey, *NumPadDot, on
	Hotkey, *NumPadDel, on
	Hotkey, *NumPadDiv, on
	Hotkey, *NumPadMult, on

	Hotkey, *NumpadSub, on
	Hotkey, *NumpadAdd, on

	Hotkey, *NumPadUp, on
	Hotkey, *NumPadDown, on
	Hotkey, *NumPadLeft, on
	Hotkey, *NumPadRight, on
	Hotkey, *NumPadHome, on
	Hotkey, *NumPadEnd, on
	Hotkey, *NumPadPgUp, on
	Hotkey, *NumPadPgDn, on

	Hotkey, Numpad8, on
	Hotkey, Numpad2, on
	Hotkey, Numpad7, on
	Hotkey, Numpad1, on
	Hotkey, Numpad9, on
	Hotkey, Numpad3, on

	Hotkey, Numpad6, on
	Hotkey, Numpad4, on

	Hotkey, !Numpad8, on
	Hotkey, !Numpad2, on
	Hotkey, !Numpad7, on
	Hotkey, !Numpad1, on
	Hotkey, !Numpad9, on
	Hotkey, !Numpad3, on
}
else
{
	Hotkey, *NumPad0, off
	Hotkey, *NumpadIns, off
	Hotkey, *NumPad5, off
	Hotkey, *NumPadDot, off
	Hotkey, *NumPadDel, off
	Hotkey, *NumPadDiv, off
	Hotkey, *NumPadMult, off

	Hotkey, *NumpadSub, off
	Hotkey, *NumpadAdd, off

	Hotkey, *NumPadUp, off
	Hotkey, *NumPadDown, off
	Hotkey, *NumPadLeft, off
	Hotkey, *NumPadRight, off
	Hotkey, *NumPadHome, off
	Hotkey, *NumPadEnd, off
	Hotkey, *NumPadPgUp, off
	Hotkey, *NumPadPgDn, off

	Hotkey, Numpad8, off
	Hotkey, Numpad2, off
	Hotkey, Numpad7, off
	Hotkey, Numpad1, off
	Hotkey, Numpad9, off
	Hotkey, Numpad3, off

	Hotkey, Numpad6, off
	Hotkey, Numpad4, off

	Hotkey, !Numpad8, off
	Hotkey, !Numpad2, off
	Hotkey, !Numpad7, off
	Hotkey, !Numpad1, off
	Hotkey, !Numpad9, off
	Hotkey, !Numpad3, off
}
return

;Mouse click support

ButtonLeftClick:
GetKeyState, already_down_state, LButton
If already_down_state = D
	return
Button2 = NumPad0
ButtonClick = Left
Goto ButtonClickStart
ButtonLeftClickIns:
GetKeyState, already_down_state, LButton
If already_down_state = D
	return
Button2 = NumPadIns
ButtonClick = Left
Goto ButtonClickStart

ButtonMiddleClick:
GetKeyState, already_down_state, MButton
If already_down_state = D
	return
Button2 = NumPad5
ButtonClick = Middle
Goto ButtonClickStart
ButtonMiddleClickClear:
GetKeyState, already_down_state, MButton
If already_down_state = D
	return
Button2 = NumPadClear
ButtonClick = Middle
Goto ButtonClickStart

ButtonRightClick:
GetKeyState, already_down_state, RButton
If already_down_state = D
	return
Button2 = NumPadDot
ButtonClick = Right
Goto ButtonClickStart
ButtonRightClickDel:
GetKeyState, already_down_state, RButton
If already_down_state = D
	return
Button2 = NumPadDel
ButtonClick = Right
Goto ButtonClickStart

ButtonX1Click:
GetKeyState, already_down_state, XButton1
If already_down_state = D
	return
Button2 = NumPadDiv
ButtonClick = X1
Goto ButtonClickStart

ButtonX2Click:
GetKeyState, already_down_state, XButton2
If already_down_state = D
	return
Button2 = NumPadMult
ButtonClick = X2
Goto ButtonClickStart

ButtonClickStart:
MouseClick, %ButtonClick%,,, 1, 0, D
SetTimer, ButtonClickEnd, 10
return

ButtonClickEnd:
GetKeyState, kclickstate, %Button2%, P
if kclickstate = D
	return

SetTimer, ButtonClickEnd, off
MouseClick, %ButtonClick%,,, 1, 0, U
return

;Mouse movement support

ButtonSpeedUp:
MouseSpeed++
ToolTip, Mouse speed: %MouseSpeed% pixels
SetTimer, RemoveToolTip, 1000
return
ButtonSpeedDown:
If MouseSpeed > 1
	MouseSpeed--
If MouseSpeed = 1
	ToolTip, Mouse speed: %MouseSpeed% pixel
else
	ToolTip, Mouse speed: %MouseSpeed% pixels
SetTimer, RemoveToolTip, 1000
return
ButtonAccelerationSpeedUp:
MouseAccelerationSpeed++
ToolTip, Mouse acceleration speed: %MouseAccelerationSpeed% pixels
SetTimer, RemoveToolTip, 1000
return
ButtonAccelerationSpeedDown:
If MouseAccelerationSpeed > 1
	MouseAccelerationSpeed--
If MouseAccelerationSpeed = 1
	ToolTip, Mouse acceleration speed: %MouseAccelerationSpeed% pixel
else
	ToolTip, Mouse acceleration speed: %MouseAccelerationSpeed% pixels
SetTimer, RemoveToolTip, 1000
return

ButtonMaxSpeedUp:
MouseMaxSpeed++
ToolTip, Mouse maximum speed: %MouseMaxSpeed% pixels
SetTimer, RemoveToolTip, 1000
return
ButtonMaxSpeedDown:
If MouseMaxSpeed > 1
	MouseMaxSpeed--
If MouseMaxSpeed = 1
	ToolTip, Mouse maximum speed: %MouseMaxSpeed% pixel
else
	ToolTip, Mouse maximum speed: %MouseMaxSpeed% pixels
SetTimer, RemoveToolTip, 1000
return

ButtonRotationAngleUp:
MouseRotationAnglePart++
If MouseRotationAnglePart >= 8
	MouseRotationAnglePart = 0
MouseRotationAngle = %MouseRotationAnglePart%
MouseRotationAngle *= 45
ToolTip, Mouse rotation angle: %MouseRotationAngle%
SetTimer, RemoveToolTip, 1000
return
ButtonRotationAngleDown:
MouseRotationAnglePart--
If MouseRotationAnglePart < 0
	MouseRotationAnglePart = 7
MouseRotationAngle = %MouseRotationAnglePart%
MouseRotationAngle *= 45
ToolTip, Mouse rotation angle: %MouseRotationAngle%
SetTimer, RemoveToolTip, 1000
return

ButtonUp:
ButtonDown:
ButtonLeft:
ButtonRight:
ButtonUpLeft:
ButtonUpRight:
ButtonDownLeft:
ButtonDownRight:
If Button <> 0
{
	IfNotInString, A_ThisHotkey, %Button%
	{
		MouseCurrentAccelerationSpeed = 0
		MouseCurrentSpeed = %MouseSpeed%
	}
}
StringReplace, Button, A_ThisHotkey, *

ButtonAccelerationStart:
If MouseAccelerationSpeed >= 1
{
	If MouseMaxSpeed > %MouseCurrentSpeed%
	{
		Temp = 0.001
		Temp *= %MouseAccelerationSpeed%
		MouseCurrentAccelerationSpeed += %Temp%
		MouseCurrentSpeed += %MouseCurrentAccelerationSpeed%
	}
}

;MouseRotationAngle convertion to speed of button direction
{
	MouseCurrentSpeedToDirection = %MouseRotationAngle%
	MouseCurrentSpeedToDirection /= 90.0
	Temp = %MouseCurrentSpeedToDirection%

	if Temp >= 0
	{
		if Temp < 1
		{
			MouseCurrentSpeedToDirection = 1
			MouseCurrentSpeedToDirection -= %Temp%
			Goto EndMouseCurrentSpeedToDirectionCalculation
		}
	}
	if Temp >= 1
	{
		if Temp < 2
		{
			MouseCurrentSpeedToDirection = 0
			Temp -= 1
			MouseCurrentSpeedToDirection -= %Temp%
			Goto EndMouseCurrentSpeedToDirectionCalculation
		}
	}
	if Temp >= 2
	{
		if Temp < 3
		{
			MouseCurrentSpeedToDirection = -1
			Temp -= 2
			MouseCurrentSpeedToDirection += %Temp%
			Goto EndMouseCurrentSpeedToDirectionCalculation
		}
	}
	if Temp >= 3
	{
		if Temp < 4
		{
			MouseCurrentSpeedToDirection = 0
			Temp -= 3
			MouseCurrentSpeedToDirection += %Temp%
			Goto EndMouseCurrentSpeedToDirectionCalculation
		}
	}
}
EndMouseCurrentSpeedToDirectionCalculation:

;MouseRotationAngle convertion to speed of 90 degrees to right
{
	MouseCurrentSpeedToSide = %MouseRotationAngle%
	MouseCurrentSpeedToSide /= 90.0
	Temp = %MouseCurrentSpeedToSide%
	Transform, Temp, mod, %Temp%, 4

	if Temp >= 0
	{
		if Temp < 1
		{
			MouseCurrentSpeedToSide = 0
			MouseCurrentSpeedToSide += %Temp%
			Goto EndMouseCurrentSpeedToSideCalculation
		}
	}
	if Temp >= 1
	{
		if Temp < 2
		{
			MouseCurrentSpeedToSide = 1
			Temp -= 1
			MouseCurrentSpeedToSide -= %Temp%
			Goto EndMouseCurrentSpeedToSideCalculation
		}
	}
	if Temp >= 2
	{
		if Temp < 3
		{
			MouseCurrentSpeedToSide = 0
			Temp -= 2
			MouseCurrentSpeedToSide -= %Temp%
			Goto EndMouseCurrentSpeedToSideCalculation
		}
	}
	if Temp >= 3
	{
		if Temp < 4
		{
			MouseCurrentSpeedToSide = -1
			Temp -= 3
			MouseCurrentSpeedToSide += %Temp%
			Goto EndMouseCurrentSpeedToSideCalculation
		}
	}
}
EndMouseCurrentSpeedToSideCalculation:

MouseCurrentSpeedToDirection *= %MouseCurrentSpeed%
MouseCurrentSpeedToSide *= %MouseCurrentSpeed%

Temp = %MouseRotationAnglePart%
Transform, Temp, Mod, %Temp%, 2

If Button = NumPadUp
{
	if Temp = 1
	{
		MouseCurrentSpeedToSide *= 2
		MouseCurrentSpeedToDirection *= 2
	}

	MouseCurrentSpeedToDirection *= -1
	MouseMove, %MouseCurrentSpeedToSide%, %MouseCurrentSpeedToDirection%, 0, R
}
else if Button = NumPadDown
{
	if Temp = 1
	{
		MouseCurrentSpeedToSide *= 2
		MouseCurrentSpeedToDirection *= 2
	}

	MouseCurrentSpeedToSide *= -1
	MouseMove, %MouseCurrentSpeedToSide%, %MouseCurrentSpeedToDirection%, 0, R
}
else if Button = NumPadLeft
{
	if Temp = 1
	{
		MouseCurrentSpeedToSide *= 2
		MouseCurrentSpeedToDirection *= 2
	}

	MouseCurrentSpeedToSide *= -1
	MouseCurrentSpeedToDirection *= -1

	MouseMove, %MouseCurrentSpeedToDirection%, %MouseCurrentSpeedToSide%, 0, R
}
else if Button = NumPadRight
{
	if Temp = 1
	{
		MouseCurrentSpeedToSide *= 2
		MouseCurrentSpeedToDirection *= 2
	}

	MouseMove, %MouseCurrentSpeedToDirection%, %MouseCurrentSpeedToSide%, 0, R
}
else if Button = NumPadHome
{
	Temp = %MouseCurrentSpeedToDirection%
	Temp -= %MouseCurrentSpeedToSide%
	Temp *= -1
	Temp2 = %MouseCurrentSpeedToDirection%
	Temp2 += %MouseCurrentSpeedToSide%
	Temp2 *= -1
	MouseMove, %Temp%, %Temp2%, 0, R
}
else if Button = NumPadPgUp
{
	Temp = %MouseCurrentSpeedToDirection%
	Temp += %MouseCurrentSpeedToSide%
	Temp2 = %MouseCurrentSpeedToDirection%
	Temp2 -= %MouseCurrentSpeedToSide%
	Temp2 *= -1
	MouseMove, %Temp%, %Temp2%, 0, R
}
else if Button = NumPadEnd
{
	Temp = %MouseCurrentSpeedToDirection%
	Temp += %MouseCurrentSpeedToSide%
	Temp *= -1
	Temp2 = %MouseCurrentSpeedToDirection%
	Temp2 -= %MouseCurrentSpeedToSide%
	MouseMove, %Temp%, %Temp2%, 0, R
}
else if Button = NumPadPgDn
{
	Temp = %MouseCurrentSpeedToDirection%
	Temp -= %MouseCurrentSpeedToSide%
	Temp2 *= -1
	Temp2 = %MouseCurrentSpeedToDirection%
	Temp2 += %MouseCurrentSpeedToSide%
	MouseMove, %Temp%, %Temp2%, 0, R
}

SetTimer, ButtonAccelerationEnd, 10
return

ButtonAccelerationEnd:
GetKeyState, kstate, %Button%, P
if kstate = D
	Goto ButtonAccelerationStart

SetTimer, ButtonAccelerationEnd, off
MouseCurrentAccelerationSpeed = 0
MouseCurrentSpeed = %MouseSpeed%
Button = 0
return

;Mouse wheel movement support

ButtonWheelSpeedUp:
MouseWheelSpeed++
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
MouseWheelSpeedReal = %MouseWheelSpeed%
MouseWheelSpeedReal *= %MouseWheelSpeedMultiplier%
ToolTip, Mouse wheel speed: %MouseWheelSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return
ButtonWheelSpeedDown:
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
If MouseWheelSpeedReal > %MouseWheelSpeedMultiplier%
{
	MouseWheelSpeed--
	MouseWheelSpeedReal = %MouseWheelSpeed%
	MouseWheelSpeedReal *= %MouseWheelSpeedMultiplier%
}
If MouseWheelSpeedReal = 1
	ToolTip, Mouse wheel speed: %MouseWheelSpeedReal% line
else
	ToolTip, Mouse wheel speed: %MouseWheelSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return

ButtonWheelAccelerationSpeedUp:
MouseWheelAccelerationSpeed++
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
MouseWheelAccelerationSpeedReal = %MouseWheelAccelerationSpeed%
MouseWheelAccelerationSpeedReal *= %MouseWheelSpeedMultiplier%
ToolTip, Mouse wheel acceleration speed: %MouseWheelAccelerationSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return
ButtonWheelAccelerationSpeedDown:
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
If MouseWheelAccelerationSpeed > 1
{
	MouseWheelAccelerationSpeed--
	MouseWheelAccelerationSpeedReal = %MouseWheelAccelerationSpeed%
	MouseWheelAccelerationSpeedReal *= %MouseWheelSpeedMultiplier%
}
If MouseWheelAccelerationSpeedReal = 1
	ToolTip, Mouse wheel acceleration speed: %MouseWheelAccelerationSpeedReal% line
else
	ToolTip, Mouse wheel acceleration speed: %MouseWheelAccelerationSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return

ButtonWheelMaxSpeedUp:
MouseWheelMaxSpeed++
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
MouseWheelMaxSpeedReal = %MouseWheelMaxSpeed%
MouseWheelMaxSpeedReal *= %MouseWheelSpeedMultiplier%
ToolTip, Mouse wheel maximum speed: %MouseWheelMaxSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return
ButtonWheelMaxSpeedDown:
RegRead, MouseWheelSpeedMultiplier, HKCU, Control Panel\Desktop, WheelScrollLines
If MouseWheelSpeedMultiplier <= 0
	MouseWheelSpeedMultiplier = 1
If MouseWheelMaxSpeed > 1
{
	MouseWheelMaxSpeed--
	MouseWheelMaxSpeedReal = %MouseWheelMaxSpeed%
	MouseWheelMaxSpeedReal *= %MouseWheelSpeedMultiplier%
}
If MouseWheelMaxSpeedReal = 1
	ToolTip, Mouse wheel maximum speed: %MouseWheelMaxSpeedReal% line
else
	ToolTip, Mouse wheel maximum speed: %MouseWheelMaxSpeedReal% lines
SetTimer, RemoveToolTip, 1000
return

ButtonWheelUp:
ButtonWheelDown:

If Button <> 0
{
	If Button <> %A_ThisHotkey%
	{
		MouseWheelCurrentAccelerationSpeed = 0
		MouseWheelCurrentSpeed = %MouseWheelSpeed%
	}
}
StringReplace, Button, A_ThisHotkey, *

ButtonWheelAccelerationStart:
If MouseWheelAccelerationSpeed >= 1
{
	If MouseWheelMaxSpeed > %MouseWheelCurrentSpeed%
	{
		Temp = 0.001
		Temp *= %MouseWheelAccelerationSpeed%
		MouseWheelCurrentAccelerationSpeed += %Temp%
		MouseWheelCurrentSpeed += %MouseWheelCurrentAccelerationSpeed%
	}
}

If Button = NumPadSub
	MouseClick, wheelup,,, %MouseWheelCurrentSpeed%, 0, D
else if Button = NumPadAdd
	MouseClick, wheeldown,,, %MouseWheelCurrentSpeed%, 0, D

SetTimer, ButtonWheelAccelerationEnd, 100
return

ButtonWheelAccelerationEnd:
GetKeyState, kstate, %Button%, P
if kstate = D
	Goto ButtonWheelAccelerationStart

MouseWheelCurrentAccelerationSpeed = 0
MouseWheelCurrentSpeed = %MouseWheelSpeed%
Button = 0
return

RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return

error: pathspec 'NumpadMouse.ahk' did not match any file(s) known to git


Add small windows autohotkey script.

Add small windows autohotkey script.

Capslock::Ctrl

; Window management

#h::SendEvent #{Left}
#l::SendEvent #{Right}
#j::SendEvent #{Down}
#k::SendEvent #{Up}

; Windows Explorer Navigation

#IfWinActive, ahk_class CabinetWClass
^h::
   ControlGet renamestatus,Visible,,Edit1,A
   ControlGetFocus focussed, A
   if(renamestatus!=1&&(focussed=DirectUIHWND3?||focussed=SysTreeView321))
   {
    SendInput {Alt Left}
  }else{
      Send {Backspace}
  }
#IfWinActive

error: pathspec 'remapWinArrow.ahk' did not match any file(s) known to git


add script cardid updater

add script cardid updater

error: pathspec 'scriptcardidupdater.ahk' did not match any file(s) known to git


updated code for unit_test acceptance

updated code for unit_test acceptance

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec '1.4.ahk' did not match any file(s) known to git


Create autoDocument.ahk

Create autoDocument.ahk

Automatic HTML document creator script

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

::peicon::
Send <link rel="icon" href="pelement.png">
return

::font_roboto::
Send <link href="https://fonts.googleapis.com/css?family=Roboto:300,700" rel="stylesheet" type="text/css">
return

::::
Send <!DOCTYPE html>{Enter}{Enter}  {Enter}  <title></title>{Enter}<link rel="icon" href="pelement.png">{Enter}<link href="https://fonts.googleapis.com/css?family=Roboto:300,700" rel="stylesheet" type="text/css">{Enter}{Enter}{Enter}{Enter}{BS}{Enter}{Enter}{Enter}{Enter}{BS}
return

error: pathspec 'autoDocument.ahk' did not match any file(s) known to git


Added simple AHK snippet file (for testing)

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

:*:ffjmmm::Journal of Magnetism and Magnetic Materials

error: pathspec 'bin/snippets.ahk' did not match any file(s) known to git


Add in last change bad prefix loop

Add in last change bad prefix loop

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec 'Revised.ahk' did not match any file(s) known to git


Delete Format Test.ahk

Delete Format Test.ahk

error: pathspec '1.4/Format' did not match any file(s) known to git
error: pathspec 'Test.ahk' did not match any file(s) known to git


win + f runs everything

win + f runs everything

#SingleInstance, Force
SendMode Input
SetWorkingDir, %A_ScriptDir%

; rebind [win] + [f] to run everything
#f::
Run, C:\Program Files\Everything\Everything.exe
Return

error: pathspec 'autohotkey-win-f-everything.ahk' did not match any file(s) known to git


Update D2SpaceModifier.ahk

Update D2SpaceModifier.ahk

error: pathspec 'source' did not match any file(s) known to git
error: pathspec 'code/D2SpaceModifier.ahk' did not match any file(s) known to git


added AutoHotkey script

added AutoHotkey script

#IfWinActive ahk_class CabinetWClass
;#IfWinActive Desktop
#space::
WinGet, Hwnd
Run "Glimpse.exe" %Hwnd%
return

Escape::
if Process,Exist,"Glimpse.exe"
	Run Notepad
return

#IfWinActive

error: pathspec 'GlimpseHotkeys.ahk' did not match any file(s) known to git


Updated on 2015-05-30: sumo

Updated on 2015-05-30: sumo

https://chocolatey.org/packages/sumo

#NoEnv
SetTitleMatchMode, 1  ;matches if title begins with string
DetectHiddenText, off
DetectHiddenWindows, off
WinWait, KC Softwares, Navigation Bar, 30
WinActivate
Send, ^w
ExitApp

error: pathspec 'automatic/_output/sumo/4.2.1.293/tools/sumoInstall.ahk' did not match any file(s) known to git


add new command functions

add new command functions

/*
	minimize active window
*/
command_min(option) {
	WinMinimize, A
}

/*
	maximize active window
*/
command_max(option) {
	WinMaximize, A
}

/*
	send ctrl + s
*/
command_w(option) {
	Send, ^s
}

/*
	adjust window invisibility 0 ~ 255
*/
command_trans(option){
	if(option = "")
		option := 35

	WinSet, Transparent, %option% , A
}

/*
	reset window inivisibility
*/
command_notrans(option){
	WinSet, Transparent, OFF, A
}

/*
	kill process (active window)
*/
command_kill(option){
	WinKill, A
}

/*
	always on top (toggle)
*/
command_top(option){
	WinSet, AlwaysOnTop, Toggle, A
}

/*
	get color at mouse pointer
*/
command_color(option){
	MouseGetPos,x,y
	PixelGetColor,rgb,x,y,RGB
	StringTrimLeft,rgb,rgb,2
	Clipboard=%rgb%
	Return
}

error: pathspec 'src/Commands.ahk' did not match any file(s) known to git


Updated on 2015-05-24: adwcleaner

Updated on 2015-05-24: adwcleaner

#NoEnv
SetTitleMatchMode, RegEx
DetectHiddenText, off
DetectHiddenWindows, off

loop,
{
  Sleep, 250
  IfWinExist, Outdated version, Cancel
  {
    WinActivate
    ControlClick, Button2, Outdated version, Cancel
  }
  IfWinExist, AdwCleaner - Terms of use, I agree
  {
    WinActivate
    ControlClick, Button1, AdwCleaner - Terms of use, I agree,
  }
  IfWinExist, AdwCleaner - v, Scan
  {
    WinClose, AdwCleaner - v, Scan
    ExitApp
  }
}

error: pathspec 'automatic/_output/adwcleaner/5.021/tools/chocolateyInstall.ahk' did not match any file(s) known to git


add beginning commit

add beginning commit

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mingone/efficiently.git/'


update BJC buy in

update BJC buy in


Added AutoHotKey file

Added AutoHotKey file

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance

;hotkey (CTRL + WIN + z) function (Refresh AHK script in workspace)
^<#z::
   Run, "C:\Users\gordon\workspace\firstauto.ahk"
   Sleep 50
   Send {enter}
Return
;
; ############################# MAPPING REFERENCE #############################
; ^ = Control Key
; Tab = Tab
; CapsLock = CapsLock
; Enter = Enter
; Esc = Escape
; BS = Backspace
; Shift or + = Shift
; Alt or ! = Alt
; <# = Left Windows Key ># = Right Windows Key
; <^ or >^ = Left or Right Control
; <+ or >+ = Left or Right Shift
; <! or >! = Left or Right Alt
;
; Browser_Back = Back
; Browser_Forward = Forward
;
; Sending keystrokes:
;   Send {enter}   // will send the enter key
; #############################################################################

; ################################## EXAMPLES #################################
;
; 1. Run some arbitrary program
;   +<#o::Run "C:\Path\to\exe.exe"
;
; #############################################################################

; ################################ OPENING APPS ###############################

;hotkey (ALT + WIN + C) function (Open Calculator)
!<#c::Run calc.exe

;hotkey (WIN + V) function (Open VPN Apps)
<#v::
    Run, "C:\Program Files (x86)\Symantec\VIP Access Client\VIPUIManager.exe"
    Sleep 150
    Run, "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
Return

;hotkey (CTRL + WIN + j) function (Open Git Bash)
^<#j:: Run, "C:\Program Files\Git\git-bash.exe"

; #############################################################################

; ########################### CHROME RELATED HOTKEYS ###########################

; Cannot properly map anything to "^Tab". For some reason, it always adds a shift
+XButton1:: Send {LCtrl down}{LShift down}{Tab}{LCtrl up}{LShift up}
+XButton2::Send {LCtrl down}{Tab}{LCtrl up}

; Open new tab in chrome and paste link from clipboard
^<#x::
  Send ^C
  Sleep 50
  Send #2
  Sleep 50
  Send ^t
  sleep 50
  Send ^l
  sleep 50
  Send ^v
  sleep 50
  Send {Enter}
Return

;; Jenkins Launch Arbitrary Shell Command
;^Xbutton2::
;  send {^l}
;  SendRaw {https://cme-pmob.jenkins.release.in.here.com/job/GDF_EXTRACTION/job/Run%20Arbitrary%20Shell%20Command/build?delay=0sec}
;  send {enter}
;Return

; #############################################################################

;############################### TERMINAL HOTKEYS #############################

; ################### Code Generators ####################
::listgen::val sampleList = Vector("This","is","a","vector","of","strings")
::forcomp::
    Send val sampleCollection = List("sample","hi")`n
    Send val someVar = for {{}`n
    Send     string <- sampleCollection`n
    Send     if string == "hi"{Down}{Space}yield string
Return

::shebang::{#}{!}/bin/bash
::scalalsgrep::val javaProcs = ("ls" {#}| "grep sbt").lineStream.toList
::gitger::git push origin HEAD:refs/for/master

; Create case match template
;::casematches::
;(
;def listAnalysis(list: List[Any]) = list match {
;  case Nil => "empty"
;  case 'a' :: tail => "starting by 'a'"
;  case (head:Int) :: _ if head > 3 => "starting by an int greater than 3"
;  case (head:Int) :: _ => "starting by an int"
;  case _ => "whatever"
;}
;)

::Teusday::Tuesday
::btw::By the way

^+d::
    Send, logout
    Send {Enter}
Return

;##########################################################################

; ################### MOUSE SENSITIVITY SETTINGS #########################

^<#m::
  ; 'UInt' is the type of the first parm
  ; The first param VALUE is "0x71", which is just hexidecimal for 113
  ; The next param is (UInt, 0), where '0' is required for "0x71"
  ; The pvParam parameter is an integer between 1 (slowest) and 20 (fastest).
  DllCall("SystemParametersInfo", UInt, 0x71, UInt, 0, UInt, 10, UInt, 0)
Return

; When Roccat is plugged in
^<#n::
  DllCall("SystemParametersInfo", UInt, 0x71, UInt, 0, UInt, 4, UInt, 0)
Return
;##########################################################################

; ################### AUTO HOT KEY IDEAS #################
;
; Remap ^] to +tab in gmail so I can just use +tab to indent a list
; Remap "casematch + tab" to generate a case match template
;

; Type the date using "]d"
:*:]d::  ; This hotstring replaces "]d" with the current date and time via the commands below.
FormatTime, CurrentDateTime,, M/d/yyyy h:mm tt  ; It will look like 9/1/2005 3:53 PM
SendInput %CurrentDateTime%
return

; ########################### CAPSLOCK REMAPPING ###########################
; >^ is right control
; Remap Capslock because you never use it
; Now Capslock can be used as control
; >^Capslock::Capslock
; Capslock::Ctrl
; ##########################################################################

error: pathspec 'ahk/firstauto.ahk' did not match any file(s) known to git


Create 28. Configure Group Call Processing Page.ahk

templates/autohotkey_scripts/28. Configure Group Call Processing Page.ahk

error: pathspec 'templates/autohotkey_scripts/28.' did not match any file(s) known to git
error: pathspec 'Configure' did not match any file(s) known to git
error: pathspec 'Group' did not match any file(s) known to git
error: pathspec 'Call' did not match any file(s) known to git
error: pathspec 'Processing' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


Update Rewrite of 1.4.ahk

Update Rewrite of 1.4.ahk


Update D2SpaceModifier.ahk

Update D2SpaceModifier.ahk


Update and rename Sample to Sample/AutoHotkey/Sample.ahk

#include ExprSolver.ahk

lpszExprSolverDll := "..\..\ExprSolver.dll"

gDll := ExprSolverOpen(lpszExprSolverDll, True)
dReturn := ExprSolver_Test("(1*2)*(6^5)+sin(30)+cos(2)*int(4.6)")

If ExprSolver_GetLastError() = T_ERROR_SUCCESS {
    MsgBox, 4096, Test, %dReturn%
} Else {
    MsgBox, 4096, Test, "Error"
}

ExprSolverClose(gDll)

error: pathspec 'Sample/AutoHotkey/Sample.ahk' did not match any file(s) known to git


Updated on 2015-05-30: sumo

Updated on 2015-05-30: sumo

error: pathspec 'automatic/_output/sumo/4.2.0.292/tools/sumoInstall.ahk' did not match any file(s) known to git


Add audacity.ahk to paste loop points into Audacity's selection editor.

; Audacity doesn't let you paste directly into the selection length editor.
; So I whipped up this script which does that for you.

; To use, copy a loopplayer "start.stop" string.
; Set the selection mode to "End samples", highlight the leftmost "samples" cell,
; and press ctrl-alt-V.

; # Win (Windows logo key)
; ! Alt
; ^ Control
; + Shift
; &  An ampersand may be used between any two keys or mouse buttons to combine them into a custom hotkey.

; setkeydelay 500

zeropad(num, size) {
	prefix := ""
	; msgbox % "zeropad strlen " . strlen(num)
	loop % (size - strlen(num)) {
		prefix := prefix . "0"
	}
	; msgbox % "prefix " . prefix
	return prefix . num
}

$^!v::
	; ControlGetText OutputVar, Control, WinTitle, WinText, ExcludeTitle, ExcludeText
	; ; msgbox %OutputVar%, %Control%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%, %ErrorLevel%

	numbers := strsplit(clipboard, ".")
	output := ""

	for _, value in numbers {
		; msgbox % "buffer " . output
		if strlen(output) {
			output := output . "{Tab}"
		}
		output := output . zeropad(value, 9)
	}

	; ; msgbox % output

	SendEvent % output
	return

error: pathspec 'audacity.ahk' did not match any file(s) known to git


Delete Version_check_serialmacro.ahk

Delete Version_check_serialmacro.ahk

error: pathspec '00_Effectivity' did not match any file(s) known to git
error: pathspec 'macro' did not match any file(s) known to git
error: pathspec 'v1.2/Version_check_serialmacro.ahk' did not match any file(s) known to git


Create test_EMB_Core_BlockComment.ahk

Create test_EMB_Core_BlockComment.ahk

#SingleInstance, Force
#Include EMB_Core_BlockComment.ahk
EMB_Compact_Transpile := 0

FileRead, mbsource, someMB.txt

mbsource := EMB_Core_BlockComment(mbsource)
FileAppend, `r`n`r`n-----------------------------------------------------------`r`n`r`n, someMB.txt
FileAppend, %mbsource%, someMB.txt

return

error: pathspec 'Research/Block-Commenting/test_EMB_Core_BlockComment.ahk' did not match any file(s) known to git


Added onmipresent script

Added onmipresent script

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;Make capslock harder to hit
+Capslock::Capslock
Capslock::Control

error: pathspec 'autohotkey/omnipresent.ahk' did not match any file(s) known to git


code updates

code updates

fixed bug of paused showing up when hitting ctrl 1

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec 'Revised.ahk' did not match any file(s) known to git


Updated on 2015-04-11: github

Updated on 2015-04-11: github

; default environment
DetectHiddenWindows, off
SetControlDelay, 20

; modified environment
#NoEnv
#NoTrayIcon
DetectHiddenText, off
SetTitleMatchMode, RegEx

WinWait, GitHub Maintenance, Choose the type of maintenance you need, 120
WinActivate
ControlClick, &OK, GitHub Maintenance

ExitApp

error: pathspec 'automatic/_output/github/3.0.7.1/tools/githubUninstall.ahk' did not match any file(s) known to git


Updated on 2015-05-24: adwcleaner

Updated on 2015-05-24: adwcleaner

error: pathspec 'automatic/_output/adwcleaner/5.014/tools/chocolateyInstall.ahk' did not match any file(s) known to git


Create Parent2Gem.ahk

Create Parent2Gem.ahk

New Update - bugfixes

; AutoHotkey Version: 1.1x
; Language:       English
; Author:         8thSeaOfRhye
;
;                     #####         Parent2Gem.ahk - Version 2       #####
;
;                     ##### Description of Purpose and Functionality #####
;
; ###            General             ###
; This script translates a String containing the Parenthesis-( i.e. Bracket-)Version of
; a speccing or combining scheme for gemcraft into actual commands for the gems creation.
; Works best in a STANDALONE FLASHPLAYER set to FULLSCREEN.
; It is hopefully easy to use and customize.
; The section which has to be changed is almost right at the top of the following code,
; namely under the command "!C::", and is commented to indicate the exact usage.
;
; The STANDARD HOTKEY is  Alt + c (No shift!!). This corresponds to "!C".
; Check ahkscript.org for Hotkey usage.
;
; CombiningMode is turned on by default. Speccing still works. Suggestion: Don't turn it off...
;
;
; ###  Syntax for the Bracket-Formula ###
;
; Obviously:
; 		r = Red / b = Black / o = orange / y = yellow
;
; Maybe a little less obviously:
;
;		g / k = copy of gem in the BOTTOM-LEFT! corner of the 12*3 craftingfield
;
; Furthermore:   ### New Features ###
;
;		the numerals 2 to 9 followed by any of the above = Corresponding color (or duplicate, respectively), upgraded 1 to 8 times
;
;		Examples: 9o / 2g = Orange upgraded 8 times (grade 9) / Base-gem (BottomLeft corner) upgraded once
;		(Needless to say, the upgrading happens via the "u"-button.)
;
; And:
;
;		a / s / d  =  use (left / middle / right) gem in the top row of the 3*12 craftingfield
;
;		(The order is inspired by the position of the keys on a standard keyboard.
;		 Attention: Those three can't be used in combination with numerals.)

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
;
;
;
;

!C::
;             I
; #####      V V       																					 #########
; #####       V        INSERT THE SCHEME TO BE COMBINED INBETWEEN THE QUTATION-MARKS IN THE LINE BELOW   #########
ParentStr := "(((((((g+g)+(g+g))+((g+g)+(g+g)))+(((g+g)+(g+g))+((g+g)+(g+g))))+((((g+g)+(g+g))+((g+g)+(g+g)))+(((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g))))))))+(((((g+g)+(g+g))+((g+g)+(g+g)))+(((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g)))))))+((((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g))))))+(((g+g)+(g+(g+(g+(g+g)))))+((g+(g+(g+g)))+((g+(g+g))+((g+g)+((g+g)+(g+(g+(g+(g+g))))))))))))+((((((g+g)+(g+g))+((g+g)+(g+g)))+(((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g)))))))+((((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g))))))+(((g+g)+(g+(g+(g+(g+g)))))+((g+(g+(g+g)))+((g+(g+g))+((g+g)+((g+g)+(g+(g+(g+(g+g)))))))))))+(((((g+g)+(g+g))+((g+g)+(g+(g+(g+(g+g))))))+(((g+g)+(g+(g+(g+(g+g)))))+((g+(g+(g+g)))+((g+(g+g))+((g+g)+((g+g)+(g+(g+(g+(g+g))))))))))+((((g+g)+(g+(g+(g+(g+g)))))+((g+(g+(g+g)))+((g+(g+g))+((g+g)+((g+g)+(g+(g+(g+(g+g)))))))))+(((g+(g+(g+g)))+((g+(g+g))+((g+g)+(g+(g+(g+(g+g)))))))+(((g+(g+g))+((g+g)+(g+(g+(g+(g+(g+g)))))))+(((g+g)+((g+g)+(g+(g+(g+(g+g))))))+((g+(g+(g+(g+(g+g)))))+((g+(g+(g+g)))+((g+(g+g))+((g+(g+g))+((g+g)+(g+(g+(g+(g+(g+g)))))))))))))))))"

; #####   						The default example is some random 1024 combine							 #########

CombineMode := True
LastGemPos := 1

TopLeftCornerX := 1127 				;  ####### ENTER THE COORDINATES OF THE 3*12 CRAFTINGFIELD ON YOUR SCREEN #########
TopLeftCornerY := 175 				;	###### If you don't know how to obtain those values, you'd better  ########
BottomRightCornerX := 1234 			;    ##### ask somebody. They don't have to be really precise.     #######
BottomRightCornerY := 602 			;	  #### AND THAT'S IT! The script should work for you now!  ######

FieldWidth := (BottomRightCornerX - TopLeftCornerX) / 3
FieldHeight := (BottomRightCornerY - TopLeftCornerY) / 12
CraftingField := [BottomRightCornerX -(FieldWidth / 2), BottomRightCornerY -(FieldHeight / 2)]

SetDefaultMouseSpeed, 0
i := 0
j := 0
StkCount := 1
initPos := [TopLeftCornerX + (FieldWidth / 2), BottomRightCornerY - (FieldHeight * 1.5)]
StackFields := []
While i < 12
{
	while j < 3
	{
		StackFields[StkCount, 1] := initPos[1] + (j * FieldWidth)
		StackFields[StkCount, 2] := initPos[2] - (i * FieldHeight)
		StkCount := StkCount + 1
		j := j + 1
	}
	j := 0
	i := i + 1
}

; For FieldNum, FieldValue in StackFields
;	MsgBox % " Coordinates of Stack-Field #" . FieldNum .  ": " . FieldValue[1] . FieldValue[2]

CurrentStk := 0

OGem() {
	global CraftingField
	Send {Numpad7}
	MouseClick, left, CraftingField[1], CraftingField[2]
}
YGem() {
	global CraftingField
	Send {Numpad8}
	MouseClick, left, CraftingField[1], CraftingField[2]
}
BGem() {
	global CraftingField
	Send {Numpad1}
	MouseClick, left, CraftingField[1], CraftingField[2]
}
RGem() {
	global CraftingField
	Send {Numpad4}
	MouseClick, left, CraftingField[1], CraftingField[2]
}

GGem() {
	global CraftingField
	global FieldWidth
	MouseMove, CraftingField[1]-(2*FieldWidth), CraftingField[2]
	send d
}

AddtoStk() {
	global CraftingField
	global CurrentStk
	global StackFields
	if CurrentStk != 0
		{
		Send g
		MouseClickDrag, L, CraftingField[1], CraftingField[2], StackFields[CurrentStk][1], StackFields[CurrentStk][2]
		}
}

MovetoStk() {
	global CraftingField
	global CurrentStk
	global StackFields
	CurrentStk := CurrentStk + 1
	MouseClickDrag, L, CraftingField[1], CraftingField[2], StackFields[CurrentStk][1], StackFields[CurrentStk][2]
}

PopStk() {
	global CraftingField
	global CurrentStk
	global StackFields
	if CurrentStk > 1
		{
		Send g
		MouseClickDrag, L, StackFields[CurrentStk][1], StackFields[CurrentStk][2], StackFields[CurrentStk - 1][1], StackFields[CurrentStk - 1][2]
		CurrentStk := CurrentStk - 1
		}
}

if (CombineMode = True) {
	StrPosEnd := StrLen(ParentStr)
	ElementFound := False
	While ElementFound = False {
		if (SubStr(ParentStr, StrPosEnd, 1) != ")") {
			ElementFound := True
			LastGemPos := StrPosEnd
		}
		StrPosEnd := StrPosEnd - 1
	}
}

StrPos := 1
Parents := []

While StrPos < StrLen(ParentStr) {
	if (SubStr(ParentStr, StrPos, 1) = "(") {
		if ((SubStr(ParentStr, StrPos - 1, 1) = "(") or (StrPos = 1))
			Parents.Insert(False)
		else
			Parents.Insert(True)
	}

	if (SubStr(ParentStr, StrPos, 1) = ")") {
		if (Parents[Parents.MaxIndex()] = True)
			PopStk()
		Parents.remove(Parents.MaxIndex())
	}

	if (SubStr(ParentStr, StrPos, 1) = "o") {
		OGem()
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
	}

	if (SubStr(ParentStr, StrPos, 1) = "r") {
		RGem()
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
	}

	if (SubStr(ParentStr, StrPos, 1) = "b") {
		BGem()
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
	}

	if (SubStr(ParentStr, StrPos, 1) = "y") {
		YGem()
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
	}

	if ((SubStr(ParentStr, StrPos, 1) = "g") or (SubStr(ParentStr, StrPos, 1) = "k") or (SubStr(ParentStr, StrPos, 1) = "m")) {
		if (LastGemPos != StrPos)
			GGem()
		else
			MouseClickDrag, L, CraftingField[1]-(2*FieldWidth), CraftingField[2], CraftingField[1], CraftingField[2]
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
	}

	if ((SubStr(ParentStr, StrPos, 1) < 10) and (SubStr(ParentStr, StrPos, 1) > 1)) {
		if (SubStr(ParentStr, StrPos + 1, 1) = "o")
			OGem()
		if (SubStr(ParentStr, StrPos + 1, 1) = "y")
			YGem()
		if (SubStr(ParentStr, StrPos + 1, 1) = "b")
			BGem()
		if (SubStr(ParentStr, StrPos + 1, 1) = "r")
			RGem()
		if (SubStr(ParentStr, StrPos + 1, 1) = "g") {
			if (LastGemPos != StrPos + 1)
				GGem()
			else
				MouseClickDrag, L, CraftingField[1]-(2*FieldWidth), CraftingField[2], CraftingField[1], CraftingField[2]
		}
		UCount := 1
		While UCount <= SubStr(ParentStr, StrPos + 1, 1) {
			MouseMove, CraftingField[1], CraftingField[2]
			send u
			UCount := UCount + 1
		}

		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()
		StrPos := StrPos + 1
	}

	if (SubStr(ParentStr, StrPos, 1) = "a") {
		MouseClickDrag, L, TopLeftCornerX + (FieldWidth / 2), TopLeftCornerY + (FieldHeight / 2), CraftingField[1], CraftingField[2]
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()

	}
	if (SubStr(ParentStr, StrPos, 1) = "s") {
		MouseClickDrag, L, TopLeftCornerX + (FieldWidth * 1.5), TopLeftCornerY + (FieldHeight / 2), CraftingField[1], CraftingField[2]
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()

	}
	if (SubStr(ParentStr, StrPos, 1) = "d") {
		MouseClickDrag, L, TopLeftCornerX + (FieldWidth * 2.5), TopLeftCornerY + (FieldHeight / 2), CraftingField[1], CraftingField[2]
		if (SubStr(ParentStr, StrPos - 1, 1) = "(")
			MovetoStk()
		else
			AddtoStk()

	}
	StrPos := StrPos + 1
}
Return

error: pathspec 'Parent2Gem.ahk' did not match any file(s) known to git


Updated on 2015-04-11: github

Updated on 2015-04-11: github


Update D2SpaceModifier.ahk

Update D2SpaceModifier.ahk

error: pathspec 'source' did not match any file(s) known to git
error: pathspec 'code/D2SpaceModifier.ahk' did not match any file(s) known to git


Create 11. IC Database Name Page.ahk

Create 11. IC Database Name Page.ahk

templates/autohotkey_scripts/11. IC Database Name Page.ahk

error: pathspec 'templates/autohotkey_scripts/11.' did not match any file(s) known to git
error: pathspec 'IC' did not match any file(s) known to git
error: pathspec 'Database' did not match any file(s) known to git
error: pathspec 'Name' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


ahk: windows and osx same shift space shortcuts.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mccgit/dotfiles.git/'


update to 0.9.5 beta

update to 0.9.5 beta

error: pathspec 'Warlock' did not match any file(s) known to git
error: pathspec 'Bot.ahk' did not match any file(s) known to git


Updated code to work with more unit tests


update to 0.9.3 ver

update to 0.9.3 ver


Added Double click function

Added Double click function


For Win 7+, Remap win+L, resolve conflict with i3

I use win+L (meta4) heavily in i3wm, my window manager for Linux environments.

if not A_IsAdmin
{
  Run *RunAs "%A_ScriptFullPath%"
  ExitApp
}

;Disable Win+L on script load
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1

;Remap locking function to Win+Z
#Z::
  ; re-enable locking workstation, then lock it
  RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 0
  DllCall("LockWorkStation")
;after locking workstation force a reload of this script which effectively disables Win + L locking the computer again, but LAlt + L will lock it
  Sleep, 3000
  RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1
return

;Who uses capslock anyway?
Capslock::Ctrl

;Turn off that damn narrator
#Enter::
return

error: pathspec 'WinLockRemap.ahk' did not match any file(s) known to git


Create 13. SQL Database Files Page.ahk

Create 13. SQL Database Files Page.ahk

templates/autohotkey_scripts/13. SQL Database Files Page.ahk

error: pathspec 'templates/autohotkey_scripts/13.' did not match any file(s) known to git
error: pathspec 'SQL' did not match any file(s) known to git
error: pathspec 'Database' did not match any file(s) known to git
error: pathspec 'Files' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


fix input esc bug

fix input esc bug

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mingone/efficiently.git/'


Update D2SpaceModifier.ahk

Update D2SpaceModifier.ahk


Updated on 2015-05-30: sumo

error: pathspec 'automatic/_output/sumo/4.2.1.293/tools/sumoInstall.ahk' did not match any file(s) known to git


Create Copy Host Id to Clipboard.ahk

Create Copy Host Id to Clipboard.ahk

templates/autohotkey_scripts/Copy Host Id to Clipboard.ahk

error: pathspec 'templates/autohotkey_scripts/Copy' did not match any file(s) known to git
error: pathspec 'Host' did not match any file(s) known to git
error: pathspec 'Id' did not match any file(s) known to git
error: pathspec 'to' did not match any file(s) known to git
error: pathspec 'Clipboard.ahk' did not match any file(s) known to git


autohotkey: add script for moving window to next screen

; will move the window to the other screen and keep dimensions

#Down::
MMPrimDPI := 1.0 ;DPI Scale of the primary monitor (divided by 100).
MMSecDPI := 1.0  ;DPI Scale of the secondary monitor (divided by 100).
SysGet, MMCount, MonitorCount
SysGet, MMPrimary, MonitorPrimary
SysGet, MMPrimLRTB, Monitor, MMPrimary
WinGetPos, MMWinGetX, MMWinGetY, MMWinGetWidth, MMWinGetHeight, A
MMWinGetXMiddle := MMWinGetX + (MMWinGetWidth / 2)
MMDPISub := Abs(MMPrimDPI - MMSecDPI) + 1
;Second mon is off, window is lost, bring to primary
if ( (MMCount = 1) and !((MMWinGetXMiddle > MMPrimLRTBLeft + 20) and (MMWinGetXMiddle < MMPrimLRTBRight - 20) and (MMWinGetY > MMPrimLRTBTop + 20) and (MMWinGetY < MMPrimLRTBBottom - 20)) ){
    if ((MMPrimDPI - MMSecDPI) >= 0)
        MMWHRatio := 1 / MMDPISub
    Else
        MMWHRatio := MMDPISub
    MMWinMoveWidth := MMWinGetWidth * MMWHRatio
    MMWinMoveHeight := MMWinGetHeight * MMWHRatio
    WinMove, A,, 0, 0, MMWinMoveWidth, MMWinMoveHeight
    WinMove, A,, 0, 0, MMWinMoveWidth, MMWinMoveHeight ;Fail safe
    return
}
if (MMPrimary = 1)
    SysGet, MMSecLRTB, Monitor, 2
Else
    SysGet, MMSecLRTB, Monitor, 1
MMSecW := MMSecLRTBRight - MMSecLRTBLeft
MMSecH := MMSecLRTBBottom - MMSecLRTBTop
;Primary to secondary
if ( (MMWinGetXMiddle > MMPrimLRTBLeft - 20) and (MMWinGetXMiddle < MMPrimLRTBRight + 20) and (MMWinGetY > MMPrimLRTBTop - 20) and (MMWinGetY < MMPrimLRTBBottom + 20) ){
    if ( (MMSecW) and (MMSecH) ){ ;Checks if sec mon exists. Could have used MMCount instead: if (MMCount >= 2){}
        if ((MMSecDPI - MMPrimDPI) >= 0){
            MMWidthRatio := (MMSecW / A_ScreenWidth) / MMDPISub
            MMHeightRatio := (MMSecH / A_ScreenHeight) / MMDPISub
        }
        Else {
            MMWidthRatio := (MMSecW / A_ScreenWidth) * MMDPISub
            MMHeightRatio := (MMSecH / A_ScreenHeight) * MMDPISub
        }
        MMWinMoveX := (MMWinGetX * MMWidthRatio) + MMSecLRTBLeft
        MMWinMoveY := (MMWinGetY * MMHeightRatio) + MMSecLRTBTop
        if (MMSecLRTBBottom - MMWinMoveY < 82) ;Check if window is going under taskbar and fixes it.
            MMWinMoveY -= 82
        MMWinMoveWidth := MMWinGetWidth * MMWidthRatio
        MMWinMoveHeight := MMWinGetHeight * MMHeightRatio
        WinMove, A,, MMWinMoveX, MMWinMoveY, MMWinMoveWidth, MMWinMoveHeight
        WinMove, A,, MMWinMoveX, MMWinMoveY, MMWinMoveWidth, MMWinMoveHeight
    }
} ;Secondary to primary
Else if ( (MMWinGetXMiddle > MMSecLRTBLeft - 20) and (MMWinGetXMiddle < MMSecLRTBRight + 20) and (MMWinGetY > MMSecLRTBTop - 20) and (MMWinGetY < MMSecLRTBBottom + 20) ){
    if ( (MMSecW) and (MMSecH) ){
        if ((MMPrimDPI - MMSecDPI) >= 0){
            MMWidthRatio := (A_ScreenWidth / MMSecW) / MMDPISub
            MMHeightRatio := (A_ScreenHeight / MMSecH) / MMDPISub
        }
        Else{
            MMWidthRatio := (A_ScreenWidth / MMSecW) * MMDPISub
            MMHeightRatio := (A_ScreenHeight / MMSecH) * MMDPISub
        }
        MMWinMoveX := (MMWinGetX - MMSecLRTBLeft) * MMWidthRatio
        MMWinMoveY := (MMWinGetY - MMSecLRTBTop) * MMHeightRatio
        if (MMPrimLRTBBottom - MMWinMoveY < 82)
            MMWinMoveY -= 82
        MMWinMoveWidth := MMWinGetWidth * MMWidthRatio
        MMWinMoveHeight := MMWinGetHeight * MMHeightRatio
        WinMove, A,, MMWinMoveX, MMWinMoveY, MMWinMoveWidth, MMWinMoveHeight
        WinMove, A,, MMWinMoveX, MMWinMoveY, MMWinMoveWidth, MMWinMoveHeight
    }
} ;If window is out of current monitors' boundaries or if script fails
Else{
    MsgBox, 4, MM, % "Current window is in " MMWinGetX " " MMWinGetY "`nDo you want to move it to 0,0?"
    IfMsgBox Yes
    WinMove, A,, 0, 0
}
return

error: pathspec 'conf/autohotkey/move-window-to-next-screen.ahk' did not match any file(s) known to git


Added autohotkey script for outlook

Added autohotkey script for outlook

#NoEnv
#SingleInstance force
SetTitleMatchMode 2
SendMode, Input
Return
#IfWinActive, - Message
$+Enter::Send, {Enter}
$Enter::Send, +{Enter}

error: pathspec 'windows/fix-outlook-line-breaks.ahk' did not match any file(s) known to git


Update toolkits.ahk

Update toolkits.ahk


Fixed the press to voice chat CapsLock key

error: pathspec 'Dota' did not match any file(s) known to git
error: pathspec '2' did not match any file(s) known to git
error: pathspec 'Keyboard' did not match any file(s) known to git
error: pathspec 'Setups/Project' did not match any file(s) known to git
error: pathspec 'Oracle/Project' did not match any file(s) known to git
error: pathspec 'Oracle.ahk' did not match any file(s) known to git


Add primary AutoHotkey script

Add primary AutoHotkey script

Add primary AutoHotkey script

/*
AutoHotkey.ahk

This is my default ahk script with my most common ahk macros
*/

; *** Config ***
#SingleInstance force

; *** Clipboard ***
$^+v::
ClipSaved := ClipboardAll ;save original clipboard contents
clipboard = %clipboard% ;remove formatting
Send ^v ;send the Ctrl+V command
;sleep 10
clipboard := ClipSaved ;restore the original clipboard contents
ClipSaved = ;clear the variable
Return

; *** Hotstrings ***
:*:]d::  ; This hotstring replaces "]d" with the current date and time via the commands below.
FormatTime, CurrentDateTime,, M/d/yyyy h:mm tt  ; It will look like 9/1/2005 3:53 PM
SendInput %CurrentDateTime%
return

; *** Capslock ***
; Highlighted Text to Upper Case
CapsLock & u::
clipboard =  ;
Send ^c
ClipWait
temp = %clipboard%
StringUpper clipboard, clipboard
Send ^v
return

; Highlighted Text to Lower Case
CapsLock & l::
clipboard =  ;
Send ^c
ClipWait
temp = %clipboard%
StringLower clipboard, clipboard
Send ^v
return

; Trim Highlighted Text
CapsLock & t::
clipboard =  ;
Send ^c
ClipWait
temp = %clipboard%
originalTrimSetting := %A_AutoTrim%
AutoTrim, On
clipboard = %clipboard%
Send ^v
AutoTrim, %originalTrimSetting%
return

; Banion User directory
CapsLock & b::
VarSetCapacity(User, 123)
Result := DllCall("Advapi32.dll\GetUserName", str, User)
Run, explore c:\Users\%User%
return

; Replace Text
CapsLock & h::
;Gui, Add, Text,, Please enter your name:
;Gui, Add, Edit, vName
;Gui, Show
return

;GuiEscape:
;GuiClose:
;Quitter:
;ExitApp

error: pathspec 'ahk/AutoHotkey.ahk' did not match any file(s) known to git


Delete Hung window.ahk

Delete Hung window.ahk

error: pathspec '1.4/Hung' did not match any file(s) known to git
error: pathspec 'window.ahk' did not match any file(s) known to git


Delete Serials GUI.ahk

Delete Serials GUI.ahk

00_Effectivity macro v1.2/Serials GUI.ahk

error: pathspec '00_Effectivity' did not match any file(s) known to git
error: pathspec 'macro' did not match any file(s) known to git
error: pathspec 'v1.2/Serials' did not match any file(s) known to git
error: pathspec 'GUI.ahk' did not match any file(s) known to git


(Reliable IPSECC) Enter credendials with AutoHotkey

#NoTrayIcon

connection=%1%

SplitPath, A_ScriptName,,,, scriptNameNoExt
inifile := scriptNameNoExt ".ini"
IniRead, username, %inifile%, %connection%, Username
IniRead, password, %inifile%, %connection%, Password

SetTitleMatchMode, 3

WinWait, % "VPN Connect - " connection " ahk_class SHREWSOFT_CON ahk_exe ipsecc.exe"
WinGet, ipsecc_hwnd, ID
ControlGet, connect_hwnd, hwnd,, Connect, ahk_id %ipsecc_hwnd%
if ( connect_hwnd )
{
    ControlSetText, Edit1, %username%, ahk_id %ipsecc_hwnd%
    ControlSetText, Edit2, %password%, ahk_id %ipsecc_hwnd%
    ControlClick, Connect, ahk_id %ipsecc_hwnd%
    ExitApp, 0
}
else
{
    WinMinimize, ahk_id %ipsecc_hwnd%
    ExitApp, 1
}

error: pathspec 'misc/reliable_ipsecc/ipsecc_credentials.ahk' did not match any file(s) known to git


Create 20. Mail Providers Page - Other (LDAP, SMTP or IMAP) - No LDAP.ahk

templates/autohotkey_scripts/20. Mail Providers Page - Other (LDAP, SMTP or IMAP) - No LDAP.ahk

/bin/sh: 1: Syntax error: "(" unexpected


Added an example for GTA San Andreas

Added an example for GTA San Andreas

#SingleInstance, force
#NoEnv
#include ..\..\include\ahk\overlay.ahk

text_overlay:=-1

SetParam("use_window", "1")
SetParam("window", "GTA:SA:MP")
return

~1::
if(text_overlay != -1)
	return

text_overlay := TextCreate("Arial", 25, false, false, 300, 300, 0xFFFFFFFF, "Hello world", true, true)
return

~2::
if(text_overlay == -1)
	return

TextDestroy(text_overlay)
text_overlay := -1
return

error: pathspec 'samples/ahk/samp.ahk' did not match any file(s) known to git


Update 0. master.ahk

Update 0. master.ahk

error: pathspec 'templates/autohotkey_scripts/0.' did not match any file(s) known to git
error: pathspec 'master.ahk' did not match any file(s) known to git


Updated with some Unit testing info

Updated with some Unit testing info

error: pathspec '1.4/Rewrite' did not match any file(s) known to git
error: pathspec 'of' did not match any file(s) known to git
error: pathspec '1.4.ahk' did not match any file(s) known to git


use WinWait

use WinWait