The keyboard becomes the button board (RP412 bindings port) + a controls page
Ported RP412's bindings design and made it the DEFAULT: the letter and number rows are the MFD button banks laid out WHERE THEY SIT ON THE PANEL, flight moves to the numpad so the board stays free, F1-F12 are the map's two columns, and G/B stay unbound as the physical gap between the lower clusters. Expressed in BT's OWN grammar (slew/deflect/set, the Turn channel) -- bindings.txt is a documented compatibility surface and was not touched. Coverage: 61 of 72 addresses on the keyboard, and the 11 absent ones are exactly those the pod never wired (0x16/0x17/0x1E/0x1F column gaps, 0x38-0x3E intercom/door). All 72 stay clickable on the panel. It lands on BT's addresses unreasonably well: 1-4 + QWER are the ENTIRE coolant system (Condensers 1-6, flush, balance), F6/F7 the display and control-mode cycles, F9-F12 Generators A-D, F4 the crouch button reconstructed earlier today. THE DELIBERATE COST. A bound key is removed from the authentic 1995 typed-hotkey channel so it cannot double-dispatch, and this board binds nearly everything -- so 5 (Quad page), z (Eng1), t/y/u/i/o (pilot select) and +/- (target zoom) are given up. Unbind a key to get its 1995 meaning back. Documented in the file header, the markdown and the page. NEW RULE: A BINDINGS ROW WINS OVER A BUILT-IN CONVENIENCE KEY (PadRIO::KeyHasBinding). V and J/K/L are board buttons now, and those polls read GetAsyncKeyState directly -- without this they would have fired BOTH the button and the built-in. View toggle lives on BACKTICK alone. CONTROLS.MAP rewritten to mirror the board so glass/pod/dev still feel identical (the 2026-07-21 settlement): 90 bindings, 0 parse complaints. HAT LABELS CORRECTED [T1]. INPUT_PATH_AUDIT flagged 0x41-0x44 and was right. Settled from the streamed mapping (BT_CTRLMAP_LOG): elem 66 -> subsys 17 attrID 14, i.e. 0x42 is the TORSO subsystem, not a look; 0x44/0x43/0x41 are the mapper's LookLeft/LookRight/LookBehind (attrID 10/11/12). The .RES has no "TORSO CENTER" string -- its names are LookBehind/Down/Forward/Left/Right -- so the audit's wording was loose but its substance correct. Swept L4GLASSWIN, L4PADPANEL and L4VB16. docs/CONTROLS.html: interactive keyboard (hover a key for its address and meaning, MFD clusters outlined), pad diagram, panel map, the under-glass press-target figure, radar placement thumbnails and the environ.ini table -- modelled on RP412's page, rewritten for BT's addresses and hazards. mkdist wraps the fragment in a doctype/charset shell and ships it beside CONTROLS.txt. Verified: bindings.txt regenerates and loads (74 keys, 0 errors); CONTROLS.MAP 90 bindings, 0 errors; 72/72 panel addresses still dispatch; surround / exploded / dock / pod / dev boot and simulate with zero faults. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+96
-52
@@ -43,61 +43,105 @@
|
||||
# hotkey channel (no double dispatch); unbound keys keep their authentic
|
||||
# 1995 meaning (see pckey above).
|
||||
#
|
||||
# ---- WASD CLASSIC (the shipped default) ----------------------------------
|
||||
# ---- THE KEYBOARD IS THE BUTTON BOARD ------------------------------------
|
||||
# Mirrors contentindings.txt exactly, so the glass (PadRIO) and desktop
|
||||
# (btinput) boots feel identical -- the letter and number rows are the MFD
|
||||
# button banks laid out where they sit on the panel, and flight lives on the
|
||||
# numpad. G and B are the physical gap between the lower clusters and stay
|
||||
# unbound. A bound key is REMOVED from the typed 1995 hotkey channel, so
|
||||
# this board gives those up by design (see pckey above to rebind any back).
|
||||
|
||||
# Driving: W/S sweep the throttle lever (sticks, detent at zero); A/D are
|
||||
# the turn pedals (spring back); Q/E twist the torso; R/F aim the torso
|
||||
# up/down (elevation); X = all stop (recenters twist AND pitch).
|
||||
key W axis Throttle rate 0.7
|
||||
key S axis Throttle rate -0.7
|
||||
key Up axis Throttle rate 0.7
|
||||
key Down axis Throttle rate -0.7
|
||||
key A axis LeftPedal deflect 1
|
||||
key D axis RightPedal deflect 1
|
||||
key Left axis LeftPedal deflect 1
|
||||
key Right axis RightPedal deflect 1
|
||||
key Q axis JoystickX deflect -1
|
||||
key E axis JoystickX deflect 1
|
||||
key R axis JoystickY deflect 1
|
||||
key F axis JoystickY deflect -1
|
||||
key X action AllStop
|
||||
|
||||
# Fire: the pod joystick's four buttons.
|
||||
key D1 button 0x40 # Main trigger (lasers group)
|
||||
key Space button 0x40
|
||||
key D2 button 0x46 # Middle thumb (PPCs group)
|
||||
key D3 button 0x47 # Upper thumb (missiles group)
|
||||
key Ctrl button 0x47
|
||||
key D4 button 0x45 # Pinky (4th group)
|
||||
key Alt button 0x3F # throttle-head = REVERSE THRUST
|
||||
|
||||
# --- numpad aim cluster (torso twist/aim -- mirrors bindings.txt so the
|
||||
# --- glass (PadRIO) and desktop (btinput) boots feel identical) ---
|
||||
key NumPad8 axis JoystickY deflect 1 # torso aim up
|
||||
key NumPad2 axis JoystickY deflect -1 # torso aim down
|
||||
key NumPad4 axis JoystickX deflect -1 # torso twist left
|
||||
key NumPad6 axis JoystickX deflect 1 # torso twist right
|
||||
key NumPad7 axis LeftPedal deflect 1 # turn left (alt)
|
||||
key NumPad9 axis RightPedal deflect 1 # turn right (alt)
|
||||
# Flight: the numpad. 8/2/4/6 stick, 7/9 pedals, 5 all-stop, 0 trigger;
|
||||
# Shift/Ctrl walk the throttle lever and it sticks; Alt is reverse thrust.
|
||||
key NumPad8 axis JoystickY deflect 1
|
||||
key NumPad2 axis JoystickY deflect -1
|
||||
key NumPad4 axis JoystickX deflect -1
|
||||
key NumPad6 axis JoystickX deflect 1
|
||||
key NumPad7 axis LeftPedal deflect 1
|
||||
key NumPad9 axis RightPedal deflect 1
|
||||
key NumPad5 action AllStop
|
||||
key Shift axis Throttle rate 0.7 # throttle up (alt)
|
||||
key Shift axis Throttle rate 0.7
|
||||
key Ctrl axis Throttle rate -0.7
|
||||
key Alt button 0x3F
|
||||
|
||||
# Systems.
|
||||
key G action ConfigHold # hold + fire keys = regroup the weapon
|
||||
key C action Valve # coolant valve cycle
|
||||
key H action Flush # coolant flush (HOLD -- dumps reservoir coolant)
|
||||
key M action ModeCycle # Basic -> Standard -> Veteran controls
|
||||
key N action DisplayCycle # secondary schematic: Damage -> Critical -> Heat
|
||||
key J action Mfd1Cycle # lower-left MFD page: Quad -> Eng detail pages
|
||||
key K action Mfd2Cycle # upper-center MFD page (engineering)
|
||||
key L action Mfd3Cycle # lower-right MFD page
|
||||
key V action ViewToggle # cockpit <-> chase camera (dev)
|
||||
key B action LookBehind # HOLD = the pod's rear-view button
|
||||
key F5 action Generator1
|
||||
key F6 action Generator2
|
||||
key F7 action Generator3
|
||||
key F8 action Generator4
|
||||
key F9 action Reconnect
|
||||
# The four mappable fire buttons.
|
||||
key Space button 0x40
|
||||
key NumPad0 button 0x40
|
||||
key NumPad1 button 0x45
|
||||
key NumPad3 button 0x46
|
||||
key Decimal button 0x47
|
||||
|
||||
# The hat, on the arrows. 0x42 is TORSO CENTER, not a look (streamed
|
||||
# mapping: elem 66 -> subsys 17 Torso attr 14; the other three are the
|
||||
# mapper's LookBehind/Right/Left).
|
||||
key Up button 0x42
|
||||
key Down button 0x41
|
||||
key Left button 0x44
|
||||
key Right button 0x43
|
||||
|
||||
# UPPER MFD banks: number row on top, QWERTY beneath.
|
||||
# Heat / coolant (1-4, QWER = Condensers 1-6, flush, balance).
|
||||
key D1 button 0x2F
|
||||
key D2 button 0x2E
|
||||
key D3 button 0x2D
|
||||
key D4 button 0x2C
|
||||
key Q button 0x2B
|
||||
key W button 0x2A
|
||||
key E button 0x29
|
||||
key R button 0x28
|
||||
# Engineering / Mfd2.
|
||||
key D5 button 0x27
|
||||
key D6 button 0x26
|
||||
key D7 button 0x25
|
||||
key D8 button 0x24
|
||||
key T button 0x23
|
||||
key Y button 0x22
|
||||
key U button 0x21
|
||||
key I button 0x20
|
||||
# Comm / target hotbox.
|
||||
key D9 button 0x37
|
||||
key D0 button 0x36
|
||||
key OemMinus button 0x35
|
||||
key Oemplus button 0x34
|
||||
key O button 0x33
|
||||
key P button 0x32
|
||||
key OemOpenBrackets button 0x31
|
||||
key OemCloseBrackets button 0x30
|
||||
|
||||
# LOWER MFD banks: home row on top, the row below beneath.
|
||||
key A button 0x0F
|
||||
key S button 0x0E
|
||||
key D button 0x0D
|
||||
key F button 0x0C
|
||||
key Z button 0x0B
|
||||
key X button 0x0A
|
||||
key C button 0x09
|
||||
key V button 0x08
|
||||
key H button 0x07
|
||||
key J button 0x06
|
||||
key K button 0x05
|
||||
key L button 0x04
|
||||
key N button 0x03
|
||||
key M button 0x02
|
||||
key Oemcomma button 0x01
|
||||
key OemPeriod button 0x00
|
||||
|
||||
# The two columns flanking the map.
|
||||
key F1 button 0x10
|
||||
key F2 button 0x11
|
||||
key F3 button 0x12
|
||||
key F4 button 0x13
|
||||
key F5 button 0x14
|
||||
key F6 button 0x15
|
||||
key F7 button 0x18
|
||||
key F8 button 0x19
|
||||
key F9 button 0x1A
|
||||
key F10 button 0x1B
|
||||
key F11 button 0x1C
|
||||
key F12 button 0x1D
|
||||
|
||||
# View toggle keeps its own key (V is a board button now).
|
||||
key Oemtilde action ViewToggle
|
||||
|
||||
# ---- Xbox controller -----------------------------------------------------
|
||||
# Left stick steers (the pedals), right stick twists the torso and pushes
|
||||
|
||||
Reference in New Issue
Block a user