• src/conio/win32gdi.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Sep 28 15:31:00 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a33d1e117751d6da20e0ce8c
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix reversed mouse wheel on Win32GDI...

    From MSDN:
    A positive value indicates that the wheel was rotated forward
    away from the user; a negative value indicates that the wheel
    was rotated backward, toward the user.

    Fixes bug 143.

    However, this re-opens the confusion around request 75...
    nigel and DigitalMan should take a look at this more closely
    in rc2 (or an updated nightly).
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Oct 12 11:13:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4c5d2dd87cee11fe76aa9ed0
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Improve input in GDI mode

    This may be a fix for bug 150 (which was reported against SDL mode).
    Basically, Windows will report AltGr as Alt + Ctrl, so we need to
    be able to parse that.

    Since we're here, support WM_UNICHAR to avoid the need to have
    Windows convert to "ANSI" for us, and allow direct unicode input
    (even in "ANSI" mode).
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Oct 12 12:47:47 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9afd899ba2f71e58a834e9dc
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Whoops.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Nov 17 11:08:47 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/22b0bdaa8df1e5876322ff6d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    When SyncTERM is deactivated and it is in fullscreen mode, minimize.

    This appears to be the best we can do when Windows+M (minimize all)
    is pressed. We don't seem to be notified that we should minimize,
    only that a different application is being activated.

    This also makes Alt-TAB behave a bit more like expected.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wed Jan 1 22:01:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8af79c027793dc21498c2d54
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix an MSVC warning
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Jan 12 08:48:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/cf67458be4a36d4dd3f53aed
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix typo
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Jan 3 11:11:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/30e18fb3dc21780a29ade29d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Only adjust the bottom/left corner of the sizing rectangle

    Adjusting anything else can lead to weirdness due to the unreliable
    nature of window decoration sizes.

    Should bug fix ticket 215
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 19 14:38:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e3a6c390aae2eeb7a6ce5c2f
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Sync modifier key state on focus regain in Win32 GDI (ticket 226)

    After Ctrl+clicking a URL, the window loses focus before the Ctrl
    key-up event arrives, leaving the internal modifier state stuck.
    Poll GetKeyState() on WM_ACTIVATEAPP to reset mods to match reality.

    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 21 20:46:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/95dbfeb369f2c4de0f7561e3
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Use GetAsyncKeyState for modifier sync on focus regain (ticket 226)

    GetKeyState returns message-queue-synchronized state, which is stale
    when the key-up event was delivered to another window. Switch to GetAsyncKeyState which reads the actual hardware key state, so Ctrl
    and Shift are correctly cleared when the user released them while
    the browser (or other app) had focus.

    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc�@VERT to Git commit to main/sbbs/master on Sat Mar 21 23:25:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/cb106dbe65584cdf688429e1
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix stuck modifier keys by handling WM_KILLFOCUS/WM_SETFOCUS in gdi_WndProc (ticket 226)

    WM_KILLFOCUS and WM_SETFOCUS are sent (synchronous), not posted, so
    they go directly to gdi_WndProc bypassing the GetMessage/magic_message
    path entirely. The previous fix in magic_message never ran.

    Move mods to file scope so gdi_WndProc can access it. Clear mods on WM_KILLFOCUS, and re-sync from GetAsyncKeyState on WM_SETFOCUS to
    catch modifiers held across the focus boundary. Remove the
    WM_ACTIVATEAPP handler and message-loop sync machinery which were
    unnecessary � debug logging confirmed the thread keyboard state (GetKeyboardState) correctly showed Ctrl as released; only the mods
    variable was stale, causing magic_message to consume key events as
    Ctrl+key combos via the keyval table.

    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net