mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-26 11:04:21 +01:00
parent
f4c05533fc
commit
78dcbe666c
@ -40,7 +40,8 @@ namespace DS4Windows.DS4Library
|
|||||||
RefreshVolume();
|
RefreshVolume();
|
||||||
}
|
}
|
||||||
|
|
||||||
public DS4Audio(DataFlow audioFlags = DataFlow.Render)
|
public DS4Audio(DataFlow audioFlags = DataFlow.Render,
|
||||||
|
string searchName = "Wireless Controller")
|
||||||
{
|
{
|
||||||
var audioEnumerator = new MMDeviceEnumeratorComObject() as IMMDeviceEnumerator;
|
var audioEnumerator = new MMDeviceEnumeratorComObject() as IMMDeviceEnumerator;
|
||||||
IMMDeviceCollection audioDevices;
|
IMMDeviceCollection audioDevices;
|
||||||
@ -55,21 +56,7 @@ namespace DS4Windows.DS4Library
|
|||||||
Marshal.ThrowExceptionForHR(audioDevices.Item(deviceNumber, out audioDevice));
|
Marshal.ThrowExceptionForHR(audioDevices.Item(deviceNumber, out audioDevice));
|
||||||
string deviceName = GetAudioDeviceName(ref audioDevice);
|
string deviceName = GetAudioDeviceName(ref audioDevice);
|
||||||
|
|
||||||
if (deviceName.Contains("DUALSHOCK®4 USB Wireless Adaptor"))
|
if (deviceName.Contains(searchName))
|
||||||
{
|
|
||||||
object interfacePointer;
|
|
||||||
Marshal.ThrowExceptionForHR(audioDevice.Activate(ref IID_IAudioEndpointVolume, ClsCtx.ALL, IntPtr.Zero, out interfacePointer));
|
|
||||||
endpointVolume = interfacePointer as IAudioEndpointVolume;
|
|
||||||
endpointVolume.RegisterControlChangeNotify(this);
|
|
||||||
}
|
|
||||||
else if (deviceName.Contains("Wireless Controller"))
|
|
||||||
{
|
|
||||||
object interfacePointer;
|
|
||||||
Marshal.ThrowExceptionForHR(audioDevice.Activate(ref IID_IAudioEndpointVolume, ClsCtx.ALL, IntPtr.Zero, out interfacePointer));
|
|
||||||
endpointVolume = interfacePointer as IAudioEndpointVolume;
|
|
||||||
endpointVolume.RegisterControlChangeNotify(this);
|
|
||||||
}
|
|
||||||
else if (deviceName.Contains("PS4 Fun Controller"))
|
|
||||||
{
|
{
|
||||||
object interfacePointer;
|
object interfacePointer;
|
||||||
Marshal.ThrowExceptionForHR(audioDevice.Activate(ref IID_IAudioEndpointVolume, ClsCtx.ALL, IntPtr.Zero, out interfacePointer));
|
Marshal.ThrowExceptionForHR(audioDevice.Activate(ref IID_IAudioEndpointVolume, ClsCtx.ALL, IntPtr.Zero, out interfacePointer));
|
||||||
|
@ -122,6 +122,8 @@ namespace DS4Windows
|
|||||||
internal const int BATTERY_MAX = 8;
|
internal const int BATTERY_MAX = 8;
|
||||||
internal const int BATTERY_MAX_USB = 11;
|
internal const int BATTERY_MAX_USB = 11;
|
||||||
public const string blankSerial = "00:00:00:00:00:00";
|
public const string blankSerial = "00:00:00:00:00:00";
|
||||||
|
private const string SONYWA_AUDIO_SEARCHNAME = "DUALSHOCK®4 USB Wireless Adaptor";
|
||||||
|
private const string RAIJU_TE_AUDIO_SEARCHNAME = "Razer Raiju Tournament Edition Wired";
|
||||||
private HidDevice hDevice;
|
private HidDevice hDevice;
|
||||||
private string Mac;
|
private string Mac;
|
||||||
private DS4State cState = new DS4State();
|
private DS4State cState = new DS4State();
|
||||||
@ -426,14 +428,22 @@ namespace DS4Windows
|
|||||||
{
|
{
|
||||||
runCalib = false;
|
runCalib = false;
|
||||||
}
|
}
|
||||||
|
else if (tempAttr.VendorId == DS4Devices.RAZER_VID &&
|
||||||
|
tempAttr.ProductId == 0x1007)
|
||||||
|
{
|
||||||
|
audio = new DS4Audio(searchName: RAIJU_TE_AUDIO_SEARCHNAME);
|
||||||
|
micAudio = new DS4Audio(DS4Library.CoreAudio.DataFlow.Capture,
|
||||||
|
RAIJU_TE_AUDIO_SEARCHNAME);
|
||||||
|
}
|
||||||
|
|
||||||
synced = true;
|
synced = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
warnInterval = WARN_INTERVAL_BT;
|
warnInterval = WARN_INTERVAL_BT;
|
||||||
audio = new DS4Audio();
|
audio = new DS4Audio(searchName: SONYWA_AUDIO_SEARCHNAME);
|
||||||
micAudio = new DS4Audio(DS4Library.CoreAudio.DataFlow.Capture);
|
micAudio = new DS4Audio(DS4Library.CoreAudio.DataFlow.Capture,
|
||||||
|
SONYWA_AUDIO_SEARCHNAME);
|
||||||
runCalib = synced = isValidSerial();
|
runCalib = synced = isValidSerial();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ namespace DS4Windows
|
|||||||
new VidPidInfo(0x7545, 0x0104),
|
new VidPidInfo(0x7545, 0x0104),
|
||||||
new VidPidInfo(0x2E95, 0x7725), // Scuf Vantage gamepad
|
new VidPidInfo(0x2E95, 0x7725), // Scuf Vantage gamepad
|
||||||
new VidPidInfo(0x11C0, 0x4001), // PS4 Fun Controller
|
new VidPidInfo(0x11C0, 0x4001), // PS4 Fun Controller
|
||||||
|
new VidPidInfo(RAZER_VID, 0x1007), // Razer Raiju Tournament Edition
|
||||||
};
|
};
|
||||||
|
|
||||||
private static string devicePathToInstanceId(string devicePath)
|
private static string devicePathToInstanceId(string devicePath)
|
||||||
|
Loading…
Reference in New Issue
Block a user