https://gitlab.synchro.net/main/sbbs/-/commit/e2935fc86b51162e3ac36734
Modified Files:
src/doors/syncconquer/door/door_input.c door_io.c door_io.h
Log Message:
syncalert: add Ctrl-S stats overlay and fix door hotkeys in all key modes
Ctrl-S toggles a live debug overlay: graphics tier, frame rate, wire
throughput (K/Mbps), pacing depth, keyboard-event mode, mouse
granularity, client charset, RTT, and canvas/grid/cell geometry. It's
drawn as one condensed line on the bottom text row -- the one placement
that survives every tier (sixel can't paint over its reserved bottom row; JXL/PPM and the text tiers layer a text overlay on top). The overlay does
NOT bypass the frame-dedupe: on an unchanged frame it refreshes only the
line (change-detected) rather than re-encoding the whole image, which is
what made an earlier top-corner overlay flicker under sixel.
Also fix the door-level Ctrl+letter hotkeys (Ctrl-D/F/U/P/S). They were
only decoded on the legacy raw-byte input path, so under the negotiated
evdev (SyncTERM) or kitty (Windows Terminal) keyboard mode -- where a
modified key arrives as a CSI/evdev report, not a raw control byte -- they
were silently swallowed during play (the same trap F4 already worked
around). Route all three input paths through one door_io_hotkey()
dispatcher; a commit flag fires the action on the press edge only while swallowing repeat/release, so a held key can't re-toggle or leak the
letter into the game.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net