#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 ; Made in AutoHotkey Version 1.1.33.09 ; by TechnicJelle (https://github.com/TechnicJelle/My-AutoHotKey-Scripts) #IfWinActive, ahk_class MSPaintApp hotkeysEnabled := True p:: ;pencil if(hotkeysEnabled) { Send {Alt}1 reload } else { Send p } return f:: ;fill bucket if(hotkeysEnabled) { Send {Alt}2 reload } else { Send f } return ^t:: ;text if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}3 KeyWait, LButton, D KeyWait, LButton, U hotkeysEnabled := False ; waits until text editing is done KeyWait, LButton, D KeyWait, LButton, U hotkeysEnabled := True Send {Alt}6 } else { Send {Ctrl}t } return e:: ;eraser if(hotkeysEnabled) { Send {Alt}4 reload } else { Send e } return c:: ;colour picker if(hotkeysEnabled) { Send {Alt}5 reload } else { Send c } return ^r up:: ;rect select if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}6 reload } else { Send {Ctrl}r } return ^+r up:: ;free select if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released keywait, Shift ;wait until shift is released Send {Alt}7 reload } else { Send {Ctrl}{Shift}r } return ^+t up:: ;transparent selection if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released keywait, Shift ;wait until shift is released Send {Alt}8 reload } else { Send {Ctrl}{Shift}t } return ^i up:: ;invert selection if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}9 reload } else { Send {Ctrl}i } return b:: ;brush if(hotkeysEnabled) { Send {Alt}09{Enter} reload } else { Send b } return 1:: ;line thickness 1 if(hotkeysEnabled) { Send {Alt}08{Enter} reload } else { Send 1 } return 2:: ;line thickness 2 if(hotkeysEnabled) { Send {Alt}08{Down 1}{Enter} reload } else { Send 2 } return 3:: ;line thickness 3 if(hotkeysEnabled) { Send {Alt}08{Down 2}{Enter} reload } else { Send 3 } return 4:: ;line thickness 4 if(hotkeysEnabled) { Send {Alt}08{Down 3}{Enter} reload } else { Send 4 } return z:: ;colour 1 if(hotkeysEnabled) { Send {Alt}07{Enter} reload } else { Send z } return x:: ;colour 2 if(hotkeysEnabled) { Send {Alt}06{Enter} reload } else { Send x } return l:: ;line tool if(hotkeysEnabled) { Send {Alt}HSH{Enter} reload } else { Send l } return r:: ;rulers if(hotkeysEnabled) { Send {Alt}VR{Enter}{Alt}H{Esc 2} reload } else { Send r } return g:: ;gridlines if(hotkeysEnabled) { Send {Alt}VG{Enter}{Alt}H{Esc 2} reload } else { Send g } return ^= up:: ;zoom in if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}VI{Enter}{Alt}H{Esc 2} reload } else { Send {Ctrl}= } return ^- up:: ;zoom out if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}VO{Enter}{Alt}H{Esc 2} reload } else { Send {Ctrl}- } return ^0 up:: ;zoom 100% if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send {Alt}VM{Enter}{Alt}H{Esc 2} reload } else { Send {Ctrl}0 } return ^+z up:: ;redo if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released keywait, Shift ;wait until shift is released Send ^y reload } else { Send {Ctrl}{Shift}z } return m:: ;mirror if(hotkeysEnabled) { Send {Alt}HROH reload } else { Send m } return ^q up:: ;quit if(hotkeysEnabled) { keywait, Ctrl ;wait until control is released Send !{F4} reload } else { Send {Ctrl}q } return