Browse Source

reorganized library files

ahk-v1
Mario Alegre 5 years ago
parent
commit
23ad7f1940
  1. 27
      lib/HoldRepeat.ahk
  2. 22
      lib/Prelude.ahk
  3. 23
      src/Minecraft.ahk

27
lib/General.ahk → lib/HoldRepeat.ahk

@ -1,19 +1,5 @@
; Set default location and name convention for compiled scripts to use
;@Ahk2Exe-ExeName %A_MyDocuments%\AutoHotkey\bin\AHK-%A_ScriptName%
; Install hooks to make sure script can get physical state of keys instead of logical state.
#InstallKeybdHook
#InstallMouseHook
; Settings
#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.
#UseHook ; All hotkeys are implemented through keyboard hook to avoid script activating itself.
#MenuMaskKey vkFF
;
; Function definitions
; Functions for holding and repeating keys
;
Hold(Primary, Secondary) {
@ -58,3 +44,14 @@ Repeat(Primary, Secondary) {
Sleep 50
}
}
; Sets key to hold if single tap, or repeat if double tap
HoldOrRepeat(Primary, Secondary) {
Send {%Primary% down}
KeyWait, %Primary%, D, T0.2
if (ErrorLevel = 0) {
Repeat(Primary,Secondary)
} else {
Hold(Primary,Secondary)
}
}

22
lib/Prelude.ahk

@ -0,0 +1,22 @@
;
; General Settings
;
; Set default location and name convention for compiled scripts to use
;@Ahk2Exe-ExeName %A_MyDocuments%\AutoHotkey\bin\AHK-%A_ScriptName%
; Install hooks to make sure script can get physical state of keys instead of logical state.
#InstallKeybdHook
#InstallMouseHook
#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.
; All hotkeys are implemented through keyboard hook to avoid script activating itself.
#UseHook
; MenuMaskKey is set to a virtual key that is defined by Windows as doing nothing
#MenuMaskKey vkFF

23
src/Minecraft.ahk

@ -5,8 +5,9 @@
; Front Matter
;
; Include general library
#Include ../lib/General.ahk
; Include relevant libraries
#Include ../lib/Prelude.ahk
#Include ../lib/HoldRepeat.ahk
; Only do hotkeys if relevant window is active
#If WinActive("Minecraft")
@ -20,22 +21,8 @@
; Hold/Autoclick mouse buttons
; Holds if single click, autoclicks if double click
Tab & LButton UP::
KeyWait, LButton, D, T0.2
if (ErrorLevel = 0) {
Repeat("LButton",["RButton","MButton"])
} else {
Hold("LButton",["RButton","MButton"])
}
return
Tab & RButton UP::
KeyWait, RButton, D, T0.2
if (ErrorLevel = 0) {
Repeat("RButton",["LButton","MButton"])
} else {
Hold("RButton",["LButton","MButton"])
}
return
Tab & LButton UP::HoldOrRepeat("LButton",["RButton","MButton"])
Tab & RButton UP::HoldOrRepeat("RButton",["LButton","MButton"])
; Autorun
Tab & w UP::Hold("w",["s"])

Loading…
Cancel
Save