..:: PCSX2 Forums ::..

Full Version: DS4 To XInput Wrapper
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a question. Do you think it's possible to add DS3 support ?

Because I have also a DS3 gamepad with motioninjoy+Better DS3, and I have few problem with L1/R1 buttons on my DS4 (sometime stay blocked).

It will be fantastic to have only one software for DS3/DS4 gamepads.

Thanks.

Where I could download electrobrains 1.2.1 beta version ?
If you have two Bluetooth adapters, you can use both at once. There is no chance we will add DS3 support to this version as it does not use standard Bluetooth.
(01-26-2014, 08:28 PM)electrobrains Wrote: [ -> ]If you have two Bluetooth adapters, you can use both at once. There is no chance we will add DS3 support to this version as it does not use standard Bluetooth.

We need to modify scp bus a bit so that we could run both DS3 and DS4 tool at the same time
Hi there, firstly I want to say awesome work on this, it really works great.

Secondly I had a question > is it possible to make the application constantly check for a controller once it has been disconnected? This would allow us to disconnect and reconnect the controller without having to start and stop the app each time. Maybe make it so that if a controller is disconnected, it will check continually every 5 seconds or so.

For me this would make it perfect!
(01-26-2014, 08:56 PM)InhexSTER Wrote: [ -> ]We need to modify scp bus a bit so that we could run both DS3 and DS4 tool at the same time


Cool

If you do that it will be fantastic ! I think lot of persons have DS3.

DS3 is a good gamepad, no problem with L1/R1 buttons with this gamepad. But sometime I want to use also my DS4. Sad


It's possible to dl electrobrains 1.2.1 beta ?
@DirtyShady: The SCP Drivers currently support both DS3 & DS4 - see http://forums.pcsx2.net/Thread-XInput-Wr...Controller

@InhexSTER: ScpVBus is fully capable of supporting multiple applications, it is Thread/Process safe. Just need to coordinate usage patterns. The main thing to do currently is not use Unplug(0) in BusDevice - this is a special call which Unplugs all connected X360 Devices. [You can run the VirtualXInput sample application at the same time as ScpService or DS4Tool - it uses Port #5, and doesn't call Unplug(0)].

I've been looking at modifying BusDevice to do the following -
- always use the instance 0 driver.
- change Instance property to define which ports to use
-- 0 -> Use Ports #1 - #4
-- 1 -> Use Ports #5 - #8
-- ...
- maintain a list of Plugged in devices
-- change Unplug(0) behaviour to just remove devices from the Plugged in list.

The XInput Subsystem assigns XInput Pad IDs in the order that devices are Plugged in, the Port # used has no bearing on this.

If you use ScpControl in the manner defined in the VirtualXInput sample you will only need to change BusDevice.Open() to BusDevice.Open(1) to make use of this functionality when I release it.
(01-26-2014, 10:51 PM)Scarlet.Crush Wrote: [ -> ]If you use ScpControl in the manner defined in the VirtualXInput sample you will only need to change BusDevice.Open() to BusDevice.Open(1) to make use of this functionality when I release it.

Yeah, that would be great as at this moment plug in functionality is number based. Would be great to know list of devices currently plugged in. As well as let use of other xinput devices like Logitech or MS 360 Contollers, as i think right now it's impossible of the nature of plugin method.
@InhexSTER: ScpVBus does not stop other XInput devices from being connected and recognised by the XInput SubSystem. I usually have a Wired X360 Pad + 3 DS3s connected on my test system. XInput Ids are assigned in the order that devices are connected - so if I connect my X360 first it becomes XInput Pad 1, connect it second it becomes XInput Pad 2.

ScpVBus basically emulates a USB Hub, which can have only X360 Wired Pads plugged in. It can handle an unlimited no off ports, the usage pattern of ScpControl only allows 4.

You can use the XInput API to find out if any other devices are already defined within the XInput SubSystem.
(01-26-2014, 11:16 PM)Scarlet.Crush Wrote: [ -> ]@InhexSTER: ScpVBus does not stop other XInput devices from being connected and recognised by the XInput SubSystem. I usually have a Wired X360 Pad + 3 DS3s connected on my test system. XInput Ids are assigned in the order that devices are connected - so if I connect my X360 first it becomes XInput Pad 1, connect it second it becomes XInput Pad 2.

ScpVBus basically emulates a USB Hub, which can have only X360 Wired Pads plugged in. It can handle an unlimited no off ports, the usage pattern of ScpControl only allows 4.

You can use the XInput API to find out if any other devices are already defined within the XInput SubSystem.

Hmm, so what the purpose of the parameters in the plugin method? its not Xinput ID?
@InhexSTER: it's the Port # to use on the Bus (Hub). The usage pattern in ScpControl is to map Scp Pad Id to Port #, this also usually maps to XInput Pad Id (if no other XInput device has already been connected).

Again - the XInput SubSystem assigns XInput Pad Id, by the order in which devices are connected. ScpVBus just informs the the XInput SubSystem that a new device has been connected.