mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-26 19:14:20 +01:00
b4a6249fa3
Significant CPU usage decrease by reworking how single instances work, on a mobile i7 for example with a single controller connected usage went from 4-6% to .5-1.5%. With no controllers connected the usage went from 2.5-4.5% to 0%! As mentioned before, single instances has been reworked, so trying to relaunch DS4W more reliably opens the previous instance Fixed Shift modifier not working if main controls were not modified Fixed Tilt Left for Shift modifier Fixed default text of shift controls Remove touchpad movement notification when swipe for controls is enabled Can test the rumble motors separately via Heavy and Light Truly implemented Flush HID (I think) Slight change in profiles, when loading profiles in for the first time in this new version, there may be a slight delay Updated French Translations Removed mouse moving as an option for touch swipes controls, as they weren't implemented nor have a purpose to be
47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DS4Windows
|
|
{
|
|
class NativeMethods
|
|
{
|
|
[DllImport("msi.dll", CharSet = CharSet.Auto)]
|
|
public static extern uint MsiGetShortcutTarget(string targetFile, StringBuilder productCode, StringBuilder featureID, StringBuilder componentCode);
|
|
|
|
[DllImport("msi.dll", CharSet = CharSet.Auto)]
|
|
public static extern InstallState MsiGetComponentPath(string productCode, string componentCode, StringBuilder componentPath, ref int componentPathBufferSize);
|
|
|
|
public const int MaxFeatureLength = 38;
|
|
public const int MaxGuidLength = 38;
|
|
public const int MaxPathLength = 1024;
|
|
|
|
public enum InstallState
|
|
{
|
|
NotUsed = -7,
|
|
BadConfig = -6,
|
|
Incomplete = -5,
|
|
SourceAbsent = -4,
|
|
MoreData = -3,
|
|
InvalidArg = -2,
|
|
Unknown = -1,
|
|
Broken = 0,
|
|
Advertised = 1,
|
|
Removed = 1,
|
|
Absent = 2,
|
|
Local = 3,
|
|
Source = 4,
|
|
Default = 5
|
|
}
|
|
public const int HWND_BROADCAST = 0xffff;
|
|
public static readonly int WM_SHOWME = RegisterWindowMessage("WM_SHOWME");
|
|
[DllImport("user32")]
|
|
public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
|
|
[DllImport("user32")]
|
|
public static extern int RegisterWindowMessage(string message);
|
|
}
|
|
}
|