01-22-2014, 07:03 AM
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.
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.