Skip to content

fix(pad): read controller commands from Unicode paths - #5970

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
Ondra97:codex/fix-pad-command-unicode-path
Oct 16, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
Ondra97:codex/fix-pad-command-unicode-path

Conversation

@Ondra97

@Ondra97 Ondra97 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

What

Controller pulses through APS5_PAD_INPUT_FILE never arrive on Windows when the command file's path contains characters outside the host code page. The environment variable and file reader both use narrow strings, so a path such as žluťoučký-漢字 loses its filename before the file is opened.

Read the Windows environment variable with _wgetenv and retain a native std::filesystem::path in the existing command reader. POSIX paths still use their native bytes. The regression uses a Unicode filename for the existing end-to-end button and stick injection checks, including expiry and restoration of physical input. Existing ASCII command parsing and disabled-input checks remain covered.

Tested

I tested on Windows 11 Pro, MinGW-w64 GCC 15.2.0 (WinLibs), Release/Ninja, with BUILD_TESTING=ON.

Linux/macOS and a retail title were not run. This fixes the documented local controller command workflow.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in technical debt
  • No notes, investigation .md files or images added to the repository
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes — Codex

@github-actions github-actions Bot added the prx label Oct 14, 2026
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 6044 core/libs/tests/GuestPad.cpp
PR 6879 core/libs/prx/libScePad/src/PadState.cpp

@adriadam10 adriadam10 self-assigned this Oct 16, 2026
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the diff, guest_pad and the scoped ctest (34/34) on current main. _wgetenv plus a native std::filesystem::path fixes the Unicode path on Windows, POSIX is unchanged, and the test now uses a non-ASCII command file name. The Windows behaviour is covered by the dispatched Windows build; merging once it is green.

@adriadam10
adriadam10 merged commit 7b63ccb into boykopovar:main Oct 16, 2026
9 checks passed
@Ondra97
Ondra97 deleted the codex/fix-pad-command-unicode-path branch October 17, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants