Repository navigation
Releases: ChiricoG/xbox_controller_plugin
Releases · ChiricoG/xbox_controller_plugin
Release list
v1.4.0 - Global Game Support, P1 Merge & P2 Secondary Modes
What's New in v1.4.0
Safe Global [default] Installation
You can now safely enable xbox_controller.prx under [default] in /data/GoldHEN/plugins.ini:
- The plugin automatically checks the running process Title ID (CUSA, PCAS, PLAS).
- Non-game processes (Homebrew apps like Apollo Save Tool, Itemzflow, GoldHEN Cheats Manager, PS4-Explorer, and system daemons) are cleanly bypassed without installing hooks.
- Eliminates crashes when launching homebrew applications with the plugin enabled globally.
Dual Operating Modes (Single Player & Local Co-Op)
- Single Player (MERGE - P1): When only one user is logged in, the Xbox controller merges directly with Player 1 (DualShock 4). Analog sticks are merged smoothly and buttons are combined.
- Local Multiplayer (SECONDARY - P2): When 2 or more users are logged in, the Xbox controller is automatically assigned to Player 2, operating as an independent controller.
- Mode Toggle Combo: Switch between Player 1 (Merged) and Player 2 (Secondary) at any time during gameplay by pressing:
LB + RB + Back + Start
Central Xbox Guide / Home Button Mapping
- The central Xbox Guide / Home button is now mapped to Touchpad Click (DS4_BUTTON_TOUCHPAD), opening maps, journals, and inventories instantly in games (e.g., GTA V, Red Dead Redemption 2, The Witcher 3, etc.).
- Eliminates watchdog freezes and system error CE-36329-3.
Polling, Hotplug & Connection Fixes
- Fixed USB interrupt transfer timeout handling (SCE_USBD_ERROR_TIMEOUT) that previously caused an infinite connect/disconnect notification loop.
- Full USB hotplugging support: disconnect and reconnect controllers at any time while playing.
- Dedicated 250 Hz (4ms) low-latency polling thread.
- Immediate on-screen notifications indicating whether the controller joined as [Player 1] or [Player 2].
- Dynamic executable memory trampoline allocation (sceKernelMmap within +-2 GB) replacing static .bss trampolines for reliable function hooking.
Installation & Setup
- Copy xbox_controller.prx to /data/GoldHEN/plugins/ on your PS4.
- Edit /data/GoldHEN/plugins.ini and add:
[default] /data/GoldHEN/plugins/xbox_controller.prx - Launch any game — your Xbox or compatible controller will be detected automatically.
Full Changelog: v1.3.0...v1.4.0
v1.3.0 - Third-Party Xbox Controller Support & Build Improvements
What's Changed
Features
- Generic Descriptor-Based Detection: Added automatic detection for third-party Xbox 360 (FF/5D/01) and Xbox One (FF/47/D0) controllers (PowerA, PDP, Razer, Hori, 8BitDo, etc.) in XInput mode without requiring hardcoded VID/PID lists.
- Dynamic Endpoint & Interface Resolution: Dynamically parses USB configuration descriptors to claim the appropriate interface and determine interrupt IN/OUT endpoints.
- Vendor Init Sequences: Added initialization packet sequences for third-party Xbox One compatible pads (PDP and PowerA).
Build System & Toolchain
- OpenOrbis Compatibility: Added patch header for missing libusb_endpoint_descriptor definition in OpenOrbis toolchain.
- Submodule Fix: Added .gitmodules configuration for GoldHEN_Plugins_SDK.
- Windows Build Support: Added �uild_windows.sh for compiling under MSYS2 environments on Windows.
- Makefile Improvements: Replaced hardcoded user paths with portable environment and relative directory resolution.
Installation & Setup
- Copy xbox_controller.prx to /data/GoldHEN/plugins/ on your PS4.
- Add the plugin entry to /data/GoldHEN/plugins.ini under the specific game Title ID:
ini [CUSAXXXXX] /data/GoldHEN/plugins/xbox_controller.prx
⚠️ WARNING: Do NOT enable this plugin under [default]. Enabling it globally will cause your PS4 to crash when launching homebrew applications. Always bind it to specific game Title IDs ([CUSAXXXXX]).