@Raiser: I've looked into disabling the DS3 so that it can be unplugged from USB and not attempt to connect to it's paired PS3. Haven't found a successful solution. Tried the MotioninJoy drivers, after issuing a Disconnect from the DS3 tool disconnecting from USB still connects to it's paired PS3 (latest 7.1 drivers).
Using the 0.8.0.100 RC drivers, you can Shutdown your PC and then disconnect your DS3. It won't attempt to connect via Bluetooth.
@jramon: still investigating the issues with the Masahiko Morii drivers. I can't get it to shutdown properly, doesn't matter whether the BTH driver is installed or not - may be a timing thing you are seeing on your machine.
When the ScpService is stopped it sends an Unplug command to the Virtual Bus for each connected controller. The bus then marks the device as missing and informs the Driver Manager that the device state has changed. Driver Manager then informs the Device driver that the device is missing. With the MS drivers (and XBCD) the driver then cleans up it's device extensions and issues a Remove Device to the lower driver (Virtual Bus) to do likewise - the Masahiko Morii drivers do not seem to do this correctly.
@Nedo: I don't know of any XInput game which has this exact a requirement during gameplay. You could try a game which has a "hold button" to crouch mechanic. You should see the character crouch/stand intermittently if it is experiencing the issue you describe. Batman: AA would be a likely candidate for this testing, and it was really cheap on Steam last time I looked.
@xonix888: it sounds like report packets are being dropped by your dongle. Likely causes are either your dongle is faulty, is having issues on USB connectivity, having issues on BTH connectivity.
Make sure your dongle is connected on a USB 2.0 or USB 3.0 port.
Make sure your dongle has a clear line of sight to your DS3 - connected on a front panel port with no major obstructions between it and your DS3 and is not close to other devices which use RF which may interfere with the BTH signal.
Zip your ScpDriver.log and ScpService.log (after extended period of use) and post as an attachment.
@azorbet: can you zip up ScpDriver.log and ScpService.log and post as an attachment.
@Tictoon:
@Khraftman:
The aim of the Realease 1.0 version of the drivers (which I'm working to with the RC) is to enable a DS3 to be used as a drop-in replacement for X360 pads - focused on compatibility, reliability, stability, ease of use and zero configuration. Primary to that focus is that any game which supports X360 pads through XInput or DInput should work transparently with a DS3 without requiring any game specific setup.
XInput specifically has a fixed format for compatible controllers -
Code:
//
// Constants for gamepad buttons
//
#define XINPUT_GAMEPAD_DPAD_UP 0x0001
#define XINPUT_GAMEPAD_DPAD_DOWN 0x0002
#define XINPUT_GAMEPAD_DPAD_LEFT 0x0004
#define XINPUT_GAMEPAD_DPAD_RIGHT 0x0008
#define XINPUT_GAMEPAD_START 0x0010
#define XINPUT_GAMEPAD_BACK 0x0020
#define XINPUT_GAMEPAD_LEFT_THUMB 0x0040
#define XINPUT_GAMEPAD_RIGHT_THUMB 0x0080
#define XINPUT_GAMEPAD_LEFT_SHOULDER 0x0100
#define XINPUT_GAMEPAD_RIGHT_SHOULDER 0x0200
#define XINPUT_GAMEPAD_A 0x1000
#define XINPUT_GAMEPAD_B 0x2000
#define XINPUT_GAMEPAD_X 0x4000
#define XINPUT_GAMEPAD_Y 0x8000
//
// Structures used by XInput APIs
//
typedef struct _XINPUT_GAMEPAD
{
WORD wButtons;
BYTE bLeftTrigger;
BYTE bRightTrigger;
SHORT sThumbLX;
SHORT sThumbLY;
SHORT sThumbRX;
SHORT sThumbRY;
} XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;
typedef struct _XINPUT_STATE
{
DWORD dwPacketNumber;
XINPUT_GAMEPAD Gamepad;
} XINPUT_STATE, *PXINPUT_STATE;
typedef struct _XINPUT_VIBRATION
{
WORD wLeftMotorSpeed;
WORD wRightMotorSpeed;
} XINPUT_VIBRATION, *PXINPUT_VIBRATION;
The drivers are designed to facilitate the use of these in conjunction with the MS XInput subsystem.
So features like adding extra buttons / axis would not be compatible with the XInput API. Features like recognising a shake are not implemented by current games, and there is no way to inform them that this event has occurred.
Sixaxis gyro/accelerometer features - I would have to agree with KrossX and unvaluablespace - are a novelty at best. The lack of support for them in most PS3 games demonstrates this, I don't own a single PS3 game which supports them.
The biggest failing of the MS X360 drivers is the support of DInput. Namely the Triggers share the Z Axis and are not mappable as buttons at driver level. I have not attempted to address this for a 1.0 Release, since any fix for it would break XInput support. The current option for this is to use 3rdparty replacement drivers for the MS X360 drivers - XBCD drivers are supported, and I am looking in to Masahiko Morii driver support (see above).