added new file

added new file

func_get_key_maps(){
	; numbers
	command_keymap := ["$0", "$1", "$2", "$3", "$4", "$+4", "$5", "$6", "$7", "$8", "$9"]

	; normal commands
	command_keymap.InsertAt(1, "$*i", "$*o",  "$*x", "$*g","$*t","$*r","$*b","$*f","$*q","$*e","$*w","$*a","$*s","$*d")

	; mouse accelator
	command_keymap.InsertAt(1, "$n", "$m",  "$SC033")

	;  colon
	command_keymap.InsertAt(1, "$+SC027")

	return command_keymap
}

/*
	x, +x : delete, backspace
*/
key_x(ByRef input_number){
	if(GetKeyState("Shift"))
		Send, {BackSpace %input_number%}
	else if(input_number <> "")
		Send, {Delete %input_number%}
}

/*
	0 : Home
*/
key_0(ByRef input_number) {
	Send, {Home}
}
/*
	$ : End
*/
key_4(ByRef input_number) {
	if(GetKeyState("shift", "P"))
		Send, {End}
}

/*
	r : Mouse Wheel Up
*/
key_r(ByRef input_number) {
	MouseClick, WheelUp, , , input_number
}

/*
	f  : Mouse Wheel Down
	^f : Page Down
*/
key_f(ByRef input_number) {
	if( GetKeyState("Control") = 1)
		Send, {PGDN %input_number%}
	else
		MouseClick, WheelDown, , , input_number
}

/*
	^b : Page Up
*/
key_b(ByRef input_number) {
	if( GetKeyState("Control") = 1)
		Send, {PGUP %input_number%}
}

/*
	q : Click Mouse Left Button
	^q : Click Hold
	+q : unHold
*/
key_q(ByRef input_number) {
	if( GetKeyState("Control") = 1)
		Click Down Left
	else if( GetKeyState("Shift") = 1)
		Click Up Left
	else if( GetKeyState("Space", "p") = 1)
		MouseMove, 5, 5
	else
		Click, Left, %input_number%
}

/*
	e : Click Mouse Right Button
	^e : Click Hold
	+e : unHold
*/
key_e(ByRef input_number) {
	if( GetKeyState("Control") = 1)
		Click Down Right
	else if( GetKeyState("Shift") = 1)
		Click Up Right
	else
		Click, Right, %input_number%
}

/*
	Control Mouse Pointer movement By w a s d
	w : up
	a : left
	s : down
	d : right
*/
key_w(ByRef input_number) {
	if(input_number = "")
		input_number := 1
	func_mouse_move( input_number , 1, 1, 1 )
}
key_a(ByRef input_number) {
	if(input_number = "")
		input_number := 1
	func_mouse_move( 1, input_number, 1, 1 )
}
key_s(ByRef input_number) {
	if(input_number = "")
		input_number := 1
	func_mouse_move( 1, 1, input_number, 1 )
}
key_d(ByRef input_number) {
	if(input_number = "")
		input_number := 1
	func_mouse_move( 1, 1, 1, input_number )
}

/*
	tab move
*/
key_gt(ByRef input_number) {
	Send, ^{PGDN %input_number%}
}
key_gr(ByRef input_number) {
	Send, ^{PGUP %input_number%}
}

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


Added credits

Added credits

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


Worked on Enter Serials function

Worked on Enter Serials function

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


added autohotkey script to automate creating a shell alias for ls -lsa

^!l::
Send, alias ll="ls -lsa"{Enter}
return

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


Add simple AHK script to test mouse wheel jumping

~WheelDown::
GoingDown := True
if GoingUp
{
    MsgBox, , Problem, Mouse wheel is jumping
    VarSetCapacity(GoingDown,0)
}
return

~WheelUp::
GoingUp := True
if GoingDown
{
    MsgBox, , Problem, Mouse wheel is jumping
    VarSetCapacity(GoingUp,0)
}
return

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


Update toolkits.ahk

Update toolkits.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/mingone/efficiently.git/'


Fixed serialnogo bug for entered funciton

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


rename file

rename file

/*
	functions : func_[\w]+
	@Author : johngrib82@gmail.com
	@Created : 2015. NOV. 25
*/
func_hjkl_move(key, ByRef cnt){
	Send {%key% %cnt%}
	cnt := ""
	changeMode("auto")
}

func_mouse_move( ww, aa, ss, dd ) {
	; mouse pointer move distance
	; n + wasd : long distance
	;     wasd : normal distance
	; m + wasd : short distance
	; , + wasd : 1 pixcel distance

	mul = 70
	;if(1 == GetKeyState("n", "P")){
	if(GetKeyState("SC01A", "P")){		;  [
		mul = 400
	} else if (GetKeyState("SC01B", "P")){   ;   ]
		mul = 10
	} else if (GetKeyState("SC02B", "P")){	;  \
		mul = 1
	}

	leftFlag  := GetKeyState("a", "P") * -1 * mul * aa
	rightFlag := GetKeyState("d", "P") * mul * dd
	upFlag  := GetKeyState("w", "P") * -1 * mul * ww
	downFlag := GetKeyState("s", "P") * mul * ss

	MouseMove, % leftFlag + rightFlag, upFlag + downFlag, 00, R
return
}

func_i_o() {
	SetCapsLockState, Off
	GetKeyState, isShiftDown, Shift, P
	changeMode("auto")

	if(GetKeyState("i", "P")){
		if("D" == isShiftDown)
			Send, {Home}
	} else if(GetKeyState("o", "P")){
		if("D" == isShiftDown)
			Send, {Up}
		Send, {End}{Enter}
	}
}

func_win_mem_activate(num){
	win_id := memorized_%num%
	WinActivate ahk_id %win_id%
	return
}

func_win_memorize(num) {
	activeWin := WinExist("A")
	memorized_%num% := activeWin
    return
}

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


Adding AutoHotkey script for Windows' SnippingTool.

#NoTrayIcon
#SingleInstance force
Run %windir%\system32\SnippingTool.exe, , , NewPID
WinWait, ahk_class Microsoft-Windows-Tablet-SnipperToolbar
WinActivate, ahk_class Microsoft-Windows-Tablet-SnipperToolbar

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


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

; Error
T_ERROR_SUCCESS        = 0 ; Success
T_ERROR_EMPTY          = 1 ; Empty expression
T_ERROR_DIVZERO        = 2 ; Division by zero
T_ERROR_TOKEN          = 3 ; Unknown token type
T_ERROR_FUNC           = 4 ; Math function not found
T_ERROR_FUNC_FACTORIAL = 5 ; Argument to factorial must be positive
T_ERROR_BRACKETS       = 6 ; Unbalanced round brackets

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


Create Reset Setup Assistant.ahk

Create Reset Setup Assistant.ahk

error: pathspec 'templates/autohotkey_scripts/Reset' did not match any file(s) known to git
error: pathspec 'Setup' did not match any file(s) known to git
error: pathspec 'Assistant.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


Updated on 2015-10-11: qttabbar

Updated on 2015-10-11: qttabbar

; default environment
DetectHiddenWindows, off
SetControlDelay, 20

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

; variables
winTitleIE = - Internet Explorer ahk_class IEFrame ahk_exe iexplore.exe
winTitleAddons = Manage Add-ons ahk_class #32770 ahk_exe iexplore.exe
winTitleEnable = Enable add-on ahk_class #32770 ahk_exe iexplore.exe

Process, Exist, iexplore.exe
if !ErrorLevel = 0 {
  procExists = 1
  WinActivate,%winTitleIE%
} else {
  procExists = 0
  Run, iexplore, , , pid
;  WinWait, ahk_pid %pid%, Address Bar, 60  ;too quick
;  WinActivate, ahk_pid %pid%, , 10
  WinWait, %winTitleIE%, , 60
  WinActivate, %winTitleIE%, , 60
  Send {ALT Down}x{ALT Up}m
  Sleep 250
}

Send {TAB 2}QTTabBar{ALT Down}e{ALT Up}
Sleep 1000

IfWinActive, %winTitleEnable%
{
  Send {ENTER}
  Send {ALT Down}l{ALT Up}
  CloseIE()
  sleep 10000
  Return
}
IfWinActive, %winTitleAddons%
{
  Send {ALT Down}l{ALT Up}
  CloseIE()
}

CloseIE()
{
  if procExists = 1
  {
    WinActivate,%winTitleIE%,
    Send, ^w
  }
  else
  {
    WinClose, ahk_exe iexplore.exe
  }
}

; File Explorer
Run, explorer
WinWait, ahk_exe explorer.exe, , 60
WinActivate, ahk_exe explorer.exe
Sleep 500
SetKeyDelay 50
Send {ALT}
Send {V}
Send {Y}
Send {DOWN 2}
Send {SPACE}
Send {ALT down}{F4}

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


Create Parent2Gem_Version2.ahk

Create Parent2Gem_Version2.ahk

Description in the Script

; 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) {
				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()
		}
	}

	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_Version2.ahk' did not match any file(s) known to git


hotkey changes, removed alpha

hotkey changes, removed alpha

hotkeys changed (ALT modifiers added) to avoid conflicts in games.

Removed alpha setting for box, until we can get alpha working in test
app.


Initial commit

Initial commit

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


Added a script to launch Breevy

Added a script to launch Breevy

#NoTrayIcon
#Persistent
#SingleInstance force
#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.

Send !+^{B}

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


Added a script containing miscellaneous keyboard and mouse shortcuts

#NoTrayIcon
#Persistent
#SingleInstance force
#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.

;;*******************************************************
; CUSTOM SHORTCUTS
;*******************************************************

;-------------------------------------------------------
; Replace default calculator
;-------------------------------------------------------
^NumpadEnter::Run "C:\Program Files (x86)\Moffsoft FreeCalc\MoffFreeCalc.exe"
;-------------------------------------------------------

;-------------------------------------------------------
; Call Listary
;-------------------------------------------------------
; With Alt + Space
!Space::Send !+^{=}
; With the down button of the mouse
XButton1::Send !+^{)}
;-------------------------------------------------------

;-------------------------------------------------------
; Switch between the desktops
;-------------------------------------------------------
; With the up button of the mouse
^XButton1:: switchDesktop() ;
XButton2:: switchDesktop() ;

; Function to switch between the desktops
switchedDesktop := false
switchDesktop()
{
	global switchedDesktop
    if switchedDesktop
    {
        SendEvent ^#{Right}
        switchedDesktop := false
    }
    else
    {
        SendEvent ^#{Left}
        switchedDesktop := true
    }
}
;-------------------------------------------------------

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


Delete serials_startup.ahk

Delete serials_startup.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_startup.ahk' did not match any file(s) known to git


[Issue #1] Repair item before starting work on it

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/sourcedog/Wurm-Unlimited-Bot.git/'


Create 6. CIC License Page.ahk

Create 6. CIC License Page.ahk

templates/autohotkey_scripts/6. CIC License Page.ahk

error: pathspec 'templates/autohotkey_scripts/6.' did not match any file(s) known to git
error: pathspec 'CIC' did not match any file(s) known to git
error: pathspec 'License' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


Create 4. Identity Page.ahk

Create 4. Identity Page.ahk

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


update to 0.9.4 ver

update to 0.9.4 ver

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


Adding chrome autohotkey remap

Adding chrome autohotkey remap

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/yhgoh88/hodgepodge.git/'


Add WizNote plugin

Add WizNote plugin

; ref http://git.oschina.net/linxinhong/VimDesktop/raw/master/Plugins/WizNote
;     /WizNote.ahk?dir=0&filepath=Plugins%2FWizNote%2FWizNote.ahk_class
;     &oid=60a9a6ecb68a3ae7ef6c5b5af540e84bc8139fc1
;     &sha=a78a6e18504e5bcecc5926e0176ed89bd661307a

WizNote:
    ; insert模式
    vim.mode("insert", "WizNoteMainFrame")

    vim.map("<esc>", "<Normal_Mode_WizNoteMainFrame>", "WizNoteMainFrame")

    ; normal模式
    vim.mode("normal", "WizNoteMainFrame")

    vim.map("i", "<Insert_Mode_WizNoteMainFrame>", "WizNoteMainFrame")

    vim.map("j", "<down>", "WizNoteMainFrame")
    vim.map("k", "<up>", "WizNoteMainFrame")
    vim.map("<shift>j", "<Wiz_NextNote>", "WizNoteMainFrame")
    vim.map("<shift>k", "<Wiz_PrevNote>", "WizNoteMainFrame")

    vim.map("h", "<left>", "WizNoteMainFrame")
    vim.map("l", "<right>", "WizNoteMainFrame")
    vim.map("gg", "<home>", "WizNoteMainFrame")
    vim.map("<shift>g", "<end>", "WizNoteMainFrame")

    vim.map("a", "<Wiz_NewNote>", "WizNoteMainFrame")
    vim.map("x", "<Wiz_Delete>", "WizNoteMainFrame")
    vim.map("e", "<Wiz_Edit>", "WizNoteMainFrame")
    vim.map("u", "<Wiz_CloseTab>", "WizNoteMainFrame")
    vim.map("t", "<Wiz_List>", "WizNoteMainFrame")

    ; 定义注释
    vim.Comment("<Wiz_NewNote>", "新建笔记")
    vim.Comment("<Wiz_NewDesktopNote>", "新建桌面便签")
    vim.Comment("<Wiz_Cal>", "打开日历")
    vim.Comment("<Wiz_Delete>", "删除笔记")
    vim.Comment("<Wiz_CopyOrMove>", "复制或移动笔记")
    vim.Comment("<Wiz_Task>", "打开任务")
    vim.Comment("<Wiz_FullScreen>", "全屏")
    vim.Comment("<Wiz_Edit>", "编辑笔记")
    vim.Comment("<Wiz_CloseTab>", "关闭当前标签")
    vim.Comment("<Wiz_NextNote>", "下一个笔记")
    vim.Comment("<Wiz_PrevNote>", "上一个笔记")
return

; 检查模式, 用于检查焦点Edit1这个控件内激活insert模式, 而不用normal模式
; 模式检查，此段代码可以直接复制，但请修改ahk_class的值
WizNote_CheckMode()
{
    ControlGetFocus, ctrl, AHK_CLASS WizNoteMainFrame
    If RegExMatch(ctrl, "Edit1")
        return True
    return False
}

<Normal_Mode_WizNoteMainFrame>:
    vim.Mode("normal", "WizNoteMainFrame")
return

<Insert_Mode_WizNoteMainFrame>:
    vim.Mode("insert", "WizNoteMainFrame")
return

<Wiz_NewNote>:
{
    send, ^n
    return
}

<Wiz_NewDesktopNote>:
{
    send, ^!d
    return
}

<Wiz_Cal>:
{
    send, {F10}
    send, t
    send, c
    return
}

<Wiz_Delete>:
{
    send, {Del}
    return
}

<Wiz_Task>:
{
    send, ^!y
    return
}

<Wiz_CopyOrMove>:
{
    send, ^m
    return
}

<Wiz_FullScreen>:
{
    send, {F11}
    return
}

<Wiz_Edit>:
{
    send, ^e
    return
}

<Wiz_CloseTab>:
{
    send, ^w
    return
}

<Wiz_List>:
{
    ControlFocus, WizListCtrl1
    return
}

<Wiz_NextNote>:
{
    Gosub, <Wiz_List>
    send {down}
    return
}

<Wiz_PrevNote>:
{
    Gosub, <Wiz_List>
    send {up}
    return
}

/*
原始快捷键列表:

内容剪辑
Win+PrintScreen 捕捉屏幕到为知
Win+S 保存选中内容
Ctrl+Alt+V 保存剪贴板中内容

全局快捷键
Ctrl+Alt+N 快速新建笔记
Ctrl+Alt+M 打开为知笔记

笔记编辑
Ctrl+E 编辑/保存文档
Ctrl+W 关闭当前标签页
Ctrl+T 笔记选中部分作为标题
Ctrl+G 笔记选中部分作为标签
Alt+E 给当前笔记添加标签
Alt+F 给当前笔记添加附件
Alt+Q 显示当前笔记信息
Ctrl+O 插入清单
Ctrl+1/2... 将设为样式中的标题1/2...
Ctrl+Shift+O 插入或设为数字列表
Ctrl+Shift+U 插入或设为无序列表
ctrl + alt + ] 增大选中文字字体
ctrl + alt + [ 减小选中文字字体
Ctrl+B 笔记选中部分加粗
Ctrl+I 笔记选中部分变斜体
Ctrl+U 笔记选中部分加下划线
Ctrl+L 插入
Ctrl+; 插入当前系统日期或时间
Ctrl+Shift+; 设置插入的日期时间格式

为知界面
Ctrl+N 新建笔记
Ctrl+F 新建子文件夹
Esc 显示/隐藏左侧目录栏
F11 进入或退出全屏模式
Ctrl+Shift+TAB 切换标签页
F7 打开上一条笔记
F8 打开下一条笔记
F9 同步笔记
Ctrl+鼠标滚轮 放大或缩小笔记视图
Alt+D 设置键盘焦点到搜索框

桌面便笺和任务列表
Ctrl+Alt+D 新建桌面便笺
Ctrl+Alt+Y 打开默认任务列表
Ctrl+F3 打开所有任务列表

更多设置
若想更改部分快捷键，可在菜单——选项——热键、网页剪辑器选项卡中进行更多设置
*/

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


+ Простые автозамены на базе AHK

+ Простые автозамены на базе AHK

::..::
	SendInput, .
Return

::..::
	SendInput,  () `n
	SendInput, {up}^{left}^+{Right}
Return

::..::
	SendInput,  () `n	 ; `n
	SendInput, {up}{up}^{Left}^{Left}^+{Left}
Return

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


ahk: add copy paste shortcuts

ahk: add copy paste 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/'


clipboard reg

clipboard reg

/*
  command object
  @Author  : johngrib82@gmail.com
  @Created : 2015. NOV. 29
*/
class ClipOBJ {
  __New() {
    this.num_size := 10
    this.chr_size := 26
    this.chr_list := ["a", "b", "c", "d", "e", "f", "g", "h" ,"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]

    this.num_queue := Object()
    this.chr_map := Object()

    cnt := this.num_size
    loop %cnt% {
      this.num_queue[A_Index - 1] := ""
    }

    cnt := this.chr_list.Length()
    loop %cnt% {
      this.chr_map[this.chr_list[A_Index]] := ""
    }
  }

  num_unshift(new_value) {
    new_arr := Object()
      for k, v in this.num_queue {
        if(k + 1 < this.num_size){
          new_arr[k + 1] := v
        }
    }
    new_arr[0] := new_value
    this.num_queue := new_arr
  }

  set_value(key, value){
    if( RegExMatch(key, "^\d+$")) {
      this.num_queue[key] := value
    } else if ( RegExMatch(key, "^[a-z]$")) {
      this.chr_map[key] := value
    }
  }

  get_value(key){
    if( RegExMatch(key, "^\d+$")) {
      return this.num_queue[key]
    } else if ( RegExMatch(key, "^[a-z]$")) {
      return this.chr_map[key]
    }
  }

  get_list(){

    plus := Clipboard
    plus := SubStr(plus, 1, 40)
    plus := RegExReplace(plus, "\r|\n", "^J")

    msg := """+ : " . plus

    msg := msg . "`n=============================="

    for k, v in this.num_queue {
      if( v <> "" ){
        show_v := SubStr(v, 1, 40)
        show_v := RegExReplace(show_v, "\r\n", "^J")
        msg := msg . "`n""" . k . "`t" . show_v
      }
    }
    msg := msg . "`n=============================="
    for k, v in this.chr_map {
      if( v <> "" ){
        show_v := SubStr(v, 1, 40)
        show_v := RegExReplace(show_v, "\r\n", "^J")
        msg := msg . "`n""" . k . "`t" . show_v
      }
    }

    return msg
  }
}

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


Added autohotkey remap for ctrl-q

Added autohotkey remap for ctrl-q

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


update autohotkey script

update autohotkey script

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/youdonghai/dotfiles.git/'


Sorted through Unit test docs added documentation

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


Update toolkits.ahk

Update toolkits.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/mingone/efficiently.git/'


ALmost ready for full testing

ALmost ready for full testing


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


autohotkey: add em-dash hotkey on windows

#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.

!-::–
return

+!-::—
return

error: pathspec 'conf/autohotkey/em-dash.ahk' did not match any file(s) known to git


Updated on 2015-10-11: qttabbar

Updated on 2015-10-11: qttabbar

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


RunZ: Add lib/Eval.ahk

RunZ: Add lib/Eval.ahk

; https://autohotkey.com/board/topic/15675-monster-evaluate-math-expressions-in-strings/
;
; MONSTER Version 1.2 to EVALUATE ARITHMETIC EXPRESSIONS in strings (needs AHK 1.0.48+)
; Containing HEX, Signed Binary ('11 = -1, '011 = 3), scientific numbers (1.2e+5)
; Assignments :=, preceding an expression. E.g: a:=1; b:=2; a+b
; User defined functions: f(x) := expr;
; AHK Functions Abs|Ceil|Exp|Floor|Log|Ln|Round|Sqrt|Sin|Cos|Tan|ASin|ACos|ATan
; Predefined functions: SGN|Fib|Fac (sign, Fibonacci numbers, Factorials)
; '(',')'; Variables; Predefined operators GCD,MIN,MAX,Choose (2-parameter functions)
; Predefined constants: e, pi, inch, foot, mile, ounce, pint, gallon, oz, lb;
; Logic operators: !, ||, &&; ternary operator: (_?_:_);
; Relations: =,<>; <,>,<=,>=
; Binary operators: ~; |, ^, &, <<, >>
; Arithmetic operators: +, -; *, /, \ (or % = mod); ** (or @ = power)
; Output FORMAT: $x,$h: Hex; $b{W}: W-bit binary;
;    ${k}: k-digit fixpoint,  ${k}e,${k}g: k-digit scientific (Default $6g)

#SingleInstance Force
#NoEnv
SetBatchLines -1
Process Priority,,High

xe := 2.718281828459045, xpi := 3.141592653589793      ; referenced as "e", "pi"
xinch := 2.54, xfoot := 30.48, xmile := 1.609344       ; [cm], [cm], [Km]
xounce := 0.02841, xpint := 0.5682, xgallon := 4.54609 ; liters
xoz := 28.35, xlb := 453.59237                         ; gramms

/* -test cases
MsgBox % Eval("1e1")                                               ; 10
MsgBox % Eval("0x1E")                                              ; 30
MsgBox % Eval("ToBin(35)")                                         ; 100011
MsgBox % Eval("$b 35")                                             ; 0100011
MsgBox % Eval("'10010")                                            ; -14
MsgBox % Eval("2>3 ? 9 : 7")                                       ; 7
MsgBox % Eval("$2E 1e3 -50.0e+0 + 100.e-1")                        ; 9.60E+002
MsgBox % Eval("fact(x) := x < 2 ? 1 : x*fact(x-1); fact(5)")       ; 120
MsgBox % Eval("f(ab):=sqrt(ab)/ab; y:=f(2); ff(y):=y*(y-1)/2/x; x := 2; y+ff(3)/f(16)") ; 6.70711
MsgBox % Eval("x := qq:1; x := 5*x; y := x+1")                     ; 6 [if y empty, x := 1...]
MsgBox % Eval("x:=-!0; x<0 ? 2*x : sqrt(x)")                       ; -2
MsgBox % Eval("tan(atan(atan(tan(1))))-exp(sqrt(1))")              ; -1.71828
MsgBox % Eval("---2+++9 + ~-2 --1 -2*-3")                          ; 15
MsgBox % Eval("x1:=1; f1:=sin(x1)/x1; y:=2; f2:=sin(y)/y; f1/f2")  ; 1.85082
MsgBox % Eval("Round(fac(10)/fac(5)**2) - (10 choose 5) + Fib(8)") ; 21
MsgBox % Eval("1 min-1 min-2 min 2")                               ; -2
MsgBox % Eval("(-1>>1<=9 && 3>2)<<2>>1")                           ; 2
MsgBox % Eval("(1 = 1) + (2<>3 || 2 < 1) + (9>=-1 && 3>2)")        ; 3
MsgBox % Eval("$b6 -21/3")                                         ; 111001
MsgBox % Eval("$b ('1001 << 5) | '01000")                          ; 100101000
MsgBox % Eval("$0 194*lb/1000")                                    ; 88 [Kg]
MsgBox % Eval("$x ~0xfffffff0 & 7 | 0x100 << 2")                   ; 0x407
MsgBox % Eval("- 1 * (+pi -((3%5))) +pi+ 1-2 + e-ROUND(abs(sqrt(floor(2)))**2)-e+pi $9") ; 3.141592654
MsgBox % Eval("(20+4 GCD abs(2**4)) + (9 GCD (6 CHOOSE 2))")       ; 11
t := A_TickCount
Loop 1000
   r := Eval("x:=" A_Index/1000 ";atan(x)-exp(sqrt(x))")           ; simulated plot
t := A_TickCount - t
MsgBox Result = %r%`nTime = %t%                                    ; -1.93288: ~400 ms [on Inspiron 9300]
*/

^#-::                                  ; Replace selection or `expression with result
^#=::                                  ; Append result to selection or `expression
   ClipBoard =
   SendInput ^c                        ; copy selection
   ClipWait 0.5
   If (ErrorLevel) {
      SendInput +{HOME}^c              ; copy, keep selection to overwrite (^x for some apps)
      ClipWait 1
      IfEqual ErrorLevel,1, Return
      If RegExMatch(ClipBoard, "(.*)(``)(.*)", y)
         SendInput %  "{RAW}" y1 . (A_ThisHotKey="^#=" ? y3 . " = "  : "") . Eval(y3)
   } Else
      SendInput % "{RAW}" . (A_ThisHotKey="^#=" ? ClipBoard . " = "  : "") . Eval(ClipBoard)
Return

Eval(x) {                              ; non-recursive PRE/POST PROCESSING: I/O forms, numbers, ops, ";"
   Local FORM, FormF, FormI, i, W, y, y1, y2, y3, y4
   FormI := A_FormatInteger, FormF := A_FormatFloat

   SetFormat Integer, D                ; decimal intermediate results!
   RegExMatch(x, "\$(b|h|x|)(\d*[eEgG]?)", y)
   FORM := y1, W := y2                 ; HeX, Bin, .{digits} output format
   SetFormat FLOAT, 0.16e              ; Full intermediate float precision
   StringReplace x, x, %y%             ; remove $..
   Loop
      If RegExMatch(x, "i)(.*)(0x[a-f\d]*)(.*)", y)
         x := y1 . y2+0 . y3           ; convert hex numbers to decimal
      Else Break
   Loop
      If RegExMatch(x, "(.*)'([01]*)(.*)", y)
         x := y1 . FromBin(y2) . y3    ; convert binary numbers to decimal: sign = first bit
      Else Break
   x := RegExReplace(x,"(^|[^.\d])(\d+)(e|E)","$1$2.$3") ; add missing '.' before E (1e3 -> 1.e3)
                                       ; literal scientific numbers between ‘ and ’ chars
   x := RegExReplace(x,"(\d*\.\d*|\d)([eE][+-]?\d+)","‘$1$2’")

   StringReplace x, x,`%, \, All       ; %  -> \ (= MOD)
   StringReplace x, x, **,@, All       ; ** -> @ for easier process
   StringReplace x, x, +, ±, All       ; ± is addition
   x := RegExReplace(x,"(‘[^’]*)±","$1+") ; ...not inside literal numbers
   StringReplace x, x, -, ¬, All       ; ¬ is subtraction
   x := RegExReplace(x,"(‘[^’]*)¬","$1-") ; ...not inside literal numbers

   Loop Parse, x, `;
      y := Eval1(A_LoopField)          ; work on pre-processed sub expressions
                                       ; return result of last sub-expression (numeric)
   If FORM = b                         ; convert output to binary
      y := W ? ToBinW(Round(y),W) : ToBin(Round(y))
   Else If (FORM="h" or FORM="x") {
      SetFormat Integer, Hex           ; convert output to hex
      y := Round(y) + 0
   }
   Else {
      W := W="" ? "0.6g" : "0." . W    ; Set output form, Default = 6 decimal places
      SetFormat FLOAT, %W%
      y += 0.0
   }
   SetFormat Integer, %FormI%          ; restore original formats
   SetFormat FLOAT,   %FormF%
   Return y
}

Eval1(x) {                             ; recursive PREPROCESSING of :=, vars, (..) [decimal, no ";"]
   Local i, y, y1, y2, y3
                                       ; save function definition: f(x) := expr
   If RegExMatch(x, "(\S*?)\((.*?)\)\s*:=\s*(.*)", y) {
      f%y1%__X := y2, f%y1%__F := y3
      Return
   }
                                       ; execute leftmost ":=" operator of a := b := ...
   If RegExMatch(x, "(\S*?)\s*:=\s*(.*)", y) {
      y := "x" . y1                    ; user vars internally start with x to avoid name conflicts
      Return %y% := Eval1(y2)
   }
                                       ; here: no variable to the left of last ":="
   x := RegExReplace(x,"([\)’.\w]\s+|[\)’])([a-z_A-Z]+)","$1«$2»")  ; op -> «op»

   x := RegExReplace(x,"\s+")          ; remove spaces, tabs, newlines

   x := RegExReplace(x,"([a-z_A-Z]\w*)\(","'$1'(") ; func( -> 'func'( to avoid atan|tan conflicts

   x := RegExReplace(x,"([a-z_A-Z]\w*)([^\w'»’]|$)","%x$1%$2") ; VAR -> %xVAR%
   x := RegExReplace(x,"(‘[^’]*)%x[eE]%","$1e") ; in numbers %xe% -> e
   x := RegExReplace(x,"‘|’")          ; no more need for number markers
   Transform x, Deref, %x%             ; dereference all right-hand-side %var%-s

   Loop {                              ; find last innermost (..)
      If RegExMatch(x, "(.*)\(([^\(\)]*)\)(.*)", y)
         x := y1 . Eval@(y2) . y3      ; replace (x) with value of x
      Else Break
   }
   Return Eval@(x)
}

Eval@(x) {                             ; EVALUATE PRE-PROCESSED EXPRESSIONS [decimal, NO space, vars, (..), ";", ":="]
   Local i, y, y1, y2, y3, y4

   If x is number                      ; no more operators left
      Return x
                                       ; execute rightmost ?,: operator
   RegExMatch(x, "(.*)(\?|:)(.*)", y)
   IfEqual y2,?,  Return Eval@(y1) ? Eval@(y3) : ""
   IfEqual y2,:,  Return ((y := Eval@(y1)) = "" ? Eval@(y3) : y)

   StringGetPos i, x, ||, R            ; execute rightmost || operator
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) || Eval@(SubStr(x,3+i))
   StringGetPos i, x, &&, R            ; execute rightmost && operator
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) && Eval@(SubStr(x,3+i))
                                       ; execute rightmost =, <> operator
   RegExMatch(x, "(.*)(?<![\<\>])(\<\>|=)(.*)", y)
   IfEqual y2,=,  Return Eval@(y1) =  Eval@(y3)
   IfEqual y2,<>, Return Eval@(y1) <> Eval@(y3)
                                       ; execute rightmost <,>,<=,>= operator
   RegExMatch(x, "(.*)(?<![\<\>])(\<=?|\>=?)(?![\<\>])(.*)", y)
   IfEqual y2,<,  Return Eval@(y1) <  Eval@(y3)
   IfEqual y2,>,  Return Eval@(y1) >  Eval@(y3)
   IfEqual y2,<=, Return Eval@(y1) <= Eval@(y3)
   IfEqual y2,>=, Return Eval@(y1) >= Eval@(y3)
                                       ; execute rightmost user operator (low precedence)
   RegExMatch(x, "i)(.*)«(.*?)»(.*)", y)
   If IsFunc(y2)
      Return %y2%(Eval@(y1),Eval@(y3)) ; predefined relational ops

   StringGetPos i, x, |, R             ; execute rightmost | operator
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) | Eval@(SubStr(x,2+i))
   StringGetPos i, x, ^, R             ; execute rightmost ^ operator
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) ^ Eval@(SubStr(x,2+i))
   StringGetPos i, x, &, R             ; execute rightmost & operator
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) & Eval@(SubStr(x,2+i))
                                       ; execute rightmost <<, >> operator
   RegExMatch(x, "(.*)(\<\<|\>\>)(.*)", y)
   IfEqual y2,<<, Return Eval@(y1) << Eval@(y3)
   IfEqual y2,>>, Return Eval@(y1) >> Eval@(y3)
                                       ; execute rightmost +- (not unary) operator
   RegExMatch(x, "(.*[^!\~±¬\@\*/\\])(±|¬)(.*)", y) ; lower precedence ops already handled
   IfEqual y2,±,  Return Eval@(y1) + Eval@(y3)
   IfEqual y2,¬,  Return Eval@(y1) - Eval@(y3)
                                       ; execute rightmost */% operator
   RegExMatch(x, "(.*)(\*|/|\\)(.*)", y)
   IfEqual y2,*,  Return Eval@(y1) * Eval@(y3)
   IfEqual y2,/,  Return Eval@(y1) / Eval@(y3)
   IfEqual y2,\,  Return Mod(Eval@(y1),Eval@(y3))
                                       ; execute rightmost power
   StringGetPos i, x, @, R
   IfGreaterOrEqual i,0, Return Eval@(SubStr(x,1,i)) ** Eval@(SubStr(x,2+i))
                                       ; execute rightmost function, unary operator
   If !RegExMatch(x,"(.*)(!|±|¬|~|'(.*)')(.*)", y)
      Return x                         ; no more function (y1 <> "" only at multiple unaries: --+-)
   IfEqual y2,!,Return Eval@(y1 . !y4) ; unary !
   IfEqual y2,±,Return Eval@(y1 .  y4) ; unary +
   IfEqual y2,¬,Return Eval@(y1 . -y4) ; unary - (they behave like functions)
   IfEqual y2,~,Return Eval@(y1 . ~y4) ; unary ~
   If IsFunc(y3)
      Return Eval@(y1 . %y3%(y4))      ; built-in and predefined functions(y4)
   Return Eval@(y1 . Eval1(RegExReplace(f%y3%__F, f%y3%__X, y4))) ; LAST: user defined functions
}

ToBin(n) {      ; Binary representation of n. 1st bit is SIGN: -8 -> 1000, -1 -> 1, 0 -> 0, 8 -> 01000
   Return n=0||n=-1 ? -n : ToBin(n>>1) . n&1
}
ToBinW(n,W=8) { ; LS W-bits of Binary representation of n
   Loop %W%     ; Recursive (slower): Return W=1 ? n&1 : ToBinW(n>>1,W-1) . n&1
      b := n&1 . b, n >>= 1
   Return b
}
FromBin(bits) { ; Number converted from the binary "bits" string, 1st bit is SIGN
   n = 0
   Loop Parse, bits
      n += n + A_LoopField
   Return n - (SubStr(bits,1,1)<<StrLen(bits))
}

Sgn(x) {
   Return (x>0)-(x<0)
}

MIN(a,b) {
   Return a<b ? a : b
}
MAX(a,b) {
   Return a<b ? b : a
}
GCD(a,b) {      ; Euclidean GCD
   Return b=0 ? Abs(a) : GCD(b, mod(a,b))
}
Choose(n,k) {   ; Binomial coefficient
   p := 1, i := 0, k := k < n-k ? k : n-k
   Loop %k%                   ; Recursive (slower): Return k = 0 ? 1 : Choose(n-1,k-1)*n//k
      p *= (n-i)/(k-i), i+=1  ; FOR INTEGERS: p *= n-i, p //= ++i
   Return Round(p)
}

Fib(n) {        ; n-th Fibonacci number (n < 0 OK, iterative to avoid globals)
   a := 0, b := 1
   Loop % abs(n)-1
      c := b, b += a, a := c
   Return n=0 ? 0 : n>0 || n&1 ? b : -b
}
fac(n) {        ; n!
   Return n<2 ? 1 : n*fac(n-1)
}

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


Update toolkits.ahk

Update toolkits.ahk


Create 16. Site Name Page.ahk

Create 16. Site Name Page.ahk

templates/autohotkey_scripts/16. Site Name Page.ahk

error: pathspec 'templates/autohotkey_scripts/16.' did not match any file(s) known to git
error: pathspec 'Site' 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


Started on multi tab support

Started on multi tab support


Added my AutoHotKey script for using a presenting remote

#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.

F12::Suspend

PgUp::Send {Left}

PgDn::Send {Right}

b::F11

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


Create 12. Database IC Accounts Page.ahk

templates/autohotkey_scripts/12. Database IC Accounts Page.ahk

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


Create 26. Configure IC Role Memberships Page.ahk

templates/autohotkey_scripts/26. Configure IC Role Memberships Page.ahk

error: pathspec 'templates/autohotkey_scripts/26.' did not match any file(s) known to git
error: pathspec 'Configure' did not match any file(s) known to git
error: pathspec 'IC' did not match any file(s) known to git
error: pathspec 'Role' did not match any file(s) known to git
error: pathspec 'Memberships' did not match any file(s) known to git
error: pathspec 'Page.ahk' did not match any file(s) known to git


login speeder

login speeder


Delete Effectivity Macro 2.2B Dual Tab.ahk

error: pathspec '1.4/Effectivity' did not match any file(s) known to git
error: pathspec 'Macro' did not match any file(s) known to git
error: pathspec '2.2B' did not match any file(s) known to git
error: pathspec 'Dual' did not match any file(s) known to git
error: pathspec 'Tab.ahk' did not match any file(s) known to git


Delete Effectivity Macro 2.4B Dual Tab.ahk

error: pathspec '1.4/Effectivity' did not match any file(s) known to git
error: pathspec 'Macro' did not match any file(s) known to git
error: pathspec '2.4B' did not match any file(s) known to git
error: pathspec 'Dual' did not match any file(s) known to git
error: pathspec 'Tab.ahk' did not match any file(s) known to git


Updated With new Functions for Update checking

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


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


Update D2SpaceModifier.ahk

Update D2SpaceModifier.ahk


Committing unnecessary demo

Committing unnecessary demo

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/joshterainsights/Grad_Apps.git/'


ahk test

ahk test

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

;manages the backing up and restoration of WoW for Work/Home/Trish

BackupString := "-r -mx9 -m0=PPMd -mmem=1024m -mo=32 *Wowhead_* Accountant* ACP* Altoholic* Ara_Broker_Tradeskills* Ark* AutoConfirmRoll* Bag* Bartender* bindings-cache* Blizzard_ClientSavedVariables* chat-cache* DataStore* EveryGoldToBanker* FB_* Fishing* Genie* GLottery* LiteMount* macros-cache* Out* Over* Pawn* Postal* Rarity* Scrap* sct* SpellFlash* Tidy* Titan* Trade* Tycoon* Zygor* AddOns.txt -xr!*.bak"

WorkDropBox := "C:\Users\Trish\Dropbox\WoW_Backup\"
HomeDropBox := "D:\aTrish\Dropbox\WoW_Backup\"
WoWBackupFile := "WoW_Backup.7z"

HomeWoWDir := "C:\Program Files (x86)\World of Warcraft\WTF\Account\MENDINGHEART518"
WorkWoWDir := "C:\Program Files (x86)\World of Warcraft\WTF\Account\MENDINGHEART518"

Home7z := "D:\Program Files\7-Zip\7z.exe"
Work7z := "C:\Program Files\7-Zip\7z.exe"

Homeusername = Trish Da Trooper
Workusername = Trish

while Workusername = A_Username
{
;wait for WoW to open, excluding titles that have "Launcher" in it to circumvent WoW bootstraper.
WinWait, World of Warcraft AHK_class GxWindowClass,,,Launcher

;If the backup from Work exists, then extract the archive into WoW directory.
if FileExist(WorkDropBox . WoWBackupFile)
{
RunWait, "%Work7z%" x "%WorkDropBox%%WoWBackupFile%" -o"%WorkWoWDir%" -aoa

;Sends the Old backup (from work) to the recycle bin, this is necessary so when you close out of WoW..........
FileRecycle %WorkDropBox%%WoWBackupFile%
}

SetWorkingDir %WorkWoWDir%
WinWaitClose
Run "%Work7z%" a "%WorkDropBox%%WoWBackupFile%" %BackupString%
}
;}

While A_Username = Homeusername
{

;wait for WoW to open, excluding titles that have "Launcher" in it to circumvent WoW bootstraper.
WinWait, World of Warcraft AHK_class GxWindowClass,,,Launcher

;If the backup from Work exists, then extract the archive into WoW directory.
if FileExist(HomeDropBox . WoWBackupFile)
{
RunWait, "%Home7z%" x "%HomeDropBox%%WoWBackupFile%" -o"%HomeWoWDir%" -aoa

;Sends the Old backup (from work) to the recycle bin, this is necessary so when you close out of WoW..........
FileRecycle %HomeDropBox%%WoWBackupFile%
}

SetWorkingDir %HomeWoWDir%
WinWaitClose
Run "%Home7z%" a "%HomeDropBox%%WoWBackupFile%" %BackupString%
}

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


Update for new login window

Update for new login window

email = %1%
passwrd = %2%

Checkd()
{
    WinWait Blizzard App Login, ,3
    WinMove 0, 0
    WinActivate

    IfWinNotActive
    {
        Checkd()
    }
    if ErrorLevel
    {
        MsgBox unable to find Battle.net login window. Please record trying to login and report it at j20.pw/bnethelp
        exit
    }
}
Checkd()
Sleep 2000
Checkd()
WinActivate
Checkd()
ClickFromTopRight(42,200)
Send ^a
Send {BS}
send %email%
sleep 20
Sleep 100
ClickFromTopRight(42,250)
Sleep 20
ClickFromTopRight(42,250)
Send ^a
Send {BS}
send %passwrd%
Send {Enter}
exit

ClickFromTopRight(_X,_Y){

CoordMode, mouse, Relative

WinGetActiveStats, Title, width, height, x,y

_X := width - _X

Click %_X%, %_Y%

}

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


Create Parent2Gem.ahk

Create Parent2Gem.ahk

; 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.
InitialMode := False ; Initialisation
CoordMode, Mouse, Screen

!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							 #########

if (InitialMode = True) {
	FileRead, PGScript, Parent2Gem.ahk
	FileDelete, Parent2Gem.ahk
	MsgBox Place your mouse over the top-left corner of the 12*3 craftingfield and press ENTER
	MouseGetPos, TLCX, TLCY
	PGScript := RegExReplace(PGScript, "TopLeftCornerX := [0-9]+", "TopLeftCornerX := " TLCX)
	PGScript := RegExReplace(PGScript, "TopLeftCornerY := [0-9]+ ", "TopLeftCornerY := " TLCY)
	MsgBox Place your mouse over the bottom-right corner of the 12*3 craftingfield and press ENTER
	MouseGetPos, BRCX, BRCY
	PGScript := RegExReplace(PGScript, "BottomRightCornerX := [0-9]+ ", "TopLeftCornerX := "BRCX)
	PGScript := RegExReplace(PGScript, "BottomRightCornerY := [0-9]+ ", "TopLeftCornerX := "BRCY)
	PGScript := RegExReplace(PGScript, "InitialMode := True  `; Init", "InitialMode := False `; Init")
	FileAppend, %PGScript%, Parent2Gem.ahk

	MsgBox The Script has been initialised and will be terminated upon pressing "OK". Needs to be restarted!

	ExitApp
}

CombineMode := True
LastGemPos := 1

TopLeftCornerX :=  				;  ####### ENTER THE COORDINATES OF THE 3*12 CRAFTINGFIELD ON YOUR SCREEN #########
TopLeftCornerY := 338				;	###### If you don't know how to obtain those values, you'd better  ########
TopLeftCornerX := 1436			;    ##### ask somebody. They don't have to be really precise.     #######
TopLeftCornerX := 686			;	  #### 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/Parent2Gem.ahk' did not match any file(s) known to git


Add AHK for leftover debug dialog at completion of install/uninstall

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
SetTitleMatchMode, 1   ;matches if title begins with string
DetectHiddenText, off  ;will not search hidden window text
DetectHiddenWindows, off  ;will not detect hidden windows
WinWait, Sandboxie ahk_class #32770, DONE, 120
WinActivate
Send,{Enter}
ExitApp

error: pathspec 'automatic/sandboxie.install/tools/sandboxie.ahk' did not match any file(s) known to git


remap right shift and up for hp g1

remap right shift and up for hp g1

Up::Down
#MaxThreadsPerHotkey 10
$RShift::
  Send {Up}
  Sleep, 450
  While GetKeyState("RShift","P")
  {
    Send {Up}
    Sleep, 25
  }
Return

error: pathspec 'windows/AutoHotKey/user/3_hp-g1_shift_up.ahk' did not match any file(s) known to git


added windows autohotkey script

added windows autohotkey script

; Capslock Remapping Script
; Danik
; danikgames.com
;
; (modified by svenlr)
; needs modification in order to be used with non-DE layouts
; this file must be saved in ANSI so ö is detected correctly
;
; Functionality:
; - Deactivates capslock for normal (accidental) use.
; - Hold Capslock and drag anywhere in a window to move it (not just the title bar).
; - Access the following functions when pressing Capslock:
;     Cursor keys           - I J K L
;     Home, PgUp, PgDn, End - H U O Ö (around I J K L)
;     { [ ] } \ - can be accessed by CapsLock instead of AltGr
;
; To use capslock as you normally would, you can press AltGr + Capslock

; This script is mostly assembled from modified versions of the following awesome scripts:
;
; # Home Row Computing by Gustavo Duarte: http://duartes.org/gustavo/blog/post/home-row-computing for
; Changes:
; - Does not need register remapping of AppsKey using SharpKeys.
; - Uses Vim style navigation keys (standard and works better
;   across different language layouts)
; - PgUp, PgDn, Home, End also changed to be symmetrical with Vim layout
; - Added more hotkeys for insert, undo, redo etc.
;
; # Get the Linux Alt+Window Drag Functionality in Windows: http://www.howtogeek.com/howto/windows-vista/get-the-linux-altwindow-drag-functionality-in-windows/
; Changes: The only change was using Capslock instead of Alt. This
; also removes problems in certain applications.

#Persistent
SetCapsLockState, AlwaysOff

; Capslock + ijkl (up, left, down, right)

Capslock & i::Send {Blind}{Up DownTemp}
Capslock & i up::Send {Blind}{Up Up}

Capslock & j::Send {Blind}{Left DownTemp}
Capslock & j up::Send {Blind}{Left Up}

Capslock & k::Send {Blind}{Down DownTemp}
Capslock & k up::Send {Blind}{Down Up}

Capslock & l::Send {Blind}{Right DownTemp}
Capslock & l up::Send {Blind}{Right Up}

; Capslock + uohö (pgup, pgdown, home, end)

Capslock & o::SendInput {Blind}{PgDn Down}
Capslock & o up::SendInput {Blind}{PgDn Up}

Capslock & u::SendInput {Blind}{PgUp Down}
Capslock & u up::SendInput {Blind}{PgUp Up}

Capslock & ö::SendInput {Blind}{End Down}
Capslock & ö up::SendInput {Blind}{End Up}

Capslock & h::SendInput {Blind}{Home Down}
Capslock & h up::SendInput {Blind}{Home Up}

; CapsLock + {[]}\

CapsLock & 7::SendInput {Blind}{{ Down}
CapsLock & 7 up::SendInput {Blind}{{ Up}

CapsLock & 8::SendInput {Blind}{[ Down}
CapsLock & 8 up::SendInput {Blind}{[ Up}

CapsLock & 9::SendInput {Blind}{] Down}
CapsLock & 9 up::SendInput {Blind}{] Up}

CapsLock & 0::SendInput {Blind}{} Down}
CapsLock & 0 up::SendInput {Blind}{} Up}

CapsLock & ß::SendInput {Blind}{\ Down}
CapsLock & ß up::SendInput {Blind}{\ Up}

; Capslock + asdf (select all, cut-copy-paste)

Capslock & a::SendInput {Ctrl Down}{a Down}
Capslock & a up::SendInput {Ctrl Up}{a Up}

Capslock & s::SendInput {Ctrl Down}{x Down}
Capslock & s up::SendInput {Ctrl Up}{x Up}

Capslock & d::SendInput {Ctrl Down}{c Down}
Capslock & d up::SendInput {Ctrl Up}{c Up}

Capslock & f::SendInput {Ctrl Down}{v Down}
Capslock & f up::SendInput {Ctrl Up}{v Up}

; Capslock + wer (close tab or window, press esc)

Capslock & w::SendInput {Ctrl down}{F4}{Ctrl up}
Capslock & e::SendInput {Alt down}{F4}{Alt up}
Capslock & r::SendInput {Blind}{Esc Down}

; Capslock + nm (insert, backspace, del)

Capslock & b::SendInput {Blind}{Insert Down}
Capslock & m::SendInput {Blind}{Del Down}
Capslock & n::SendInput {Blind}{BS Down}
Capslock & BS::SendInput {Blind}{BS Down}

; Make Capslock & Enter equivalent to Control+Enter
Capslock & Enter::SendInput {Ctrl down}{Enter}{Ctrl up}

; Make Capslock & Alt Equivalent to Control+Alt
!Capslock::SendInput {Ctrl down}{Alt Down}
!Capslock up::SendInput {Ctrl up}{Alt up}

; Capslock + TAB/q (prev/next tab)

Capslock & q::SendInput {Ctrl Down}{Tab Down}
Capslock & q up::SendInput {Ctrl Up}{Tab Up}
Capslock & Tab::SendInput {Ctrl Down}{Shift Down}{Tab Down}
Capslock & Tab up::SendInput {Ctrl Up}{Shift Up}{Tab Up}

; Capslock + ,/. (undo/redo)

Capslock & ,::SendInput {Ctrl Down}{z Down}
Capslock & , up::SendInput {Ctrl Up}{z Up}
Capslock & .::SendInput {Ctrl Down}{y Down}
Capslock & . up::SendInput {Ctrl Up}{y Up}

; Make Capslock+Space -> Enter
Capslock & Space::SendInput {Enter Down}

; Make Alt Gr + Capslock work like Capslock
<^>!Capslock::
If GetKeyState("CapsLock", "T") = 1
    SetCapsLockState, AlwaysOff
Else
    SetCapsLockState, AlwaysOn
Return

; Drag windows anywhere
;
; This script modified from the original: http://www.autohotkey.com/docs/scripts/EasyWindowDrag.htm
; by The How-To Geek
; http://www.howtogeek.com

Capslock & LButton::
CoordMode, Mouse  ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin%
if EWD_WinState = 0  ; Only if the window isn't maximized
    SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return

EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
if EWD_LButtonState = U  ; Button has been released, so drag is complete.
{
    SetTimer, EWD_WatchMouse, off
    return
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D  ; Escape has been pressed, so drag is cancelled.
{
    SetTimer, EWD_WatchMouse, off
    WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
    return
}
; Otherwise, reposition the window to match the change in mouse coordinates
; caused by the user having dragged the mouse:
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1   ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX  ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return

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


Add SuperEsc tool

Add SuperEsc tool

;=====================================================================o
;                      Esc Enhancement                                |
;---------------------------------------------------------------------o
;Description:                                                         |
;    This Script turns Esc into an function Key just like Ctrl and    |
; Alt by combining Esc with almost all other keys in the keyboard.    |
;                                                                     |
; See also:                                                           |
;    github.com/Vonng/Configuration/blob/master/win_ahk/CapsLock.ahk  |
;                                                                     |
;Summary:                                                             |
;o----------------------o---------------------------------------------o
;|Esc + `             | {CapsLock}CapsLock Switcher as a Substituent  |
;|Esc + {BackSpace}   | Exit                                          |
;|Esc + hjklwb        | Vim-Style Cursor Mover                        |
;|Esc + ioup          | Convient Home/End PageUp/PageDn               |
;|Esc + nm,.          | Convient Delete Controller                    |
;|Esc + zxcvay        | Windows-Style Editor                          |
;|Esc + Direction     | Mouse Move                                    |
;|Esc + Enter         | Mouse Click                                   |
;|Esc + {F1}~{F6}     | Media Controller                              |
;|Esc + qsd           | Windows & Tags Control                        |
;|Esc + ;'            | Convient Key Mapping                          |
;-----------------------o---------------------------------------------o
;|Use it whatever and wherever you like. Hope it help                 |
;=====================================================================o

;=====================================================================o
#NoTrayIcon                                                          ;|
#SingleInstance force                                                ;|
$Esc:: Send, {ESC}                                                    ;|
$^+Esc:: Send, ^+{Esc}                                                ;|
Esc & BS:: ExitApp                                                   ;|
;=====================================================================o

;=====================================================================o
;                       CapsLock Switcher:                           ;|
;---------------------------------o-----------------------------------o
;                      Esc + ` | {CapsLock}                          ;|
;---------------------------------o-----------------------------------o
Esc & `::                                                            ;|
GetKeyState, CapsLockState, CapsLock, T                              ;|
if CapsLockState = D                                                 ;|
    SetCapsLockState, AlwaysOff                                      ;|
else                                                                 ;|
    SetCapsLockState, AlwaysOn                                       ;|
KeyWait, ``                                                          ;|
return                                                               ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                     Esc Direction Navigator                        ;|
;-----------------------------------o---------------------------------o
;                        Esc + h |  Left                             ;|
;                        Esc + j |  Down                             ;|
;                        Esc + k |  Up                               ;|
;                        Esc + l |  Right                            ;|
;-----------------------------------o---------------------------------o
Esc & h::Send, {Left}                                                ;|
Esc & j::Send, {Down}                                                ;|
Esc & k::Send, {Up}                                                  ;|
Esc & l::Send, {Right}                                               ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                       Esc Home/End Navigator                       ;|
;-----------------------------------o---------------------------------o
;                         Esc + i |  Home                            ;|
;                         Esc + o |  End                             ;|
;                      Ctrl, Alt Compatible                          ;|
;-----------------------------------o---------------------------------o
Esc & i::                                                            ;|
if GetKeyState("control") = 0                                        ;|
{                                                                    ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, {Home}                                                 ;|
    else                                                             ;|
        Send, +{Home}                                                ;|
    return                                                           ;|
}                                                                    ;|
else {                                                               ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, ^{Home}                                                ;|
    else                                                             ;|
        Send, +^{Home}                                               ;|
    return                                                           ;|
}                                                                    ;|
return                                                               ;|
;-----------------------------------o                                ;|
Esc & o::                                                            ;|
if GetKeyState("control") = 0                                        ;|
{                                                                    ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, {End}                                                  ;|
    else                                                             ;|
        Send, +{End}                                                 ;|
    return                                                           ;|
}                                                                    ;|
else {                                                               ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, ^{End}                                                 ;|
    else                                                             ;|
        Send, +^{End}                                                ;|
    return                                                           ;|
}                                                                    ;|
return                                                               ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                        Esc Page Navigator                          ;|
;-----------------------------------o---------------------------------o
;                        Esc + u |  PageUp                           ;|
;                        Esc + p |  PageDown                         ;|
;                        Ctrl, Alt Compatible                        ;|
;-----------------------------------o---------------------------------o
Esc & u::                                                            ;|
if GetKeyState("control") = 0                                        ;|
{                                                                    ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, {PgUp}                                                 ;|
    else                                                             ;|
        Send, +{PgUp}                                                ;|
    return                                                           ;|
}                                                                    ;|
else {                                                               ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, ^{PgUp}                                                ;|
    else                                                             ;|
        Send, +^{PgUp}                                               ;|
    return                                                           ;|
}                                                                    ;|
return                                                               ;|
;-----------------------------------o                                ;|
Esc & p::                                                            ;|
if GetKeyState("control") = 0                                        ;|
{                                                                    ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, {PgDn}                                                 ;|
    else                                                             ;|
        Send, +{PgDn}                                                ;|
    return                                                           ;|
}                                                                    ;|
else {                                                               ;|
    if GetKeyState("alt") = 0                                        ;|
        Send, ^{PgDn}                                                ;|
    else                                                             ;|
        Send, +^{PgDn}                                               ;|
    return                                                           ;|
}                                                                    ;|
return                                                               ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                        Esc Mouse Controller                        ;|
;-----------------------------------o---------------------------------o
;                       Esc + Up   |  Mouse Up                       ;|
;                       Esc + Down |  Mouse Down                     ;|
;                       Esc + Left |  Mouse Left                     ;|
;                      Esc + Right |  Mouse Right                    ;|
;        Esc + Enter(Push Release) |  Mouse Left Push(Release)       ;|
;-----------------------------------o---------------------------------o
Esc & Up::    MouseMove, 0, -10, 0, R                                ;|
Esc & Down::  MouseMove, 0, 10, 0, R                                 ;|
Esc & Left::  MouseMove, -10, 0, 0, R                                ;|
Esc & Right:: MouseMove, 10, 0, 0, R                                 ;|
;-----------------------------------o                                ;|
Esc & Enter::                                                        ;|
SendEvent {Blind}{LButton down}                                      ;|
KeyWait Enter                                                        ;|
SendEvent {Blind}{LButton up}                                        ;|
return                                                               ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                           Esc Deletor                              ;|
;-----------------------------------o---------------------------------o
;                     Esc + n  |  Ctrl + Delete (Delete a Word)      ;|
;                     Esc + m  |  Delete                             ;|
;                     Esc + ,  |  BackSpace                          ;|
;                     Esc + .  |  Ctrl + BackSpace                   ;|
;-----------------------------------o---------------------------------o
Esc & ,:: Send, {Del}                                                ;|
Esc & .:: Send, ^{Del}                                               ;|
Esc & m:: Send, {BS}                                                 ;|
Esc & n:: Send, ^{BS}                                                ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                           Esc Editor                               ;|
;-----------------------------------o---------------------------------o
;                     Esc + z  |  Ctrl + z (Cancel)                  ;|
;                     Esc + x  |  Ctrl + x (Cut)                     ;|
;                     Esc + c  |  Ctrl + c (Copy)                    ;|
;                     Esc + v  |  Ctrl + z (Paste)                   ;|
;                     Esc + a  |  Ctrl + a (Select All)              ;|
;                     Esc + y  |  Ctrl + z (Yeild)                   ;|
;                     Esc + w  |  Ctrl + Right(Move as [vim: w])     ;|
;                     Esc + b  |  Ctrl + Left (Move as [vim: b])     ;|
;-----------------------------------o---------------------------------o
Esc & z:: Send, ^z                                                   ;|
Esc & x:: Send, ^x                                                   ;|
Esc & c:: Send, ^{Insert}                                            ;|
Esc & v:: Send, +{Insert}                                            ;|
Esc & a:: Send, ^a                                                   ;|
Esc & y:: Send, ^y                                                   ;|
Esc & w:: Send, ^{Right}                                             ;|
Esc & b:: Send, ^{Left}                                              ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                          Esc Media Controller                      ;|
;-----------------------------------o---------------------------------o
;                       Esc + F1  |  Media_Play_Pause                ;|
;                       Esc + F2  |  Media_Next                      ;|
;                       Esc + F3  |  Media_Prev                      ;|
;                       Esc + F4  |  Volume_Down                     ;|
;                       Esc + F5  |  Volume_Up                       ;|
;                       Esc + F6  |  Volume_Mute                     ;|
;-----------------------------------o---------------------------------o
Esc & F1:: Send, {Media_Play_Pause}                                  ;|
Esc & F2:: Send, {Media_Next}                                        ;|
Esc & F3:: Send, {Media_Prev}                                        ;|
Esc & F4:: Send, {Volume_Down}                                       ;|
Esc & F5:: Send, {Volume_Up}                                         ;|
Esc & F6:: Send, {Volume_Mute}                                       ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                         Esc Window Controller                      ;|
;-----------------------------------o---------------------------------o
;                    Esc + s  |  Ctrl + Tab (Swith Tag)              ;|
;                    Esc + q  |  Alt + F4   (Close Windows)          ;|
;                    Esc + g  |  AppsKey    (Menu Key)               ;|
;-----------------------------------o---------------------------------o
Esc & s:: Send, ^{Tab}                                               ;|
;-----------------------------------o                                ;|
Esc & q:: Send, !{F4}                                                ;|
;-----------------------------------o                                ;|
Esc & d:: Send, {AppsKey}                                            ;|
;---------------------------------------------------------------------o

;=====================================================================o
;                        Esc Char Mapping                            ;|
;-----------------------------------o---------------------------------o
;                     Esc + ;  |  Enter                              ;|
;                     Esc + '  |  =                                  ;|
;-----------------------------------o---------------------------------o
Esc & `;:: Send, {Enter}                                             ;|
Esc & ':: Send, =                                                    ;|
;---------------------------------------------------------------------o

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


Updated on 2015-05-24: adwcleaner

Updated on 2015-05-24: adwcleaner

https://chocolatey.org/packages/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.023/tools/chocolateyInstall.ahk' did not match any file(s) known to git