You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.8 KiB
93 lines
1.8 KiB
; Script can be directly run by or compiled into an .exe by the open-source software AutoHotkey
|
|
; https://www.autohotkey.com
|
|
|
|
;
|
|
; Front Matter
|
|
;
|
|
|
|
; Include general library
|
|
#Include ../lib/Prelude.ahk
|
|
#Include ../lib/Stopwatch.ahk
|
|
|
|
; Include ViGEm library
|
|
#Include ../thirdparty/AHK-ViGEm-Bus/AHK-ViGEm-Bus.ahk
|
|
; Create a new Xbox 360 controller
|
|
MyXbox := new ViGEmXb360()
|
|
|
|
; Make this a wrapper script
|
|
WrapperPath:="steam://rungameid/753640"
|
|
WrapperWindow:="Outer Wilds"
|
|
#Include ../lib/Wrapper.ahk
|
|
|
|
; Set percent to deflect by for fine controls
|
|
Defl := 40
|
|
|
|
; Create Gui for timer
|
|
Gui, +AlwaysOnTop -Caption +ToolWindow
|
|
Gui, Margin, 0, 0
|
|
Gui, Font, s20 CWhite
|
|
Gui, Color, Black
|
|
Gui, Add, Text, vStopwatchText +Center, 00:00
|
|
Gui, Show, NoActivate x0 y0, StopwatchGui
|
|
WinSet, TransColor, Black 100, StopwatchGui
|
|
StopwatchHide()
|
|
|
|
;
|
|
; Hotkeys
|
|
;
|
|
|
|
;
|
|
; Stopwatch
|
|
;
|
|
|
|
; Alt+F1: Show/Hide stopwatch
|
|
!F1::StopwatchToggleHidden()
|
|
|
|
#If not StopwatchHidden
|
|
|
|
; F1: Reset stopwatch
|
|
F1::StopwatchReset()
|
|
|
|
; F2: Start/stop stopwatch
|
|
F2::StopwatchToggle()
|
|
|
|
; F3: Rewind stopwatch 5 sec
|
|
F3::StopwatchRewind(5)
|
|
|
|
; F4: Fastforward stopwatch 5 sec
|
|
F4::StopwatchFastforward(5)
|
|
|
|
;
|
|
; Fine Controls
|
|
;
|
|
|
|
#If 1
|
|
|
|
; Reset all axes when capslock is pressed
|
|
~CapsLock::
|
|
MyXbox.Axes.LY.SetState(50)
|
|
MyXbox.Axes.LX.SetState(50)
|
|
MyXbox.Axes.RT.SetState(0)
|
|
MyXbox.Axes.LT.SetState(0)
|
|
return
|
|
|
|
; Fine control is active when caps lock is on
|
|
#If GetKeyState("CapsLock","T")
|
|
|
|
W::MyXbox.Axes.LY.SetState(50+Defl*.5)
|
|
W UP::MyXbox.Axes.LY.SetState(50)
|
|
|
|
S::MyXbox.Axes.LY.SetState(50-Defl*.5)
|
|
S UP::MyXbox.Axes.LY.SetState(50)
|
|
|
|
D::MyXbox.Axes.LX.SetState(50+Defl*.5)
|
|
D UP::MyXbox.Axes.LX.SetState(50)
|
|
|
|
A::MyXbox.Axes.LX.SetState(50-Defl*.5)
|
|
A UP::MyXbox.Axes.LX.SetState(50)
|
|
|
|
Space::MyXbox.Axes.RT.SetState(Defl*.16)
|
|
Space UP::MyXbox.Axes.RT.SetState(0)
|
|
|
|
Shift::MyXbox.Axes.LT.SetState(Defl*.16)
|
|
Shift UP::MyXbox.Axes.LT.SetState(0)
|