;; ^!Z Barrier lockCursorToScreen(toggle) ;; ^!G GeForce overlay ;; !F1 GeForce replay ;; !F2 GeForce record ;; Pause OBS toggle camera/microphone ;; ;; LiveSplit.exe + Halo ;; Mouse5 LiveSplit split ;; Mouse4 LiveSplit pause ;; Mouse3 LiveSplit reset ;; Mouse+ LiveSplit undo ;; Mouse- LiveSplit skip ;; ;; haloce.exe ;; F4 game_revert ;; F5 core_load ;; F6 core_save ;; F7 game_speed 3 ;; F8 game_speed 1 ;; F9 debug_camera_save + debug_camera_load ;; F10 cheat_teleport_to_camera + camera_control 0 #NoEnv #MaxThreads 1 SendMode Input SetTitleMatchMode, 3 HaloConsole(commands*) { KeyWait Alt KeyWait Control KeyWait Shift BlockInput On SendInput ~ Sleep 100 SendInput begin for i, command in commands SendInput % " (" command ")" SendInput {ENTER} Sleep 100 SendInput ~ BlockInput Off Return } ;; These remappings let us limit LiveSplit's "global" bindings to LiveSplit and ;; game windows only. In theory they let us bind mouse buttons with modifiers as ;; well, but for some reason this results in duplicate events (at least for Alt ;; and Shift), and LiveSplit only seems to debounce split and pause. #IfWinActive ahk_exe LiveSplit.exe XButton1::F13 XButton2::F14 MButton::F15 WheelUp::F16 WheelDown::F17 #IfWinActive ahk_class Halo XButton1::F13 XButton2::F14 MButton::F15 WheelUp::F16 WheelDown::F17 #IfWinActive ahk_exe MCC-Win64-Shipping.exe XButton1::F13 XButton2::F14 MButton::F15 WheelUp::F16 WheelDown::F17 ; #IfWinActive ahk_exe haloce.exe #IfWinActive ahk_class Halo ; #IfWinActive F4:: HaloConsole("game_revert") Return F5:: HaloConsole("core_load") Return F6:: HaloConsole("core_save") Return F7:: HaloConsole("game_speed 3") Return F8:: HaloConsole("game_speed 1") Return F9:: HaloConsole("debug_camera_save", "debug_camera_load") Return F10:: HaloConsole("cheat_teleport_to_camera", "camera_control 0") Return