..:: 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.
The SCP drivers do require to take over a BTH Dongle - for DS3 support and to allow transparent switching between BTH and USB.

ScpVBus is the XInput driver - it was designed to be a reusable component for anyone who wants to implement an XInput device without requiring to write a device driver and getting it signed.

ScpControl.dll was also designed to be a reusable component. The idea being that you can reference it in your project, derive classes from the classes within it and override any functionality that needs to be changed for your application.

So for example if you were reading input reports from a WiiU controller and wanted it to appear as an XInput device -> derive a WiiUBusDevice from BusDevice, override the Parse() method, implement mapping within your Parse() method.

The current ScpControl.dll provides almost everything required for a DS4 API (ReportEventArgs are currently DS3 formatted - been looking at this). You would derive from the RootHub class and override the On_Report() method.
(01-22-2014, 07:03 AM)Scarlet.Crush Wrote: [ -> ]So for example if you were reading input reports from a WiiU controller and wanted it to appear as an XInput device -> derive a WiiUBusDevice from BusDevice, override the Parse() method, implement mapping within your Parse() method.

The current ScpControl.dll provides almost everything required for a DS4 API (ReportEventArgs are currently DS3 formatted - been looking at this). You would derive from the RootHub class and override the On_Report() method.

wiiU with screen is my next thing to wait for good pc software. think it be great as a 2nd portable monitor.
http://gaming.logitech.com/en-ca/product...ss-gamepad I wonder how the Xinput <-> DirectInput switch implemented on a hardware level for it.
I would love to have xinput wrapping done on driver level so that running software will be no longer required.
This is biggest drawback of custom driver "The SCP drivers do require to take over a BTH Dongle - for DS3 support and to allow transparent switching between BTH and USB."
Because of that i always used DS3 through USB, also USB more reliable for sure
(01-22-2014, 07:10 AM)InhexSTER Wrote: [ -> ]http://gaming.logitech.com/en-ca/product...ss-gamepad I wonder

Worst gen of logitech controllers. Floating Dpad unreliable. gets hard to push 3 gone in 3 months. playstation controllers are the best. even psone still work perfectly to this day. even got one my guild members to get one.
(01-22-2014, 07:24 AM)DeathWish Wrote: [ -> ]Worst gen of logitech controllers. Floating Dpad unreliable. gets hard to push 3 gone in 3 months. playstation controllers are the best. even psone still work perfectly to this day. even got one my guild members to get one.

Well, even from the pictures it looks mediocre. But somehow they officially support xinput.
Hmm, F710 + nano-receiver (dedicated custom [BTH] dongle) vs DS3/DS4 + dedicated BTH dongle ...
(01-22-2014, 07:57 AM)Scarlet.Crush Wrote: [ -> ]Hmm, F710 + nano-receiver (dedicated custom [BTH] dongle) vs DS3/DS4 + dedicated BTH dongle ...

I've been trying to find any docs on how native xinput hardware works.
When xbox one controller is plugged in it shows up as unknown device. Maybe it doesn't communicate through HID...
Only thing i found is this XUSB Specification being mentioned but can't find specification itself, perhaps internal to MS. Also seems they do have to use custom 2.4Ghz dongles
Decent bluetooth dongles are super cheap. If the only drawback to the custom driver approach is surrendering a BTH dongle and USB port, seems worth it to me.
When a USB device is plugged in Windows interrogates it for it's Device Id. Windows then looks up it's driver database for a driver which can handle that Id. In the case of an XInput device it uses XUsb21.sys (W7) - from the XUsb21.inf file the device ids that it can handle are

USB\Vid_045E&Pid_028E
USB\Vid_045E&Pid_0719
USB\MS_COMP_XUSB10
USB\MS_COMP_XUSB20
USB\Vid_045E&Pid_028F

Would expect Microsoft to release updated drivers to add support for Xbone Controllers if they are going to be usable in Windows.

What Device ID does it show when you plug it in?

btw the XInput subsystem provides both XInput and DInput - just some people don't like the DInput from X360 controllers because the Right & Left Trigger share an axis, and in DInput games they can't be used as buttons.
(01-22-2014, 07:57 AM)Scarlet.Crush Wrote: [ -> ]Hmm, F710 + nano-receiver (dedicated custom [BTH] dongle) vs DS3/DS4 + dedicated BTH dongle ...

PS4 for quailty and durability. I had the 310 same thing not wireless. had to take it back 4 times then i went with ps4


PS4 FTW

@inter, i get the point just such bad experience and what led me here.

On another note and this is just random ideas and u prob thought of it but use of the gyro and acel. for mouse . could use touch pad left to right zoom in and up to down for scroll. so man possibilites