RGB keyboard lamp mirror + the shipped controls reference
KEYBOARD LAMP MIRROR (L4KEYLIGHT). Ported from RP412, itself a port of vRIO's KeyboardLampMirror. Keys bound to a lamp address in bindings.txt glow with the panel palette through Windows Dynamic Lighting -- yellow for the map's side columns (0x10-0x1F), red for the rest -- flashing in step with the on-screen buttons (its LampLevel copy matches the FIXED BTLampBrightnessOf). Per-key boards light each bound key; zone-lit boards mirror the strongest lamp board-wide. All WinRT runs on a private worker thread: watcher, claim, and a 100 ms paint loop that repaints only on change. RP412's packing hazard does NOT transfer: it forces default struct packing there because its engine is /Zp1, which would break the WinRT ABI. BT411's BT_OPTS carries no /Zp, so only the dialect flags are needed -- /std:c++17 /permissive- per-file, since the project otherwise builds C++14 /permissive. The scalars-only interface is kept anyway so the isolation survives if packing is ever added. Wired in PadRIO: map built from bindings.keyBindings (ActionButton binds only, first-binding-wins per key), fed from PadRIO::SetLamp, stopped in the dtor (which hands the LEDs back to Windows). BT_KEYLIGHT=0 opts out; a machine without Dynamic Lighting logs once and stays dormant. Verified live: claimed this machine's 24-zone keyboard and mirrors 25 bound keys; BT_KEYLIGHT=0 and the pod profile produce zero keylight lines and run clean. SHIPPED CONTROLS REFERENCE. docs/CONTROLS.md carries the keyboard table plus the full 72-BUTTON POD MAP, grouped by the display each bank surrounds, with the coolant-valve detent warning (1-5-50-CLOSED, one press past max shuts the loop) and the jam/eject procedure. mkdist flattens it to ASCII as CONTROLS.txt at the zip root, the README's own idiom. players/README.txt gained pointers to it, to environ.ini, to -fit, and to the RGB mirror. KB: context/glass-cockpit.md and docs/GLASS_COCKPIT.md updated for the whole branch -- layout modes, L4RIOBANK and the under-glass rule, the letterbox fit and its ordering trap, player-tunable displays, the measured legend grid, the closed dead-button backlog, and this mirror. Verified: five-mode regression (surround/exploded/dock/pod/dev) boots and simulates with zero faults; mkdist writes a 5149-byte pure-ASCII CONTROLS.txt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,6 +104,18 @@ control (stick, twist, throttle, fire buttons), writes the bindings,
|
||||
and drops you into the solo menu to try them. Rebind keys in
|
||||
content\bindings.txt (regenerates with defaults if deleted).
|
||||
|
||||
FULL CONTROLS REFERENCE: see CONTROLS.txt next to this file -- every one of
|
||||
the pod's 72 cockpit buttons, what it does, and which display it sits on.
|
||||
|
||||
COCKPIT LAYOUT: content\environ.ini (written on first run, every option
|
||||
documented in the file itself) sizes the MFDs and the map, moves the map out
|
||||
of the middle of the road, or breaks each display into its own window. The
|
||||
cockpit now scales to ANY window shape without distorting -- drag it, maximise
|
||||
it, or launch with -fit for borderless full screen.
|
||||
|
||||
RGB KEYBOARDS: if yours supports Windows Dynamic Lighting, the keys you have
|
||||
bound to cockpit buttons glow in the panel's colours and flash along with it.
|
||||
|
||||
This build: {VERSION}. Private -- do not redistribute.
|
||||
{EXPIRE}Test builds STOP WORKING 14 days after they are made -- if the game
|
||||
{EXPIRE}says it has expired, just grab the operator's newest zip.
|
||||
|
||||
Reference in New Issue
Block a user