mirror of
https://github.com/safijari/openpuck.git
synced 2026-11-03 22:30:22 +00:00
[PR #117] [CLOSED] Fix DS5 Windows game detection: expose PS5 game mode in UI, differentiate bcdDevice #206
Labels
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
safijari/openpuck#206
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/safijari/openpuck/pull/117
Author: @Copilot
Created: 7/3/2026
Status: ❌ Closed
Base:
main← Head:copilot/114-fortnite-ds5-controller-issue📝 Commits (1)
4bfc834Fix DS5 Windows game detection: expose PS5 game mode in UI, fix bcdDevice📊 Changes
3 files changed (+8 additions, -3 deletions)
View changed files
📝
OpenPuck/OpenPuck.ino(+1 -1)📝
OpenPuck/mode_ps5.cpp(+5 -1)📝
docs/index.html(+2 -1)📄 Description
MODE_PS5_GAME (mode 7) — the clean single-HID DualSense specifically designed for strict Windows game APIs (Fortnite/UE GameInput, Windows.Gaming.Input) — was invisible in the WebUSB panel. Users were forced onto MODE_PS5 (mode 5), which includes a wake-mouse HID + WebUSB vendor interface that causes Windows game classifiers to reject the device despite the correct VID/PID. Additionally, MODE_PS5 and MODE_PS5_GAME shared
bcdDevice = 0x0110, violating the descriptor-cache rule: a user who'd previously used MODE_PS5 could get Windows serving the stale extra-interface descriptor even after switching to the clean mode.Changes
docs/index.html: Added "PS5 DualSense (for games)" button (mode 7) to the panel. RenamedMODE_NAMES[7]from"PS5 (game/clean)"to"PS5 DualSense (for games)".OpenPuck/mode_ps5.cpp:usbIdentity()now setsbcdDevice = 0x0100for clean PS modes (matching real wired DualSense) and0x0110for MODE_PS5 with extra interfaces — ensures Windows invalidates its cached descriptor on a mode switch between the two.OpenPuck/OpenPuck.ino: Debug serial label update for MODE_PS5_GAME.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.