• feat(controller): DualShock/DualSense/Steam pads, slot panel, Sunshine pad type
    release / Build Windows .zip (push) Canceled after 0s

    LastSkywalker released this 2026-10-07 08:59:18 +03:00 | 17 commits to main since this release

    Not released; verified in the Win11 ARM64 VM as far as possible without
    real pads (see decision 0037 for the hardware experiments still to run).

    Launcher input: internal/controller reduces every source to a Frame —
    XInput (4 slots, unchanged backends) plus DualShock 4 / DualSense / Steam
    Controller read directly over HID (overlapped ReadFile, shared, read-only)
    — merges them (OR buttons, farthest axis; this also de-dupes a pad mirrored
    by Steam Input / DS4Windows) and drives one platform-free Engine (unit
    tests on any OS). Report layouts from SDL's hidapi drivers. While a game
    runs every HID handle is closed, same red line as XInput polling.
    cmd/gs-hid lists HID interfaces and dumps raw reports for checking against
    real hardware.

    UI: controller:state carries the pad kind; shell hints switch to
    ✕○□△ / L1 R1 / Options / Share for a PlayStation pad. Settings «Геймпады»
    shows the four XInput slots with VID:PID (XInputGetCapabilitiesEx #108),
    the HID pads being read and running virtual-pad creators. Read-only: no
    automatic slot reshuffling.

    Sunshine: choose the emulated pad (x360 / ds4; xseries / ds5 / switch
    with the Virtual HID driver). /api/config POST replaces sunshine.conf, so
    the file is read, one key changed and posted back whole, then
    /api/restart; sunshine.conf is backed up first. No UAC — works from the
    shell with a gamepad. Verified: other keys kept, service back in ~20 s.

    Regression pass in the VM (desktop + shell): dashboard, drawer, manual
    backup, restore with pre-restore snapshot, exe launch with minimize /
    restore and playtime, crash dialog (0xC0000135), Sunshine deep-link
    timeout dialog, shell settings with Scan focused.

    Docs: decisions 0036 (Sunshine) and 0037 (HID pads), CLAUDE.md module
    map + red line, windows-syscalls.md HID section.

    Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

    Downloads