Skip to content

Commit dca958e

Browse files
committed
giant update - hooking input scanners
1 parent b054be9 commit dca958e

9 files changed

+3589
-507
lines changed

EventReference.txt

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
Below is a reference of available buttons for assignment (following standard XInput/Virtual-Key definitions, but slightly extended)
2+
You absolutely *must* assign them with strings and not in any other way (e.g. decimal/hex numbers).
3+
4+
For each event you may assign only 1 button (and vice versa: for each button you may only assign 1 event).
5+
6+
Inline comments are NOT allowed in the configuration file for string reads! So this includes all button assignments!
7+
8+
=== BASICS ===
9+
10+
Format is as follows:
11+
12+
[Events]
13+
EVENT = BUTTON_NAME
14+
...
15+
16+
[EventsKB]
17+
EVENT = KEYBOARD_KEY_NAME
18+
...
19+
20+
=== XINPUT ===
21+
22+
It should be pretty self-explanatory.
23+
List of available buttons:
24+
25+
XINPUT_GAMEPAD_DPAD_UP
26+
XINPUT_GAMEPAD_DPAD_DOWN
27+
XINPUT_GAMEPAD_DPAD_LEFT
28+
XINPUT_GAMEPAD_DPAD_RIGHT
29+
XINPUT_GAMEPAD_START
30+
XINPUT_GAMEPAD_BACK
31+
XINPUT_GAMEPAD_LEFT_THUMB
32+
XINPUT_GAMEPAD_RIGHT_THUMB
33+
XINPUT_GAMEPAD_LEFT_SHOULDER
34+
XINPUT_GAMEPAD_RIGHT_SHOULDER
35+
XINPUT_GAMEPAD_A
36+
XINPUT_GAMEPAD_B
37+
XINPUT_GAMEPAD_X
38+
XINPUT_GAMEPAD_Y
39+
XINPUT_GAMEPAD_LT
40+
XINPUT_GAMEPAD_RT
41+
XINPUT_GAMEPAD_LS_X
42+
XINPUT_GAMEPAD_LS_Y
43+
XINPUT_GAMEPAD_RS_X
44+
XINPUT_GAMEPAD_RS_Y
45+
XINPUT_GAMEPAD_DPAD -- assignable ONLY to JOY_EVENT_STEER
46+
XINPUT_GAMEPAD_LS_UP -- stick directions are DIGITAL ONLY
47+
XINPUT_GAMEPAD_LS_DOWN
48+
XINPUT_GAMEPAD_LS_LEFT
49+
XINPUT_GAMEPAD_LS_RIGHT
50+
XINPUT_GAMEPAD_RS_UP
51+
XINPUT_GAMEPAD_RS_DOWN
52+
XINPUT_GAMEPAD_RS_LEFT
53+
XINPUT_GAMEPAD_RS_RIGHT
54+
55+
=== KEYBOARD ===
56+
57+
Keyboard assignments should follow the Virtual-Key Code definitions (you can find them here: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
58+
Type their definition names in directly (e.g. if you want to assign the Return key, just use VK_RETURN directly in the config file)
59+
For single letter assignments, type the letter in as-is (e.g. if you want to assign the 'G' key, just use G)
60+
61+
=== Event list ===
62+
63+
Below is a full list of available events in the game which you may assign.
64+
They trigger at various points in the game (whenever their handlers are generated), but not all of them actually work.
65+
Reminder that some events are assigned only to the SECOND controller, such as debug camera actions.
66+
Both ports are monitored for XInput separately, whereas on keyboard they're not (unless you enable the second player with second keyboard!)
67+
68+
NOTE: some events (such as quitting with Q key or launching the tutorial video with LT) are hardcoded due to the way they're coded in the game
69+
70+
JOY_EVENT_NULL
71+
JOY_EVENT_TYPE_CHANGED
72+
JOY_EVENT_EXIT_DEMO_DISC
73+
JOY_EVENT_SCROLL_UP
74+
JOY_EVENT_SCROLL_DOWN
75+
JOY_EVENT_SCROLL_LEFT
76+
JOY_EVENT_SCROLL_RIGHT
77+
JOY_EVENT_FENG_START
78+
JOY_EVENT_FENG_BUTTON0
79+
JOY_EVENT_FENG_BUTTON1
80+
JOY_EVENT_FENG_BUTTON2
81+
JOY_EVENT_FENG_BUTTON3
82+
JOY_EVENT_FENG_LTRIGGER
83+
JOY_EVENT_FENG_RTRIGGER
84+
JOY_EVENT_FENG_SELECT
85+
JOY_EVENT_FENG_SELECT_ALTERNATE
86+
JOY_EVENT_FENG_CANCEL
87+
JOY_EVENT_FENG_CANCEL_ALTERNATE
88+
JOY_EVENT_FENG_HELP
89+
JOY_EVENT_FENG_PAD_UP
90+
JOY_EVENT_FENG_PAD_DOWN
91+
JOY_EVENT_FENG_PAD_LEFT
92+
JOY_EVENT_FENG_PAD_RIGHT
93+
JOY_EVENT_FENG_PAD_UP_ALTERNATE
94+
JOY_EVENT_FENG_PAD_DOWN_ALTERNATE
95+
JOY_EVENT_FENG_PAD_LEFT_ALTERNATE
96+
JOY_EVENT_FENG_PAD_RIGHT_ALTERNATE
97+
JOY_EVENT_FENG_QUIT
98+
JOY_EVENT_FENG_RACEOPTIONS
99+
JOY_EVENT_START
100+
JOY_EVENT_SELECT
101+
JOY_EVENT_MENU_SELECT
102+
JOY_EVENT_MENU_CANCEL
103+
JOY_EVENT_MENU_BACK
104+
JOY_EVENT_MENU_HELP
105+
JOY_EVENT_MENU_L1
106+
JOY_EVENT_MENU_L2
107+
JOY_EVENT_MENU_R1
108+
JOY_EVENT_MENU_R2
109+
JOY_EVENT_MENU_SQUARE
110+
JOY_EVENT_MENU_ANALOG_LEFT
111+
JOY_EVENT_MENU_ANALOG_RIGHT
112+
JOY_EVENT_MENU_ANALOG_UP
113+
JOY_EVENT_MENU_ANALOG_DOWN
114+
JOY_EVENT_SKIP_DEMO_MODE
115+
JOY_EVENT_MAIN_MENU_SELECT_TRANSMISSION
116+
JOY_EVENT_ANY
117+
JOY_EVENT_EXIT_EDIT_TEXT
118+
JOY_EVENT_CLEAR_TEXT
119+
JOY_EVENT_CANCEL_EDIT_TEXT
120+
JOY_EVENT_DELETE_CHAR
121+
JOY_EVENT_ROTATE_LETTER_UP
122+
JOY_EVENT_ROTATE_LETTER_DOWN
123+
JOY_EVENT_PREV_CHAR
124+
JOY_EVENT_NEXT_CHAR
125+
JOY_EVENT_CARSEL_CHANGE_MODE
126+
JOY_EVENT_CARSEL_UNLOCK
127+
JOY_EVENT_CARSEL_ORBIT_LEFT
128+
JOY_EVENT_CARSEL_ORBIT_RIGHT
129+
JOY_EVENT_CARSEL_ORBIT_UP
130+
JOY_EVENT_CARSEL_ORBIT_DOWN
131+
JOY_EVENT_CARSEL_ORBIT_LEFTRIGHT
132+
JOY_EVENT_CARSEL_ORBIT_UPDOWN -- inverted axis
133+
JOY_EVENT_CARSEL_ORBIT_INOUT
134+
JOY_EVENT_CARSEL_ORBIT_IN
135+
JOY_EVENT_CARSEL_ORBIT_OUT
136+
JOY_EVENT_CHANGE_DEBUG_CAMERA
137+
JOY_EVENT_DEBUG_CAMERA_ROTATE_RIGHT
138+
JOY_EVENT_DEBUG_CAMERA_ROTATE_LEFT
139+
JOY_EVENT_DEBUG_CAMERA_ROTATE_UP
140+
JOY_EVENT_DEBUG_CAMERA_ROTATE_DOWN
141+
JOY_EVENT_DEBUG_CAMERA_MOVE_CLOSER
142+
JOY_EVENT_DEBUG_CAMERA_MOVE_FARTHER
143+
JOY_EVENT_DEBUG_CAMERA_NEXT_CAR
144+
JOY_EVENT_DEBUG_CAMERA_PREV_CAR
145+
JOY_EVENT_DEBUG_CAMERA_FOLLOW_CHOPPER
146+
JOY_EVENT_DEBUG_CAMERA_TURN_LEFT
147+
JOY_EVENT_DEBUG_CAMERA_TURN_RIGHT
148+
JOY_EVENT_DEBUG_CAMERA_TURN_DOWN
149+
JOY_EVENT_DEBUG_CAMERA_TURN_UP
150+
JOY_EVENT_DEBUG_CAMERA_MOVE_DOWN
151+
JOY_EVENT_DEBUG_CAMERA_MOVE_UP
152+
JOY_EVENT_DEBUG_CAMERA_MOVE_FWD
153+
JOY_EVENT_DEBUG_CAMERA_MOVE_BACK
154+
JOY_EVENT_DEBUG_CAMERA_MOVE_LEFT
155+
JOY_EVENT_DEBUG_CAMERA_MOVE_RIGHT
156+
JOY_EVENT_DEBUG_CAMERA_TURBO
157+
JOY_EVENT_DEBUG_CAMERA_SUPER_TURBO
158+
JOY_EVENT_DEBUG_CAMERA_SLOW
159+
JOY_EVENT_DEBUG_CAMERA_FORWARD_BLINK
160+
JOY_EVENT_DEBUG_CAMERA_BACKWARD_BLINK
161+
JOY_EVENT_DEBUG_CAMERA_DROP_CAR
162+
JOY_EVENT_DEBUG_CAMERA_ROTATE_LEFTRIGHT
163+
JOY_EVENT_DEBUG_CAMERA_ROTATE_UPDOWN
164+
JOY_EVENT_DEBUG_CAMERA_STRAFE_LEFTRIGHT
165+
JOY_EVENT_DEBUG_CAMERA_INOUT -- inverted axis
166+
JOY_EVENT_TRACKROUTE_EDITOR_TURN_LEFTRIGHT
167+
JOY_EVENT_TRACKROUTE_EDITOR_TURN_UPDOWN
168+
JOY_EVENT_TRACKROUTE_EDITOR_DRIVE_FORWARDBACKWARD
169+
JOY_EVENT_TRACKROUTE_EDITOR_DRIVE_LEFTRIGHT
170+
JOY_EVENT_TRACKROUTE_EDITOR_DRIVE_TURBO
171+
JOY_EVENT_TRACKROUTE_EDITOR_MOVE_UP
172+
JOY_EVENT_TRACKROUTE_EDITOR_MOVE_DOWN
173+
JOY_EVENT_TRACKROUTE_EDITOR_DPAD_UP
174+
JOY_EVENT_TRACKROUTE_EDITOR_DPAD_DOWN
175+
JOY_EVENT_TRACKROUTE_EDITOR_DPAD_LEFT
176+
JOY_EVENT_TRACKROUTE_EDITOR_DPAD_RIGHT
177+
JOY_EVENT_TRACKROUTE_EDITOR_NEXT_ROUTE
178+
JOY_EVENT_TRACKROUTE_EDITOR_NEXT_POINT
179+
JOY_EVENT_TRACKROUTE_EDITOR_PREV_POINT
180+
JOY_EVENT_TRACKROUTE_EDITOR_RESET_POS
181+
JOY_EVENT_TRACKROUTE_EDITOR_EDIT_RIGHT_WIDTH
182+
JOY_EVENT_TRACKROUTE_EDITOR_EDIT_LEFT_WIDTH
183+
JOY_EVENT_TRACKROUTE_EDITOR_EDIT_POSITION
184+
JOY_EVENT_TOGGLE_TRACK_MARKER
185+
JOY_EVENT_CAMERA_POV_CHANGE
186+
JOY_EVENT_CAMERA_LOOKBACK
187+
JOY_EVENT_ZONE_FREEZE -- HP2 - works as intended
188+
JOY_EVENT_ZONE_PREVIEW -- HP2 - works as intended
189+
JOY_EVENT_ZONE_SLOMO -- HP2 - works as intended
190+
JOY_EVENT_ZONE_WARP
191+
JOY_EVENT_REPLAY_SKIP
192+
JOY_EVENT_REPLAY_PAUSE
193+
JOY_EVENT_REPLAY_PREVIOUS_MARKER
194+
JOY_EVENT_REPLAY_NEXT_MARKER
195+
JOY_EVENT_REPLAY_PLAYBACK_SPEED
196+
JOY_EVENT_REPLAY_CAMERA_ANGLE
197+
JOY_EVENT_REPLAY_CAMERA_TARGET
198+
JOY_EVENT_REPLAY_HELP
199+
JOY_EVENT_REPLAY_HIDE_TIMELINE
200+
JOY_EVENT_REPLAY_MARK_DEMO
201+
JOY_EVENT_REPLAY_TEST_DEMO
202+
JOY_EVENT_REPLAY_ERASE_DEMO
203+
JOY_EVENT_STEER -- you may only assign an analog axis or DPAD, nothing else
204+
JOY_EVENT_STEER_ANALOG -- breaks right after using JOY_EVENT_STEER (JOY_EVENT_STEER is analog as well anyway)
205+
JOY_EVENT_THROTTLE
206+
JOY_EVENT_THROTTLE_ANALOG
207+
JOY_EVENT_THROTTLE_ANALOG_ALTERNATE
208+
JOY_EVENT_BRAKE
209+
JOY_EVENT_BRAKE_ANALOG
210+
JOY_EVENT_BRAKE_ANALOG_ALTERNATE
211+
JOY_EVENT_REVERSE
212+
JOY_EVENT_REVERSE_ANALOG
213+
JOY_EVENT_EBRAKE
214+
JOY_EVENT_EBRAKE_ANALOG
215+
JOY_EVENT_SHIFTUP
216+
JOY_EVENT_SHIFTDOWN
217+
JOY_EVENT_SHIFTUP_ALTERNATE
218+
JOY_EVENT_SHIFTDOWN_ALTERNATE
219+
JOY_EVENT_DISENGAGE_CLUTCH
220+
JOY_EVENT_DISENGAGE_CLUTCH_ANALOG
221+
JOY_EVENT_RESET_CAR
222+
JOY_EVENT_HONK_HORN -- works but code for playing the honk is missing. If restored, this will work just fine (same for AI).
223+
JOY_EVENT_NITRO_BOOST
224+
JOY_EVENT_NITRO_BOOST_ALTERNATE
225+
JOY_EVENT_REQUEST_ROADBLOCK
226+
JOY_EVENT_REQUEST_HELICOPTER
227+
JOY_EVENT_FIRE_ROCKET
228+
JOY_EVENT_AIM_ROCKET_LR
229+
JOY_EVENT_AIM_ROCKET_UD
230+
JOY_EVENT_AIM_ZOOM
231+
JOY_EVENT_AUTO_PILOT
232+
JOY_EVENT_DRAG_RACE_CHANGE_LANE_LEFT
233+
JOY_EVENT_DRAG_RACE_CHANGE_LANE_RIGHT
234+
JOY_EVENT_DRAG_RACE_CHANGE_LANE_LEFT_ANALOG -- very broken, not advised to use, it goes full left or right, stick to the digital versions above
235+
JOY_EVENT_DRAG_RACE_CHANGE_LANE_RIGHT_ANALOG
236+
JOY_EVENT_CYCLE_HUD
237+
JOY_EVENT_PAUSE
238+
JOY_EVENT_SKIP

0 commit comments

Comments
 (0)