Thread Rating:
  • 54 Vote(s) - 4.76 Average
  • 1
  • 2
  • 3
  • 4
  • 5
XInput Wrapper for DS3 and USB Dual DS2 Controller
@niqht: yes, the drivers support both DS3 and DS4 controllers connected at the same time.

@UlyssesSKrunk: can you do the following

1. Open an elevated command prompt [Runas Administrator]
2. cd C:\Temp [create C:\Temp first if you don't have it]
3. pnputil -e > pnputil.txt
4. Zip up pnputil.txt and post as an attachment.

@randito34: you have a fake controller [00:26:5C signature], please update to latest update. [will be posting shortly]

@Hiazu: your dongle doesn't support Secure Simple Pairing (SSP), please update to latest update and Disable SSP in options. [will be posting shortly]

@Mikhail0: does your controller support Rumble over BTH when connected to a PS3?

@x_berzerker: after installing just manually install the original drivers back on to your integrated BTH via Device Manager.

@Daytrader: yes, the drivers make your DS3 appear as an X360 controller.

@beachybed: start ScpService from the Service Control Manager. [Control Panel -> Administrative Tools -> Services]

Also check that the Windows Event Log service is running.

@Abcdude: yes, the drivers support both DS3 and DS4 controllers connected at the same time.

@z_JoShua_z: you have a fake controller [00:26:5C signature], please update to latest update. [will be posting shortly]

@kenshinjeff: can you reproduce your issue, then zip up ScpService.log && ScpDriver .log and post as an attachment.

@Enisey: fyi with 1 DS4 connected to my i7-2700K : ScpService uses 0.13%.

@JustinSaneV2: pressing the Reset button on your DS3 does not remove any Pairing which has been configured [the Paired MAC address is stored in non-volatile memory, serial e2prom iirc]. What it does do is remove power from the micro-controller and volatile memory, so that your DS3 starts up cleanly. Most common cause for erratic behaviour of a DS3 is that the firmware/volatile-memory has become corrupted, pressing the Reset button generally cures these issues.

Your issue is caused by the DS3 becoming disconnected from USB. There can be a few causes for this -

1. DS3 has become flaky (as above) - try a pin-hole reset.
2. Dodgy USB cable - verify your cable on another device, try another cable.
3. Dodgy USB Port/Hub - verify with another device, try a different port/hub.
4. Power draw on your USB Hub has exceeded it's capabilities [causes the USB Hub to lock up] - try to move your DS3 to a hub with no other devices attached.

I would hazard a guess that you are experiencing issue 4. Be aware that DS3s can draw a lot of power, especially during Rumble and Charging.

Non-Rev DS3 -> 5V, 500mA
A1 Rev DS3 -> 3.7V, 300mA

SixAxis -> 3.7V, 30mA
X360 Wired -> 5V, 400mA

So a Non-Rev DS3 has the highest potential power draw. Can you try disabling Rumble in options and see if your issues persist.

@Sky-Dragon: I'm not aware of any such adaptors.


Quote:@mooyah: to get Pressure Sensitive buttons enabled in PCSX2 do the following -

1. Copy <ScpServer>\bin\Win32\LilyPad-Scp-r5875.dll to your <pcsx2>\Plugins directory.
2. Copy <ScpServer>\bin\Win32\XInput1_3.dll to your <pcsx2> directory.
3. Make sure your DS3 is connected and active before starting PCSX2.
4. Configure your Pad plugin as per screenshot in Post #2613.

@solarnoise: missing button presses / lag on Bluetooth is caused by dropped BTH packets, this is generally caused by signal interference / range exceeded. Make sure your Dongle is in a front Panel port as far away from other RF devices as possible, try to maintain direct line of sight between Dongle and Controller, don't move out of Range (within ~5m should be no issue on a DS3, ~3m on a DS4).


see above response to JustinSaneV2.

FYI. The majority of my games collection (barring PCSX2 games) are on Steam, including Dead Souls. I have never experienced an issue using either DS3 or DS4 with the drivers on any Steam game.

@r2rX: the X360 Controller will remain "plugged in" while the service is running. This is to allow for transparent switching between BTH <-> USB, and Idle Disconnect/Reconnect. In ScpMonitor you will see the Pad being put in Reserved mode.

To clear X360 Controllers just restart the service. Or you can set it to Manual and Start and Stop the service as required. Alternatively, you can Disable the service and use ScpServer as required.

@borbran: DS3 controllers are recognised by their Mac address, sounds like your 3rd party controller is not presenting a consistant Mac address. Can you reproduce your issue, then zip up your ScpService.log and post as an attachment.

Sponsored links Update Notes

1. Added ScpTimer class, high resolution timer.
2. Added ScpPadState base class, for use in Samples.
3. Added ThemeUtil, KbmPost and RegistryProvider utility classes.
4. Modified UsbDevice and BthDevice classes to use ScpTimer.
5. Modified ScpProxy to remove memory allocations.
6. Added ScpProxy method to identify whether Native Feed is enabled/disabled on the server.

ScpMonitor.exe, ScpServer.exe, ScpPair.exe
1. Modified to use utility classes within ScpControl.dll.
2. Modified keyboard focus cues and tab order.

1. Renamed to GtaMapper.exe, please delete old ScpPad2Key.exe.
2. Renamed GtaPadState to GamePadState and use ScpPadState as base class.
2. Modified to use utility classes within ScpControl.dll.
3. Modified keyboard focus cues and tab order.
4. Added saving/loading of options to/from the Registry.

1. D3Mapper.exe - mapper for Doom 3, game with no native GamePad support.
2. GtaMapper.exe - mapper for GTA III / Vice City, game with partial GamePad support.
3. DskMapper.exe - mapper for use on the Desktop, provides commonly used functionality.

The samples are an investigation into the use cases for a generic configurable application which provides Pad -> Keyboard/Mouse functionality. Feedback is welcome on what you would like to see implemented or any developer features in the base classes provided.

D3Mapper Key Binding
1. Right Stick -> Mouse Movement
2. Left Stick -> WASD
3. R2 -> Left Mouse Button
4. L2 -> Middle Mouse Button
5. Circle -> Right Mouse Button
6. R1 -> ]
7. L1 -> [
8. PS -> Escape
9. Cross -> End
10. Square -> C
11. Triangle -> R

GtaMapper Key Binding
1. Right Stick -> Mouse movement
2. PS -> Escape
3. R2 -> PageUp
4. L2 -> PageDown
5. TouchPad-> Insert. [DS4 only - InGame Default for change Radio Station]

Mouse Buttons Enabled
6. R1 -> Left Mouse Button
7. L1 -> Right Mouse Button

Cheats Enabled
8. DPAD_Up -> Weapons Cheat. [gunsgunsguns for III, professionaltools for VC]
9. DPAD_Right -> Armour Cheat.
10. DPAD_Down -> Wanted Level Down.
11. DPAD_Left -> HP Cheat.

DskMapper Key Binding
1. Right Stick -> Mouse Movement
2. DPAD -> Cursor Keys [w/ auto-repeat]
3. R1 -> Left Mouse Button
4. L1 -> Right Mouse Button
5. Cross -> Enter
6. Circle -> Escape
7. Square -> Tab
8. Triangle -> Spacebar
9. R2 -> PageUp
10. L2 -> PageDown

To Toggle between the above being Enabled/Disabled
DS3 : PS + Start
DS4 : TouchPad
@Scarlet.Crush Did you get my attachment?
@Gimbulate: I don't see your BTH Dongle getting recognised / initialised in the log. Can you check in Device Manager that your Dongle has the SCP Driver installed.

Note: If you have Windows Update configured to keep your drivers updated, it may download and install updated manufacturer drivers on to your Dongle.
This happens rarely and it is a small problem. As this occurs again I send logos.
I care more for adding options, when I unplug the receiver, pad disappeared from the Controllers Control panel, not passed in Reserved mode in ScpMonitor.
Just to pad disappeared from the system after unplug the receiver. One little feature.

The problem occurred again. It seems that sometimes gets lost MAC address. I put logs.

Even so, the most I care option to hide the pad in Controllers Control Panel when I unplug the receiver.
Please add a small option to enable or disable this feature in SCPMonitor Configuration.

Attached Files
.zip (Size: 813 bytes / Downloads: 584)
Owww, working now!!! Perfect job Scarlet, congratulations!!! =D
Hi folks. I decided to register after running into a problem with the drivers provided here. This thread is 271 pages at this point and I really can't be bothered to go through them all (I did go through the first 15 or so) to see if someone else has reported the below issue. I have a workaround which I'm using (I'll explain below) but it's really not ideal.

My setup is as follows:

- Windows XP Professional SP3 32-bit
- Original Sony DualShock 3 controller (model CECHZC2U a2)
- Connected via USB cable directly to back of PC (Bluetooth is not involved!)
- Cable remains connected the entire time (i.e. is not unplugged/replugged at any time)
- Driver in question is SCP-DS-Driver-Package-, followed by updating to I haven't fully tested yet
- Installation was performed per documentation, i.e. create C:\Program Files\Scarlet.Crush Productions, copy ScpServer\bin\* into that directory, run ScpDriver.exe, check Force Install, install XBox 360 Controller software, reboot, etc...
- I receive no errors during installation, and the controller does in fact work as advertised in many XBox 360-controller-specific games
- Installation choices are:
-- Check: Force Install
-- Check: Configure Service
-- Uncheck: Bluetooth Driver

The problem I'm about to describe is 100% reproducible, even after a fresh format + reinstall.

The issue:

It appears the actual Windows service "SCP DS3 Service" (service name: Ds3Service), which starts when logging in, causes all sorts of mayhem for about the first 15-30 seconds after logging into the system. "All sorts of mayhem" means the following:

- UPnP gateway discovery fails to work (i.e. my router does not show up under Control Panel / Network Connections)
- Upon logging in and hitting Ctrl-Alt-Del (launches Task Manager), all the processes shown have an empty "User Name" field
- Upon running Services (the GUI tool), I find numerous services which are in a "Stopping" state:
-- Alcohol Virtual Drive (service: AxAutoMntSrv) -- this is part of the commercial Alcohol 120% software
-- Microsoft .NET Framework (service: clr_optimization_v4.0.30319_32) -- should be obvious what this is
-- Many, MANY others (probably 8 or 9 more) -- so many I can't list them all without taking repeated screenshots in a short period of time (not going to happen)
- All the aforementioned "Stopping" services get started once Ds3Service starts

I should note this same problem (specifically with UPnP) can happen if .NET runtime assemblies aren't rebuilt prior to rebooting/logging out. However, they're completely rebuilt on my system, so the the clr_optimization service is not what's causing this. I only mention it because the overall problem is more of a "Windows XP login design" issue, but what it indicates is that something is "stalling" other Windows services from starting promptly and that has negative effects on the system once up/running.

So basically it looks to me like Ds3Service is blocking (pausing) some kind of service, or is restarting a service that affects other services on the system, and this has major trickle-down effects (i.e. the design choice here is very bad). I'm betting this doesn't happen on Windows 7 because the installer might use a service startup type of "Auto (delayed)" which XP doesn't have (XP only has Disabled, Manual, and Auto, and I'm quite familiar with the difference between the 3 -- if you need to know, ask).

The workaround I came up with:

- Set Ds3Service to Manual (i.e. does not run on log-in, but can be started manually)
- Once logged in, start Ds3Service by hand by doing sc start Ds3Service (via CLI / script, or via the Services GUI if needed)

I have not taken the time to look through the source yet (it's quite a lot to take in all at once), but I imagine I'll find the answer in there somewhere. I'm hoping @Scarlet.Crush has ideas, as it'd save me a lot of time having to dig through it all.

I'm happy to be a guinea pig for testing stuff if need be.
@koitsu: hmm, did some testing on my WinXP VM.

When the Service starts it immediately logs it's Version info to the log. It then initialises the RootHub object in ScpControl.dll. Again RootHub logs it's Version info then logs the OS Version info.

Following is from a cold boot -

2014-04-04 01:12:05.859 ++ C:\Program Files\Scarlet.Crush Productions\ScpService.exe
2014-04-04 01:12:06.046 ++ C:\Program Files\Scarlet.Crush Productions\ScpControl.dll
2014-04-04 01:12:09.562 ++ Microsoft Windows XP Professional Service Pack 3 (5.1.2600.196608 x86)

Following is from a service restart -

2014-04-04 01:19:38.906 ++ C:\Program Files\Scarlet.Crush Productions\ScpService.exe
2014-04-04 01:19:38.953 ++ C:\Program Files\Scarlet.Crush Productions\ScpControl.dll
2014-04-04 01:19:39.156 ++ Microsoft Windows XP Professional Service Pack 3 (5.1.2600.196608 x86)

The OS Version info is generated from a series of WMI queries, so Windows will have to load WMI for it. I would hazard a guess at this is what is blocking Services from starting. [Logs above indicate that the loading of WMI takes around 3.5s on a cold boot, 0.2s on a service restart on my VM]

Can you enable the service to start automatically, reboot, when everything has finally started, stop the service, copy ScpService.log to ScpService_1.log.

Start the service manually, wait 10 seconds, copy ScpService.log to ScpService_2.log

Zip up ScpService_1.log and ScpService_2.log and post as an attachment.

Check your Windows Event Log for any error / informational messages regarding WMI. I suspect that it may be having some issue when initially loading.

I've attached a version of ScpControl.dll with the OS Version Info call commented out, if you are seeing long delays between the 2nd & 3rd lines of the log try it out.

Edit: There is no difference between XP, Vista, 7, 8, 8.1 with how the drivers/service are installed and operate. [The ScpDriver.exe installer only registers that it has selected a configuration as a legacy from when it installed an OS specific filter driver].

Attached Files
.7z   ScpControl.7z (Size: 38,12 KB / Downloads: 318)
just a question.
When the pad is charged the counter need to USB keep increasing, but the window say 'charged'. I need to wait the counter is FFFFFFF ? just for keep the battery alive as much is possible.
The same error occurs every time in SCPServer.
I put logs.

Attached Files
.zip (Size: 1,15 KB / Downloads: 223)

Users browsing this thread: 14 Guest(s)