Repository navigation
feat: add native PlayStation Mouse (SCPH-1030) support - #779
Open
PeriBluGaming wants to merge 2 commits into
Open
PeriBluGaming wants to merge 2 commits into
PeriBluGaming wants to merge 2 commits into
Conversation
PeriBluGaming
marked this pull request as draft
October 27, 2026 21:30
Contributor
Author
Local validation (macOS / AppleClang 17)Successfully configured and built the PSXRecomp runtime test targets with SDL3 and recomp-ui. PlayStation Mouse tests:
Controller regression tests:
Result: 8/8 tests passed, 0 failures. The OpenBIOS emitter fingerprint has also been refreshed, and the corresponding GitHub Actions workflow completed successfully. Native PlayStation Mouse support has additionally been tested in RescueShotRecomp. Companion launcher PR: RetroPortingToolKit/recomp-ui#121 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds native PlayStation Mouse (SCPH-1030) support to PSXRecomp, enabling compatible PlayStation games to use a real PC mouse through emulation of the original PlayStation peripheral.
Unlike mouse-to-analog-stick mapping, this implementation emulates the PlayStation Mouse device through the existing SIO0 controller interface.
The feature was developed and tested with Rescue Shot, a PlayStation title that supports mouse input.
Features
0x12.Implementation
SIO0 mouse protocol
Extends the existing SIO0 implementation to support PlayStation Mouse communication, including device identification, button states, and relative movement data.
SDL3 mouse input
Adds host-side mouse input handling and forwards movement and button states to the emulated PlayStation Mouse device.
Launcher integration
Games can opt in to PlayStation Mouse support using:
The corresponding launcher device selection is implemented in a separate recomp-ui PR:
RetroPortingToolKit/recomp-ui#121
Configuration and runtime integration
Extends the relevant configuration, launcher-device, and runtime interfaces to support the new input device.
Testing
The implementation includes dedicated tests and updates to existing controller-related tests.
Notable test coverage includes:
test_sio_mouse_protocol.c— PlayStation Mouse SIO protocol.test_ps_mouse_input.c— Mouse input handling.test_launcher_device_roundtrip.cpp— Launcher device configuration.Manual testing
Tested with RescueShotRecomp:
The standalone PSXRecomp test suite has not yet been confirmed as fully passing.
Documentation
Added
docs/PS_MOUSE.mdwith implementation and integration documentation.Related PR
recomp-ui: RetroPortingToolKit/recomp-ui#121
Both PRs are intended to provide complete PlayStation Mouse support while keeping the launcher functionality optional for games that do not support the device.
Example project
RescueShotRecomp:
https://github.com/PeriBluGaming/RescueShotRecomp