Allow ScpVBus device to be found even when disabled. Reset device rumble state on next poll when loading a profile.

This commit is contained in:
Travis Nickles 2018-01-28 23:21:49 -06:00
parent 023236c15a
commit a1e99344d2

View File

@ -302,7 +302,7 @@ namespace DS4Windows
var dataBuffer = new byte[4096]; var dataBuffer = new byte[4096];
ulong propertyType = 0; ulong propertyType = 0;
var requiredSize = 0; var requiredSize = 0;
IntPtr deviceInfoSet = NativeMethods.SetupDiGetClassDevs(ref sysGuid, "", 0, NativeMethods.DIGCF_PRESENT | NativeMethods.DIGCF_DEVICEINTERFACE | NativeMethods.DIGCF_ALLCLASSES); IntPtr deviceInfoSet = NativeMethods.SetupDiGetClassDevs(ref sysGuid, "", 0, NativeMethods.DIGCF_DEVICEINTERFACE | NativeMethods.DIGCF_ALLCLASSES);
for (int i = 0; !result && NativeMethods.SetupDiEnumDeviceInfo(deviceInfoSet, i, ref deviceInfoData); i++) for (int i = 0; !result && NativeMethods.SetupDiEnumDeviceInfo(deviceInfoSet, i, ref deviceInfoData); i++)
{ {
if (NativeMethods.SetupDiGetDeviceProperty(deviceInfoSet, ref deviceInfoData, ref NativeMethods.DEVPKEY_Device_HardwareIds, ref propertyType, if (NativeMethods.SetupDiGetDeviceProperty(deviceInfoSet, ref deviceInfoData, ref NativeMethods.DEVPKEY_Device_HardwareIds, ref propertyType,
@ -2807,6 +2807,8 @@ namespace DS4Windows
Log.LogToGui("X360 Controller # " + xinputIndex + " unplugged", false); Log.LogToGui("X360 Controller # " + xinputIndex + " unplugged", false);
} }
} }
tempDev.setRumble(0, 0);
}); });
Program.rootHub.touchPad[device]?.ResetTrackAccel(trackballFriction[device]); Program.rootHub.touchPad[device]?.ResetTrackAccel(trackballFriction[device]);