- Version 0.8 Release Notes
- Version 0.7
- Version 0.6
- Version 0.5
- Version 0.4
- Version 0.3
- Version 0.2
- Version 0.1
The changes in this release include:
- - fixed the remapping issues where the controller seemed buggy when it was enabled
- - added custom and native driver input mode
- - added VSH/In-Game menu
- - added wireless DS3/DS4 support (needs usb BT adapter)
- - added game compatibility modes (fixes GTAV & RDR)
- - added multiple remap settings
- - added user configurable settings file (xpad_settings.txt)
- - added user configurable controller delay which sets response time of controller
- - added auto game detection and attach to game proc
- - added disconnect/reset all ports option
- - added screenshot option
The main focus of this release are the additions of two different modes (custom and native), the VSH/In-Game menu, and wireless support for DualShock 4 controllers. I will first explain the difference between custom and native modes. Custom mode is simply my implementation of the usb controller pad driver. This mode is needed for Xbox controllers but is not needed for official PS controllers. Custom mode still supports official PS controllers but will need a separate usb Bluetooth adapter to connect them wirelessly. Native mode allows connecting official controllers using the internal BT module and give it the features of the XPAD plugin such as remapping. I only recommend using native mode if you want to connect your controller wirelessly and do not have a BT adapter.
The requirements for using native mode is you need CFW with DEX kernel and your game Eboots must be converted to debug. These are also the requirements for the In-Game menu. The In-Game menu only works for a handful of games anyway (games with low memory). I recommend configuring the XPAD plugin through the VSH menu before starting a game and using the button combinations during the game.
I will try making a more comprehensive guide to connecting a DualShock 4 controller later but here's a rough sketch. This is for connecting the controller in custom mode with a BT adapter. Also note the bluetooth driver is based on the USB host shield for Arduino. It should work for most generic adapters although I have only tested with one adapter.
First we need to set the internal bluetooth address of the controller. You only need to do this the first time you connect the controller to the bluetooth adapter. There are two ways of doing this but I will show one way.
1. Connect your DualShock 4 through USB.
2. Start up your PS3 with the XPAD plugin loaded.
3. Press (START+SELECT+SQUARE) to open the VSH menu.
4. Go down and enter the bluetooth options menu.
5. Go down and select the "Set DS4 internal BT address" option.
6. You can now disconnect the DS4 controller and should connect wirelessly to the adapter.
Also please check the compatibility chart in the README to see what your system supports. In general, a system that uses DEX kernel will have full support for the plugin.
This release includes support for third party PS3 controllers and Xbox S-type controllers (untested). Some PS3 controllers were blocked after firmware 3.50 which can now be re-enabled. I've also include remapping capabilities for buttons and sixaxis sensors. You will need to edit xpad_remap.txt to configure the remapping and press (START+SELECT+DPAD_RIGHT) to enable it. Controller LEDs can now be disabled by pressing (START+SELECT+DPAD_LEFT).
I'm also aware that some games like GTA5 and Red Dead Redemption do not work with the plugin. It's possible there are extra checks in the game to determine if the controller is a "virtual" type and only accepts standard PS3 controllers. I'm currently working to see if such checks can be bypassed.
Added Xbox One (wired) controller and Playstation DualShock 4 (wired) controller support. Only wired connection for now, might add wireless support later on. The DualShock 4 controller driver enables rumble and six axis support. It also increases compatibility of some games over the official driver. There is no trackpad support in this release but may possibly be added later.
Note: DS4 six axis sensors were about 4 times more sensitive than DS3s. I had to reduce it's sensitivity to make PS3 games compatible with the six axis. Also DS4 controller PID/VIDs are not hardcoded. You will need to have them in xpad_devices.txt. This gives the option to switch between official and unofficial driver when using the xpad plugin.
The install procedure is the same as my previous release
This release includes rumble support for games. It will require a litte more setting up so I will explain in detail on how to install and run xpad with rumble.
Also included in this release is the option to add custom xpad device PID/VIDs. Only the official Xbox controller and receiver PID/VIDs are hardcoded.
You will need to edit xpad_devices.txt for other devices.
Note: Not all third party controllers may work with this plugin.
Rumble support requires the xpad plugin to attach to the game's process so it can install hooks to receive rumble data. I will show two methods on how to do this.
1. You will need custom firmware with Cobra enabled. (Most newer CFWs have this)
2. Convert your game's EBOOT.BIN to debug EBOOT.BIN.
There are mulltiple ways of doing this such as using TrueAncestor SELF Resigner
Note: Some games such as GTAIV will have more than one .BIN file. You will need to convert all .BIN files to debug
Method 1: Running XPAD with PRX Loader or Cobra boot_plugins + Button Combo
This method will run xpad first in VSH and then switch to a game after it has booted.
1. Copy the plugins folder to /dev_hdd0/.
You should have the directory /dev_hdd0/plugins/ps3xpad/ with xpad_vsh.sprx, xpad_game.sprx and xpad_devices.txt in it.
Note: If you use gameDATA utility, you will need to transfer the folder after you enable gameDATA.
2. Add this line to plugins.txt if you're using PRX Loader or to boot_plugins.txt if you're using Cobra:
3. Either reboot your PS3 or run PRX Loader to run the xpad plugin under VSH.
You should be able to see the "XPAD Loaded (VSH)" message and your Xbox controller connected.
You may need to sync your controller to the receiver if you're using a wireless controller.
4. Start your game and wait until it has fully booted.
5. Press (START+BACKBTN+R3). You should see a message displaying "XPAD Loaded (GAME)".
6. Wait a few seconds and your Xbox controller should be reconnected.
If you're using a wireless controller, read the notes below on how to properly resync the controller using a button combo.
7. You should now be able to play your game with rumble enabled.
Method 2: Using Modified webMAN-MOD Plugin
1. Follow steps 1 and 2 of method 1.
2. Download my modified webMAN-MOD plugin.
Be sure to select webman_server_rebug_cobra_ps3mapi.sprx if you're using Rebug CFW or webman_server_ps3mapi.sprx if you're using another CFW. I will use webman_server_rebug_cobra_ps3mapi.sprx as an example.
3. Copy webman_server_rebug_cobra_ps3mapi.sprx to /dev_hdd0/plugins/
4. Add this line to plugins.txt if you're using PRX Loader or to boot_plugins.txt if you're using Cobra:
5. Either reboot your PS3 or run PRX Loader to run webMAN.
6. Start your game and wait until it has fully booted.
7. Log on to webMAN with your browser using your PS3's IP address as the URL and click on the PS3MAPI tab.
8. Scroll down to the Game Plugins section and select your game's process. Usually it will have the name EBOOT in it. Click set.
9. You will get a page with all your game's plugins loaded.
Go to the last free slot and enter /dev_hdd0/plugins/ps3xpad/xpad_game.sprx. Click on load.
10. Wait a few seconds and your Xbox controller should be connected.
Note: If you're using a wireless controller, you will need to re-sync using a button combo.
Do this by pressing (START+BACKBTN+DPAD DOWN) and then holding the XBOX button for a couple seconds.
Your wireless controller should then reconnect.
11. You should now be able to play your game with rumble enabled.
Note: If you have trouble getting your controller recognized in game, try reassigning your controller to different slots.
You can do this by holding down the XBOX button and going to Controller Settings.
Remember to use the button combo to load back the xpad plugin into VSH after quiting a game or you will have to reload the plugin manually.
Wireless Controller Notes:
You may connect up to 4 wireless controllers with a single receiver.
If you're using a wireless controller, you will need to re-sync using a button combo each time you swith from VSH to GAME or from GAME to VSH.
Do this by pressing (START+BACKBTN+DPAD_DOWN) and then holding the XBOX button for a couple seconds. Your wireless controller should then reconnect.
Controller button combo summary:
(START+BACKBTN+R3) Switches xpad plugin between VSH proc and GAME proc.
(START+BACKBTN+DPAD_DOWN) Disconnects wireless controller from receiver. Allows wireless controllers to be resynced.
(START+BACKBTN+L3) Unloads xpad plugin.
I realize a lot of you are having trouble getting the plugin to work. Usually if you're getting the "unknown usb" error, that means the plugin has not loaded properly. You should be getting a "XPAD Loaded!" message if everything was setup correctly. Third party receivers should be working too.
This release combines both wired and wireless controllers into one plugin. This makes things easier for those who want to use both types of controllers. It's also easier to maintain code when everything is in one place. Pressure sensitivity is now emulated where each button press (except for L2 and R2) maps to their max sensitivity value. This should make games that require pressure sensitivity more stable. Source code is also included in the package.
Sorry for the wait guys. My receiver finally came in yesterday and took me about a day to make the changes. You can connect a maximum of 4 wireless controllers with one receiver. The release includes both wired (xpad.sprx) and wireless (xpadw.sprx) plugins. Use each one accordingly. Please update if you were using an older version of xpad since this release includes some minor bug fixes.
Here is a new release which includes some third party controllers like the Razer Onza. Also as verified by malckdaddy the plugin seems to load better with prxloader rather than boot_plugins.txt method.
This needs more testing but I made a sprx xpad driver for ps3. Not all games will work with it but most should. Currently it only supports wired Xbox 360 controllers. I may include wireless Xbox 360 & Xbox One controllers later if people are interested.
Also there is no rumble for now. (Need to find a way to grab actuator params from games). The Xbox button maps to the PS button and LEDs correspond to the port number it's connected to.
Note: Playstation DS2 and DS3 controllers have pressure sensitive buttons while Xbox 360 controllers do not. This may make some games like Metal Gear Solid unplayable. Sixaxis is obviously unsupported too.
PS3 PS3xPAD v0.8
A PS3 plugin by OsirisX, that allows using many unsupported Controllers (XBOX,PS4 and others)