• src/doors/syncduke/syncduke_input.c src/doors/syncduke/tests/test_evde

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Jul 9 01:55:11 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/52baec2f10cb82b503962bd5
    Modified Files:
    src/doors/syncduke/syncduke_input.c src/doors/syncduke/tests/test_evdev.c test_keymap.c test_kitty.c
    Log Message:
    syncduke: repair the three input tests, which had rotted unbuildable

    test_keymap.c, test_kitty.c and test_evdev.c could not be linked with the command lines in their own header comments: syncduke_input.c grew calls
    into syncduke_node.c's page-compose hooks, and test_keymap additionally
    needed the termgfx audio and RTT symbols the pump now touches. They also
    need an -s1 argument -- a bare launch hits syncduke_door.c's pre-main constructor, which prints usage and exits.

    This predates the termgfx keymode work (verified by building them at 474e8cf076); keymode.c is simply added to the link lines as the newest dependency, and the three tests then pass: 43 assertions in test_kitty,
    55 in test_evdev.

    One stale expectation fixed rather than papered over: test_keymap
    asserted plain R maps to CapsLock (AutoRun). AutoRun deliberately moved
    to Ctrl-R so that R reaches Duke's Steroids hotkey -- see handle_key()'s
    0x12 case -- so R now maps to its own scancode. The assertion is updated
    to Steroids, and the file-header comment in syncduke_input.c, which still documented the old binding, is corrected. Ctrl-R itself is handled in handle_key(), a layer above the map_ascii() these tests drive, so there
    is nothing to assert for it here.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net