PS3 PS3XPAD v0.6 - Now Supporting (Wired) Xbox One & DualShock 4 Controllers

Here comes an impressive new update to the ps3Xpad plugin for PS3 CFW users, this plugin created by developer OsirisX comes with some new features with the release of version 0.6. Now Support has been added for XBOX ONE and DualShock 4 wired controllers. The developer has also added an Improved driver [break]sss[/break] for the DualShock 4 Controller over the official Sony one as noted in the developer's official release notes.


PS3xPAD.jpg

OsirisX said:
It is possible to remap six axis motion to different keys. I may make a release with this functionality at a later time.


ps3Xpad 0.6 Changes:


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
ps3xpad_0.6.zip

Download: ps3xpad_0.6.zip

Source: PS3hax.net
 
Why abandon? I was without a ps3 for a week so couldn't test the remote feature. Your version seems to work for the most part besides the ps button being registered everytime. I think strstr finds "ps" in "pad.ps3". I changed it to psbtn to make the variable more unique. I aslo added in the analog sticks and changed the delay to 70ms since analog movements weren't being registered quick enough. This was tested on Rebug 4.75 with cobra enabled.

main.c



Can you explain which card manager you're referring to? Is it freezing when you quit card manager from XMB or are you using the ingame card manager.


Do you think wireless DS4 support will ever happen? I am running a special 4.21.2 Rebug REX Cobra I have ZERO intention on ever leaving thanks in part to this plugin the CU3 dongle and hope [MENTION=29]Joonie[/MENTION]'s idea may work to bring back PSN store to my system by resiging the eboot and sprx files for 4.21
 
In XMB manager, i can post log from target manager if you need.

Yes please post your log. Can you also specify which firmware you're using.

Do you think wireless DS4 support will ever happen? I am running a special 4.21.2 Rebug REX Cobra I have ZERO intention on ever leaving thanks in part to this plugin the CU3 dongle and hope [MENTION=29]Joonie[/MENTION]'s idea may work to bring back PSN store to my system by resiging the eboot and sprx files for 4.21

I can't say for certain at the moment for ps3's internal bluetooth but it's definitely possible with a usb bluetooth adapter. I still have some features I need to kick out before I work on wireless though.
 
Yes please post your log. Can you also specify which firmware you're using.



I can't say for certain at the moment for ps3's internal bluetooth but it's definitely possible with a usb bluetooth adapter. I still have some features I need to kick out before I work on wireless though.

just tell me the bluetooth module when you do as I miss using mine offically since 4.65 firmware.
 
Rebug 4.75.1 full DEX mode. System freezes in CEX too.
Code:
SDK v4.7.5
[TM] Boot mode := System
===== Start agent =====
Debug Agent Version: 4.7.5 (62)
Mini Debug Agent Version 4.7.5 (62) (Built - Apr 21 2015 12:18:14)
lv2(2): #
lv2(2): #
lv2(2): # system software version: 4.75 (DEX)
lv2(2): # revision: 50537
lv2(2): #
lv2(2): # Lv-2 detected an interrupt(exception) in a user PPU Thread.
lv2(2): #
lv2(2): # Interrupt(exception) Info.
lv2(2): #   Type : Data Storage
lv2(2): #   SRR0 : 0x0000000001a33334
lv2(2): #   SRR1 : 0x800000000000e032
lv2(2): #   DSISR: 0x0000000040000000
lv2(2): #   DAR  : 0x0000000000000000
lv2(2): #   TB   : 0x00000004ff039536
lv2(2): #   HW Thread #: 1
lv2(2): #
lv2(2): # Backtrace
lv2(2): #   0x00000000d0008d5c
lv2(2): #   0x0000000000362194
lv2(2): #   0x0000000000361170
lv2(2): #   0x00000000003612e4
lv2(2): #   0x000000000036fbec
lv2(2): #   0x0000000000b87c58
lv2(2): #   0x0000000000b7e610
lv2(2): #   0x000000000042ee5c
lv2(2): #   0x00000000003615e8
lv2(2): #   0x00000000000d92a4
lv2(2): #   0x00000000000baec4
lv2(2): #   0x00000000000104b8
lv2(2): #   0x000000000001024c
lv2(2): #
lv2(2): # User PPU Thread Info.
lv2(2): #   ID        : 0x01000029
lv2(2): #   Name      : 01000300_main_vsh.self
lv2(2): #   Stack addr: 0x00000000d0001000
lv2(2): #   Stack size: 0x0000000000009000
lv2(2): #   Priority  : 900
lv2(2): #   Proc name : /dev_flash/vsh/module/vsh.self
lv2(2): #   Proc ID   : 0x1000300
lv2(2): #
lv2(2): # Register Info.
lv2(2): #      LR: 0x00000000019f25c4     CR:0x22000044
lv2(2): #     CTR: 0x00000000019f25b4
lv2(2): #
lv2(2): #   GPR 0: 0x00000000019f25c4  GPR 1: 0x00000000d0008cb0
lv2(2): #   GPR 2: 0x0000000000c1a350  GPR 3: 0x00000000201db7f0
lv2(2): #   GPR 4: 0x80000000005b68c0  GPR 5: 0x0000000000000000
lv2(2): #   GPR 6: 0x0000000000000001  GPR 7: 0x0000000000000088
lv2(2): #   GPR 8: 0x800000000052e000  GPR 9: 0x0000000000c1168c
lv2(2): #   GPR10: 0x0000000000000002  GPR11: 0x0000000000000000
lv2(2): #   GPR12: 0x0000000000000000  GPR13: 0x0000000010007060
lv2(2): #   GPR14: 0x0000000000000000  GPR15: 0x0000000000000000
lv2(2): #   GPR16: 0x0000000000000000  GPR17: 0x0000000000000000
lv2(2): #   GPR18: 0x0000000000000000  GPR19: 0x0000000000000000
lv2(2): #   GPR20: 0x0000000000000000  GPR21: 0x0000000000000000
lv2(2): #   GPR22: 0x0000000000000000  GPR23: 0x0000000000000000
lv2(2): #   GPR24: 0x0000000000000000  GPR25: 0x0000000000b9183c
lv2(2): #   GPR26: 0x0000000000000000  GPR27: 0x0000000020064fd0
lv2(2): #   GPR28: 0x0000000020064fe8  GPR29: 0x00000000201db7f0
lv2(2): #   GPR30: 0x00000000201db7f0  GPR31: 0x0000000020064fd0
lv2(2): #
lv2(2): #     XER: 0x0000000000000000  FPSCR: 0xaa204000
lv2(2): #
lv2(2): #   FPR 0: 0x408e000000000000  FPR 1: 0x4030aaaae0000000
lv2(2): #   FPR 2: 0x3ff0000000000000  FPR 3: 0x0000000000000000
lv2(2): #   FPR 4: 0x40a23cc000000000  FPR 5: 0xc02aa32160000000
lv2(2): #   FPR 6: 0x4065375420000000  FPR 7: 0x0000000000000000
lv2(2): #   FPR 8: 0x0000000000000000  FPR 9: 0x3fe0000000000000
lv2(2): #   FPR10: 0xc080e00000000000  FPR11: 0x408e000000000000
lv2(2): #   FPR12: 0x3fe0000000000000  FPR13: 0x4080e00000000000
lv2(2): #   FPR14: 0x0000001000329000  FPR15: 0x0000001000329000
lv2(2): #   FPR16: 0x0000001000329000  FPR17: 0x0000001000329000
lv2(2): #   FPR18: 0x0000001000329000  FPR19: 0x0000001000329000
lv2(2): #   FPR20: 0x0000001000329000  FPR21: 0x0000001000329000
lv2(2): #   FPR22: 0x0000001000329000  FPR23: 0x0000001000329000
lv2(2): #   FPR24: 0x0000001000329000  FPR25: 0x0000001000329000
lv2(2): #   FPR26: 0x0000001000329000  FPR27: 0x0000001000329000
lv2(2): #   FPR28: 0x0000001000329000  FPR29: 0x0000001000329000
lv2(2): #   FPR30: 0x0000001000329000  FPR31: 0x4030aaaae0000000
lv2(2): #
lv2(2): # PRX Info: 48 PRX in process
lv2(2): #   --/--: id-------- path------------------------------ version segments---
lv2(2): #    0/48: 0x23001603 [/dev_flash/sys/internal/sys_audio.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00770000+0x000aa080+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00820000+0x00004574+0x00039d74 [0x00000001]
lv2(2): #    1/48: 0x23000a06 [/dev_flash/sys/external/libsre.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00860000+0x0002e000+0x00002000 [0x00000001]
lv2(2): #       1/  2: 0x00890000+0x00003fe0+0x00000360 [0x00000001]
lv2(2): #    2/48: 0x23000b06 [/dev_flash/sys/external/libadec.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x008a0000+0x0000c400+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x008b0000+0x000003ec+0x00000004 [0x00000001]
lv2(2): #    3/48: 0x23000c06 [/dev_flash/sys/external/libac3dec.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x008c0000+0x0001d180+0x00022e80 [0x00000001]
lv2(2): #       1/  2: 0x00900000+0x00000144+0x0000000c [0x00000001]
lv2(2): #    4/48: 0x23000d06 [/dev_flash/vsh/module/paf_ext.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00910000+0x00042f88+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00960000+0x00005b04+0x00000130 [0x00000001]
lv2(2): #    5/48: 0x23001306 [/dev_flash/vsh/module/qglbase.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00970000+0x0006bbc4+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x009e0000+0x00002c44+0x00008304 [0x00000001]
lv2(2): #    6/48: 0x23001606 [/dev_flash/vsh/module/vshmain_ext.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x009f0000+0x0000f520+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00a00000+0x00000574+0x0000124c [0x00000001]
lv2(2): #    7/48: 0x23002206 [/dev_flash/vsh/module/basic_plugins.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00a80000+0x0004e898+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00ad0000+0x00002714+0x00003a88 [0x00000001]
lv2(2): #    8/48: 0x23013006 [/dev_flash/vsh/module/custom_render_plugin.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00c20000+0x0009c010+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00b10000+0x00003d84+0x00002cbc [0x00000001]
lv2(2): #    9/48: 0x23053306 [/dev_flash/vsh/module/webftp_server.sprx]   0.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00b20000+0x00031d3c+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00b60000+0x000053e8+0x00000958 [0x00000001]
lv2(2): #   10/48: 0x23033406 [/dev_hdd0/plugins/ps3xpad/xpad_vsh.sprx]   0.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00cc0000+0x00005d70+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00cd0000+0x00001bc8+0x000010c4 [0x00000001]
lv2(2): #   11/48: 0x23062309 [/dev_flash/vsh/module/soundvisualizer_plugin.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00ce0000+0x00003c90+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00cf0000+0x000004b4+0x0003fd04 [0x00000001]
lv2(2): #   12/48: 0x23003e09 [/dev_flash/sys/internal/libfs_utility_full.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00a10000+0x000150d0+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00a30000+0x00001f74+0x00000468 [0x00000001]
lv2(2): #   13/48: 0x23003f09 [/dev_flash/vsh/module/paf_web.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00a40000+0x00025908+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00a70000+0x00001b54+0x00000180 [0x00000001]
lv2(2): #   14/48: 0x2300000a [/dev_flash/sys/external/libjpgdec.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00e30000+0x0004b780+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00ae0000+0x00000c7c+0x00000004 [0x00000001]
lv2(2): #   15/48: 0x2300010a [/dev_flash/sys/external/libvdec.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00e80000+0x0002a500+0x00005b00 [0x00000001]
lv2(2): #       1/  2: 0x00af0000+0x00000e4c+0x00000004 [0x00000001]
lv2(2): #   16/48: 0x2300020a [/dev_flash/sys/external/libdmux.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00eb0000+0x000025d0+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00ec0000+0x00000134+0x0000000c [0x00000001]
lv2(2): #   17/48: 0x2300030a [/dev_flash/sys/external/libdmuxpamf.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00ed0000+0x0000b880+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00ee0000+0x000002e0+0x00000000 [0x00000001]
lv2(2): #   18/48: 0x2300040a [/dev_flash/sys/external/libpamf.sprx]   1.  1  2 segments
lv2(2): #      ---/--- base------+filesz----+(mem-file) [flags-----]
lv2(2): #       0/  2: 0x00ef0000+0x00003c40+0x00000000 [0x00000001]
lv2(2): #       1/  2: 0x00f00000+0x00000290+0x00000004 [0x00000001]
lv2(2): #   19/48: 0x2300050a [/dev_flash/sys/external/libatxdec.sprx]   1.  1  2 segments
#      ---/--- base------+filesz----+(mem
 
Why abandon? I was without a ps3 for a week so couldn't test the remote feature. Your version seems to work for the most part besides the ps button being registered everytime. I think strstr finds "ps" in "pad.ps3". I changed it to psbtn to make the variable more unique. I aslo added in the analog sticks and changed the delay to 70ms since analog movements weren't being registered quick enough. This was tested on Rebug 4.75 with cobra enabled.

Thank you OsirisX for your tweaks... I tested the "web pad" feature with my smartphone and with the PC/keyboard and it's working great :dcheese:
http://aldostools.org/temp/test/webMAN_MOD_1.43.03.rar

I used the following GUI (updated for webMAN 1.43.03)... anyone can make a custom GUI with all the buttons/analog stick/etc.
Movian Remote [Showtime Media Center Remote Controller]

Thanks again! Good job [MENTION=9178]OsirisX[/MENTION]. The source code includes the latest changes made by [MENTION=161]Matsumot0[/MENTION]

P.S. I love how it behaves with the XMB's video player :)

TIP:
For Movian, use the light theme...
 
Version 0.3 : Xbox wireless controller's triggers (LT,RT) don't work with Metal Gear Solid V :(
 
Last edited:
Hello! Having a bit of trouble. I have installed the latest version of the plugin and webman-mod. My 360 contoller works just fine, but my Rock Candy Wired Xbox one controller does not work. I have put in the correct VIDs and PIDs, but no avail. I connect the Xbox one controller, and nothing happens, but if i also connect a DualShock 3 controller, it shows up as player two? What's wrong
Edit: the controller works fine on PC.
 
Last edited:
Version 0.3 : Xbox wireless controller's triggers (LT,RT) don't work with Metal Gear Solid V :(

Try using the latest version of the plugin. The later versions introduced pressure sensitve emulation which some games require to operate properly.
 
Try using the latest version of the plugin. The later versions introduced pressure sensitve emulation which some games require to operate properly.

It works, thanks!!!

Now if there was a more straightforward way to support rumble this plugin would be even more awesome.
 
Should this plugin work with Xbox classic controllers?
This line:
0x045e, 0x0202, Microsoft X-Box pad v1 (US), XTYPE_XBOX
is clearly Duke controller, it has the same PID when tested on PC but it doesn't work with my PS3.
 

Featured content

Trending content

Back
Top