PS3 emulator/debugger
Go to file
Windsurf7 05531db92f Add mouse-based gyro emulation
This change adds a hardcoded mouse-based motion sensor emulation feature, inspired by how Cemu handles mouse-driven gyro input.

While the game window is focused, holding the right mouse button enables gyro emulation:
- Mouse X movement feeds Motion X
- Mouse Y movement feeds Motion Z
- Mouse Wheel feeds Motion Y

The axis mapping and behavior were tested with the "Spark Runner" minigame in Sly Cooper: Thieves in Time and Bentley's Hackpack.
In accordance with this minigame, a top-down view motion control scheme relies on the X/Z axes.

While the right mouse button is being held, mouse deltas are captured via the Qt native event filter and accumulated in the frontend, then consumed by the pad thread.
On right mouse button release, motion values are reset to the neutral center to avoid residual drift.

This input path is intentionally independent of pad configuration and works even when a keyboard-only profile is selected.

This implementation thus resolves issue #13883 by allowing motion-only gameplay without requiring a physical motion-capable controller.
2026-01-26 14:19:56 +03:00
.ci CI: download dependency if the filename is the same but the checksum changed 2026-01-24 21:23:26 +01:00
.github Explicitly install iconv 2026-01-20 18:41:19 +01:00
3rdparty Flatbuffers to Protobuf (#18082) 2026-01-24 09:37:47 +01:00
bin YoRHa: Fix the height of QSpinBox 2025-12-02 21:14:11 +00:00
buildfiles Flatbuffers to Protobuf (#18082) 2026-01-24 09:37:47 +01:00
darwin/util MacOS: silence some warnings 2024-12-28 19:58:59 +01:00
rpcs3 Add mouse-based gyro emulation 2026-01-26 14:19:56 +03:00
Utilities ISO: Remove psf hack 2026-01-10 15:22:41 +01:00
.clang-format Disable AlignConsecutiveAssignments 2022-10-22 11:32:04 +02:00
.editorconfig Set default to utf-8 for MSVC 2020-12-06 15:30:12 +03:00
.gdbinit Add .gdbinit config file 2020-11-12 23:43:38 +03:00
.gitignore Add unit test project to VS 2025-04-29 21:09:12 +02:00
.gitmodules Flatbuffers to Protobuf (#18082) 2026-01-24 09:37:47 +01:00
BUILDING.md USB: Fixed G27 crash during reinitialization 2026-01-05 21:00:37 +01:00
CMakeLists.txt Flatbuffers to Protobuf (#18082) 2026-01-24 09:37:47 +01:00
CMakePresets.json Add opencv to cmake 2024-11-16 15:10:20 +01:00
git-clang-format Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
LICENSE
objdump.cpp Remove std::strcpy 2025-11-02 14:22:11 +02:00
pre-commit.readme Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
README.md [CI] FreeBSD build (#17293) 2025-06-12 09:33:40 +03:00
rpcs3.sln Flatbuffers to Protobuf (#18082) 2026-01-24 09:37:47 +01:00
usertype.dat .clang-format added 2016-08-12 14:32:57 +03:00

RPCS3

GitHub Actions RPCS3 Discord Server

The world's first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows, Linux, macOS and FreeBSD.

You can find some basic information on our website. Game info is being populated on the Wiki. For discussion about this emulator, PS3 emulation, and game compatibility reports, please visit our forums and our Discord server.

Support Lead Developers Nekotekina and kd-11 on Patreon

Contributing

If you want to help the project but do not code, the best way to help out is to test games and make bug reports. See:

If you want to contribute as a developer, please take a look at the following pages:

You should also contact any of the developers in the forums or in the Discord server to learn more about the current state of the emulator.

Building

See BUILDING.md for more information about how to setup an environment to build RPCS3.

Running

Check our friendly quickstart guide to make sure your computer meets the minimum system requirements to run RPCS3.

Don't forget to have your graphics driver up to date and to install the Visual C++ Redistributable Packages for Visual Studio 2022 if you are a Windows user.

License

Most files are licensed under the terms of GNU GPL-2.0-only License; see LICENSE file for details. Some files may be licensed differently; check appropriate file headers for details.