#Requires AutoHotkey v2.0
; SetBatchLines, -1 #SingleInstance Force

global speed := 10  ; Default movement speed
global fastSpeed := 20  ; Faster movement when Caps Lock + Shift is held

; Enable Caps Lock as a modifier
CapsLock & h::MouseMove -1000, 0, 0, "R" ; far Left
CapsLock & u::MouseMove -20, 0, 0, "R" ; Left
CapsLock & j::MouseMove 0, 20, 0, "R" ; Up
CapsLock & k::MouseMove 0, -20, 0, "R" ; Down
CapsLock & l::MouseMove 1000, 0, 0, "R" ; far Right
CapsLock & i::MouseMove 20, 0, 0, "R" ; Right
CapsLock & Enter::Click

; CapsLock & H::MouseMove -20, 0, 0, "R" ; Left
; CapsLock & J::MouseMove 0, 20, 0, "R" ; Left
; CapsLock & K::MouseMove 0, -20, 0, "R" ; Left
; CapsLock & L::MouseMove 20, 0, 0, "R" ; Left
; Mouse movement speed
; speed := 10

; Hold Shift for faster movement
; H::MouseMove(0.5, 0.5, 2, "R")
; +H::MouseMove, -%speed%, 0, 0, R  ; Move left
; +L::MouseMove, %speed%, 0, 0, R   ; Move right
; +K::MouseMove, 0, -%speed%, 0, R  ; Move up
; +J::MouseMove, 0, %speed%, 0, R   ; Move down

; Regular movement
; H::MouseMove, -5, 0, 0, R
; L::MouseMove, 5, 0, 0, R
; K::MouseMove, 0, -5, 0, R
; J::MouseMove, 0, 5, 0, R

; Click with Space
; Space::Click

; Exit script with Ctrl + Q
!Q::ExitApp