Skip to content

Commit

Permalink
Interception device list improvements
Browse files Browse the repository at this point in the history
K: or M: prefix for keyboards or mice
If device name unavalable, use handle
  • Loading branch information
evilC committed Aug 29, 2018
1 parent 79b3429 commit 9e066ed
Showing 1 changed file with 50 additions and 43 deletions.
93 changes: 50 additions & 43 deletions Source/Core Providers/Core_Interception/Core_Interception.cs
Original file line number Diff line number Diff line change
Expand Up @@ -409,42 +409,48 @@ private void QueryDevices()
UpdateKeyList();
UpdateMouseButtonList();
string handle;
var i = 1;
while (i < 11)

for (var i = 1; i < 11; i++)
{
if (ManagedWrapper.IsKeyboard(i) != 1) continue;
handle = ManagedWrapper.GetHardwareStr(_deviceContext, i, 1000);
if (handle == "") continue;
int vid = 0, pid = 0;
GetVidPid(handle, ref vid, ref pid);
var name = "";
if (vid != 0 && pid != 0)
{
name = DeviceHelper.GetDeviceName(vid, pid);
}
//if (handle != "" && IsKeyboard(i) == 1)
if (name != "" && ManagedWrapper.IsKeyboard(i) == 1)

if (name == "")
{
handle = @"Keyboard\" + handle;
_deviceReports.Add(new DeviceReport
{
DeviceName = name,
DeviceDescriptor = new DeviceDescriptor
{
DeviceHandle = handle
},
//Bindings = { keyboardList }
Nodes = new List<DeviceReportNode>
{
_keyboardList
}
});
_deviceHandleToId.Add(handle, i - 1);
//Log(String.Format("{0} (Keyboard) = VID: {1}, PID: {2}, Name: {3}", i, vid, pid, name));
name = handle;
}
i++;

name = $"K: {name}";
handle = $@"Keyboard\{handle}";
_deviceReports.Add(new DeviceReport
{
DeviceName = name,
DeviceDescriptor = new DeviceDescriptor
{
DeviceHandle = handle
},
Nodes = new List<DeviceReportNode>
{
_keyboardList
}
});
_deviceHandleToId.Add(handle, i - 1);
//Log(String.Format("{0} (Keyboard) = VID: {1}, PID: {2}, Name: {3}", i, vid, pid, name));
}
while (i < 21)

for (var i = 11; i < 21; i++)
{
if (ManagedWrapper.IsMouse(i) != 1) continue;
handle = ManagedWrapper.GetHardwareStr(_deviceContext, i, 1000);
if (handle == "") continue;
int vid = 0, pid = 0;
GetVidPid(handle, ref vid, ref pid);
var name = "";
Expand All @@ -453,30 +459,31 @@ private void QueryDevices()
name = DeviceHelper.GetDeviceName(vid, pid);
}

//if (handle != "" && IsMouse(i) == 1)
if (name != "" && ManagedWrapper.IsMouse(i) == 1)
if (name == "")
{
handle = @"Mouse\" + handle;
_deviceReports.Add(new DeviceReport
{
DeviceName = name,
DeviceDescriptor = new DeviceDescriptor
{
DeviceHandle = handle
},
//Bindings = { mouseButtonList }
Nodes = new List<DeviceReportNode>
{
_mouseButtonList,
MouseAxisList
}
});
_deviceHandleToId.Add(handle, i - 1);
//Log(String.Format("{0} (Mouse) = VID/PID: {1}", i, handle));
//Log(String.Format("{0} (Mouse) = VID: {1}, PID: {2}, Name: {3}", i, vid, pid, name));
name = handle;
}
i++;

name = $"M: {name}";
handle = $@"Mouse\{handle}";
_deviceReports.Add(new DeviceReport
{
DeviceName = name,
DeviceDescriptor = new DeviceDescriptor
{
DeviceHandle = handle
},
Nodes = new List<DeviceReportNode>
{
_mouseButtonList,
MouseAxisList
}
});
_deviceHandleToId.Add(handle, i - 1);
//Log(String.Format("{0} (Mouse) = VID/PID: {1}", i, handle));
//Log(String.Format("{0} (Mouse) = VID: {1}, PID: {2}, Name: {3}", i, vid, pid, name));
}

}

private static void UpdateMouseButtonList()
Expand Down

0 comments on commit 9e066ed

Please sign in to comment.