..:: PCSX2 Forums ::..

Full Version: DS4Windows -- yet another DualShock 4 driver! (No longer under active development)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(04-24-2014, 05:28 PM)Dakno Wrote: [ -> ]Hey i've been trying to get this to work over bluetooth for the past few days, i have the inateck BTA-CSR4B5 dongle and the only stack i can get to connect permanently to the controller is the Toshiba BT Stack, but i understand that this is basically the only one that doesnt work with this application Sad Any suggestions? Much Appreciated Smile

I can merge the support from 1.3RC4 but I can't test it or necessarily improve it. I take it that the support had some limitations.

(04-24-2014, 02:05 AM)pedrovay2003 Wrote: [ -> ]I just noticed something in beta 8: It seems like none of the buttons in button mode actually work anymore. I touch the touchpad, but none of the d-pad buttons register any clicks anymore.

Did you try loading the Button Mode configuration I've started including? The default is to not have anything assigned anymore, you have to configure it before you can use it.
(04-23-2014, 04:42 AM)MangoTangoFox Wrote: [ -> ]Please take a crack at this! If this works, all it would need is simple square check boxes next to the 4 controller slots, to use or skip those slots. I only have one of each controller, and I'd like to play local co-op without shelling out another $60 for a second DS4. I'll buy more eventually, but I gotta wait till a sale of some sort.

I'm not sure why the Xinput controllers are getting mixed up right now because I had all the controllers working together before (a DS3, DS4 and X360). I'll take a look into this.

(04-24-2014, 07:01 PM)Manu270891 Wrote: [ -> ]All versions give me this exception:

System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
en ScpServer.ScpForm.ControllerStatusChanged() en c:\Users\Brian\Documents\GitHub\brianfundakowskifeldman-ds4windows\DS4Tool\ScpForm.cs:línea 182
en ScpServer.ScpForm.Form_Load(Object sender, EventArgs e) en c:\Users\Brian\Documents\GitHub\brianfundakowskifeldman-ds4windows\DS4Tool\ScpForm.cs:línea 108
en System.Windows.Forms.Form.OnLoad(EventArgs e)
en System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
en System.Windows.Forms.Control.CreateControl()
en System.Windows.Forms.Control.WmShowWindow(Message& m)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.Form.WndProc(Message& m)
en ScpServer.ScpForm.WndProc(Message& m) en c:\Users\Brian\Documents\GitHub\brianfundakowskifeldman-ds4windows\DS4Tool\ScpForm.cs:línea 163
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Ensamblados cargados **************
mscorlib
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.34014 built by: FX45W81RTMGDR
Código base: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
DS4Tool
Versión del ensamblado: 1.3.0.0
Versión Win32: 1.3
Código base: file:///C:/Program%20Files%20(x86)/DS4Windows/DS4Tool.exe
----------------------------------------
System
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.34003 built by: FX45W81RTMGDR
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.33440 built by: FX45W81RTMREL
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.33440 built by: FX45W81RTMREL
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
DS4Control
Versión del ensamblado: 1.0.0.0
Versión Win32: 1.0.0.0
Código base: file:///C:/Program%20Files%20(x86)/DS4Windows/DS4Control.DLL
----------------------------------------
DS4Library
Versión del ensamblado: 1.0.0.0
Versión Win32: 1.0.0.0
Código base: file:///C:/Program%20Files%20(x86)/DS4Windows/DS4Library.DLL
----------------------------------------
System.Xml
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.33440 built by: FX45W81RTMREL
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.33440 built by: FX45W81RTMREL
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.0.30319.33440 built by: FX45W81RTMREL
Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll

I've tried to provoke/fix this a few times, I'll try again. Maybe it will show up right away if I get it going on a Windows 7 VM.
Okay, for Manu270891's problem, I still can't reproduce it at all, and I can't see how the error would even occur. The function that is being called can't return null anymore in any recent version. If anyone else wants to take a look to see if I'm missing something, this is the latest version of the function in question...
https://code.google.com/r/brianfundakows...me=1.3#173
and the caller where "something" is null (maybe it's actually the Pad[Index] being null? but that's constructed before the form is loaded)
https://code.google.com/r/brianfundakows...me=1.3#182


As for the conflict between multiple kinds of controllers: there is no conflict between a standard X360 controller and DS4Windows, as the Xinput devices get automatically shuffled, but there is definitely conflict between the Scarlet.Crush DS2-3-4 driver and DS4Windows. I'm going to try and find Scarlet.Crush's advice on the matter, as we talked about it ages ago in the DS4Tool thread. It should be possible to detect which devices are in use already by ScpVbus and not try and use those more than once.

Edit: Found the discussion about sharing of the ScpVbus. I want to try to do better than just disabling certain slots, so I'm going to look into querying it for which are connected. Querying just Xinput will not give the same answer, because it will include all devices, and we don't need to care about the Xinput numbering per se, just the ScpVbus numbering to keep things from conflicting between multiple users.
http://forums.pcsx2.net/Thread-DS4-To-XI...r?page=120
Posting a very minor update for those who want to use Scarlet.Crush's DS3 driver alongside this: DS4Windows 1.0 Beta 9 uses virtual Xinput devices 11-14 instead of devices 1-4 which the Scarlet.Crush driver uses. I left devices 5-10 open for other uses. There doesn't appear to be any conflict anymore.
Thank you really much for this!
DS4 to Xinput Wrapper has been causing so many BSOD's for me but after using your program I could play my games smoothly without any BSOD so far (testing since ~5 hours).
Keep up the good work! Biggrin Biggrin

PS.: I even made this account just to thank you. (^_^)
(04-27-2014, 05:15 PM)electrobrains Wrote: [ -> ]Posting a very minor update for those who want to use Scarlet.Crush's DS3 driver alongside this: DS4Windows 1.0 Beta 9 uses virtual Xinput devices 11-14 instead of devices 1-4 which the Scarlet.Crush driver uses. I left devices 5-10 open for other uses. There doesn't appear to be any conflict anymore.

Hold off on using Beta 9, I think I screwed up the ability to use the Start button with already-connected controllers, I think. It would majorly break except when hot-plugging. Expect a Beta 10 replacement shortly which corrects that problem and adds the ability to map multiple DS4 buttons to a single X360 button.

Edit: Beta 10 is now available for download.
Hey guys, I'm back with another build, this time I made far more changes than revamping the custom mapping screen. A lot has changed, while I don't plan on reverting a few things in my build, I'll be pushing certain changes to electrobrains' build that way it's the best of both worlds. Now without further adu:

Profile System
[Image: ANHnpGJ.png]
First part of the big changes, my build uses a profile system. You can save options such as light bar, touch sensitivity, rumble, and more. All of it will be saved in it's on profile, and that same profile can be used across all controllers. Or you can quickly switch from using the ds4 as a game controller or a web controller.

Revamped Options: Custom mapping is now a part of it
[Image: eI2TU2Q.png]
In the profile/options you can also save the mappings to the controller along with lightbar settings. No need to open a 3rd window. Actually there is a new 3rd window...

New Input Dialog
[Image: TI3RLSM.png]
All the keyboard and mouse options are laid out for you for easy clicking of them, however you are also free to type the key you want assigned. With this I've also added Media keys, the 4th (Back) and 5th(Forward) Mouse buttons, and mouse wheel scroll up and down. and the 360 controls are just a tab/right click away.

Now if you didn't notice in the first screenshot, all the touchpad modes have been removed, or more so combined into one.
Revamped Touchpad
[Image: 5KU1SZ4.png]
Instead of button mode, ore standard mode, or cursor mode, or drag mode, I combined them all into one super mode. It's a cross between Standard mode (it's multi-touch) and Button mode (Right and left side). Along with this the touchpad can be binded to 360 controls as well, just as with button mode.

And that pretty much covers my build, there's also a few smaller adjustments, such as the light bar/color pick on screen more accurately displays the colors the the light bar emits, and some other smaller details I can't remember.

I posted the build below, I also added a few of the profiles I made so you guys can have a start. I hope you enjoy it. (Electro feel free to contact me for the things you wanna cherry pick).

(Side note: this build was based on electrobrains' Beta 8 build)
(04-27-2014, 10:17 PM)Jays2Kings Wrote: [ -> ]Hey guys, I'm back with another build, this time I made far more changes than revamping the custom mapping screen. A lot has changed, while I don't plan on reverting a few things in my build, I'll be pushing certain changes to electrobrains' build that way it's the best of both worlds. Now without further adu:

Profile System
[Image: ANHnpGJ.png]
First part of the big changes, my build uses a profile system. You can save options such as light bar, touch sensitivity, rumble, and more. All of it will be saved in it's on profile, and that same profile can be used across all controllers. Or you can quickly switch from using the ds4 as a game controller or a web controller.

Revamped Options: Custom mapping is now a part of it
[Image: eI2TU2Q.png]
In the profile/options you can also save the mappings to the controller along with lightbar settings. No need to open a 3rd window. Actually there is a new 3rd window...

New Input Dialog
[Image: TI3RLSM.png]
All the keyboard and mouse options are laid out for you for easy clicking of them, however you are also free to type the key you want assigned. With this I've also added Media keys, the 4th (Back) and 5th(Forward) Mouse buttons, and mouse wheel scroll up and down. and the 360 controls are just a tab/right click away.

Now if you didn't notice in the first screenshot, all the touchpad modes have been removed, or more so combined into one.
Revamped Touchpad
[Image: 5KU1SZ4.png]
Instead of button mode, ore standard mode, or cursor mode, or drag mode, I combined them all into one super mode. It's a cross between Standard mode (it's multi-touch) and Button mode (Right and left side). Along with this the touchpad can be binded to 360 controls as well, just as with button mode.

And that pretty much covers my build, there's also a few smaller adjustments, such as the light bar/color pick on screen more accurately displays the colors the the light bar emits, and some other smaller details I can't remember.

I posted the build below, I also added a few of the profiles I made so you guys can have a start. I hope you enjoy it. (Electro feel free to contact me for the things you wanna cherry pick).

(Side note: this build was based on electrobrains' Beta 8 build)

Wow, that's a lot of new functionality! Are you going to preserve the ability to have the "shift" that Button Mode offers?
(04-28-2014, 12:40 AM)electrobrains Wrote: [ -> ]Wow, that's a lot of new functionality! Are you going to preserve the ability to have the "shift" that Button Mode offers?

I'll looking it, but I probably can, for now it's not there though.
Just out of curiosity, how does button mode work now? When I enable it, the touchpad works to click around, but none of the actual buttons do anything related to the mouse anymore.

Still having connection issues with Windows 7, but I'm just chalking that up to being Windows 7 at this point.