# The keyboard's steering with a steering wheel connected (runtime/dinput_pad.c, sub_005c1000): the game asks whether
# the port's device is a driving device and then steers straight to the car's angle (0x4061c0), so with a wheel
# resting, a key steered to full lock (0x2000 = 45 degrees left) in the first frame at any speed.  Now a resting wheel
# leaves the keyboard the speed's lock (0x416bb0): Quick Race, the wheel at rest, full throttle 5 s (about 64 km/h),
# then LEFT: 40 frames on, about 0x15a9 (as with no wheel), not 0x2000.  The wheel turned still steers its own way,
# through 0x4061c0 (4132 two frames after LX -1 at that speed, where the keyboard's turn has 2948), and the keyboard
# again as without a wheel once it rests.  [[[0x8900ac]+4]+0x30] is the player's input
# controller (dinput_pad.c's @in), +0x1e0 the car's steering angle.
#   node web/tools/run-suite.mjs --script kb_steer_wheel.txt --marker kb_steer_wheel_end
# Good: every expect passes.  The old module: the first and the last fail (8192).
0       pad connect wheel
0       waitfng UG_LS_Splash.fng 12000
+1000ms tapuntil RETURN MC_Background.fng 120 3000      # title -> profile prompt
+600ms  tapuntil RETURN GarageMain.fng 120 3000         # "No" -> main menu
+1500ms tapuntil RETURN UI_QRModeSelect.fng 240 3000    # Quick Race
+800ms  tapuntil RETURN UI_QRTrackSelect.fng 240 3000   # Circuit
+800ms  tapuntil RETURN UI_QRModeOptions.fng 240 3000   # the first track
+800ms  tapuntil RETURN UI_QRCarSelect.fng 240 3000     # options
+800ms  tapuntil RETURN GenericDialog_SMALL.fng 240 3000 # car -> transmission
+800ms  tapuntil RETURN PC_Loading.fng 240 3000         # transmission -> loading
+0      waitmem 0x8654a4 6 12000
+0      wzero
14500wms log --- the keyboard at speed, the wheel resting ---
+0      down UP
+5000wms down LEFT
+40     peek @in+0x1e0
+0      expect i:[[[0x8900ac]+4]+0x30]+0x1e0 < 7168
+0      up LEFT
+60     log --- the wheel turned ---
+0      axis LX -1
+2      peek @in+0x1e0
+0      expect i:[[[0x8900ac]+4]+0x30]+0x1e0 > 3500
+0      axis LX 0
+60     log --- the keyboard again ---
+0      down LEFT
+40     peek @in+0x1e0
+0      expect i:[[[0x8900ac]+4]+0x30]+0x1e0 < 7168
+0      up LEFT
+0      up UP
+30     log kb_steer_wheel_end
+10     quit
