• src/conio/wl_events.c

    From Deucе@VERT to Git commit to main/sbbs/master on Tuesday, March 17, 2026 11:59:17
    https://gitlab.synchro.net/main/sbbs/-/commit/103bb429ba346eba05c82ec3
    Modified Files:
    src/conio/wl_events.c
    Log Message:
    Fix readev() infinite loop on read error in Wayland backend

    Handle read() returning -1 (error) or 0 (EOF) instead of spinning
    forever. Use ssize_t for the return value and break out of the loop
    on fatal errors, retrying only on EINTR. (Coverity CID 501974)

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Friday, March 20, 2026 15:00:27
    https://gitlab.synchro.net/main/sbbs/-/commit/17e095ff717f747b9e463f5d
    Modified Files:
    src/conio/wl_events.c
    Log Message:
    Don't pass the translated evdev code to xkbcommon

    We want to actually pass the CORRECT value to the API so arrow keys
    fail and things work.

    Make the translated evdev_key be tevdev_key (used ALMOST everywhere)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Saturday, April 25, 2026 14:52:58
    https://gitlab.synchro.net/main/sbbs/-/commit/9b7d45c483b887623791c03c
    Modified Files:
    src/conio/wl_events.c
    Log Message:
    conio/wayland: fix key repeat sending numpad digits for arrows

    bug ticket 242: holding arrows under Wayland produced ASCII digits
    (Left=4, Right=6, Up=8, Down=2, etc.) once key-repeat began.

    send_scancode() stored the remapped BIOS scancode in repeat_key,
    but handle_key_repeat() feeds repeat_key back into send_scancode()
    as if it were an evdev code. BIOS scancode 75 (Left) collides with
    evdev KEY_KP4, so the xkb path returned '4' on repeat — and the
    same coincidence covers all the other reported keys.

    Store the original evdev_key in repeat_key consistently, and match
    release events against evdev_key.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thursday, April 30, 2026 00:47:11
    https://gitlab.synchro.net/main/sbbs/-/commit/d03d9cc69eb9f9de1c59d9c2
    Modified Files:
    src/conio/wl_events.c
    Log Message:
    SyncTERM: drive Wayland toplevel resize when content size changes

    update_surface_size was setting wp_viewport's destination but never
    hinting the new content rect to the compositor. When a text mode
    change shrank the viewport below the toplevel's last-configured size
    (e.g. terminal mode → dialing directory after Alt-H disconnect), the
    viewport occupied a sub-rect and the rest of the toplevel was painted
    by the compositor — transparent → black, ticket 246's "screen blacks
    out" symptom.

    Add xdg_surface_set_window_geometry alongside the viewport update so
    floating compositors snap the toplevel to the new mode's natural integer-multiple size. Tiled compositors keep their layout-imposed
    size either way.

    Maybe fixes ticket 246.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

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