mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-13 10:08:31 +00:00
Use explicit types instad of var
This commit is contained in:
parent
e06857e236
commit
a04018fef1
@ -3,6 +3,7 @@ using HidSharp.Reports.Encodings;
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace RGB.NET.Devices.Logitech.HID
|
namespace RGB.NET.Devices.Logitech.HID
|
||||||
{
|
{
|
||||||
@ -18,10 +19,10 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var descriptor = device.GetRawReportDescriptor();
|
byte[]? descriptor = device.GetRawReportDescriptor();
|
||||||
var decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
IEnumerable<EncodedItem>? decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||||
var usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
IEnumerable<EncodedItem>? usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||||
var usagePage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Global);
|
EncodedItem? usagePage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Global);
|
||||||
return usagePage.DataValue;
|
return usagePage.DataValue;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@ -34,10 +35,10 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var descriptor = device.GetRawReportDescriptor();
|
byte[]? descriptor = device.GetRawReportDescriptor();
|
||||||
var decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
IEnumerable<EncodedItem>? decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||||
var usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
IEnumerable<EncodedItem>? usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||||
var usage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Local);
|
EncodedItem? usage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Local);
|
||||||
return usage.DataValue;
|
return usage.DataValue;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|||||||
@ -56,7 +56,7 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
/// <returns>The enumerable containing the connected devices.</returns>
|
/// <returns>The enumerable containing the connected devices.</returns>
|
||||||
public IEnumerable<HIDDeviceDefinition<TLed, TData>> GetConnectedDevices()
|
public IEnumerable<HIDDeviceDefinition<TLed, TData>> GetConnectedDevices()
|
||||||
{
|
{
|
||||||
foreach (var device in Detect())
|
foreach (int device in Detect())
|
||||||
{
|
{
|
||||||
if (_deviceDefinitions.TryGetValue(device, out HIDDeviceDefinition<TLed, TData>? definition))
|
if (_deviceDefinitions.TryGetValue(device, out HIDDeviceDefinition<TLed, TData>? definition))
|
||||||
if (LoadFilter.HasFlag(definition.DeviceType))
|
if (LoadFilter.HasFlag(definition.DeviceType))
|
||||||
@ -86,9 +86,9 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
|
|
||||||
private IEnumerable<int> Detect()
|
private IEnumerable<int> Detect()
|
||||||
{
|
{
|
||||||
foreach (var receiverPid in ReceiverPids)
|
foreach (int receiverPid in ReceiverPids)
|
||||||
{
|
{
|
||||||
foreach (var wirelessPid in Detect(receiverPid))
|
foreach (int wirelessPid in Detect(receiverPid))
|
||||||
{
|
{
|
||||||
yield return wirelessPid;
|
yield return wirelessPid;
|
||||||
}
|
}
|
||||||
@ -97,17 +97,17 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
|
|
||||||
private IEnumerable<int> Detect(int pid)
|
private IEnumerable<int> Detect(int pid)
|
||||||
{
|
{
|
||||||
var receiverDevices = DeviceList.Local.GetHidDevices(VendorId, pid);
|
IEnumerable<HidDevice>? receiverDevices = DeviceList.Local.GetHidDevices(VendorId, pid);
|
||||||
var interfaceTwo = receiverDevices.Where(d => d.DevicePath.Contains("mi_02"));
|
IEnumerable<HidDevice>? interfaceTwo = receiverDevices.Where(d => d.DevicePath.Contains("mi_02"));
|
||||||
//this is terrible but i don't know how else to filter interfaces
|
//this is terrible but i don't know how else to filter interfaces
|
||||||
|
|
||||||
Dictionary<byte, HidDevice> deviceUsages = new();
|
Dictionary<byte, HidDevice> deviceUsages = new();
|
||||||
foreach (var item in interfaceTwo)
|
foreach (HidDevice? item in interfaceTwo)
|
||||||
{
|
{
|
||||||
deviceUsages.Add((byte)item.GetUsage(), item);
|
deviceUsages.Add((byte)item.GetUsage(), item);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ((var wirelessPid, var deviceIndex) in GetWirelessDevices(deviceUsages))
|
foreach ((int wirelessPid, byte deviceIndex) in GetWirelessDevices(deviceUsages))
|
||||||
{
|
{
|
||||||
yield return wirelessPid;
|
yield return wirelessPid;
|
||||||
}
|
}
|
||||||
@ -121,13 +121,13 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
|
|
||||||
Dictionary<int, byte> map = new();
|
Dictionary<int, byte> map = new();
|
||||||
|
|
||||||
if (device_usages.TryGetValue(1, out var device))
|
if (device_usages.TryGetValue(1, out HidDevice? device))
|
||||||
{
|
{
|
||||||
var stream = device.Open();
|
HidStream? stream = device.Open();
|
||||||
|
|
||||||
var response = new FapResponse();
|
FapResponse response = new FapResponse();
|
||||||
|
|
||||||
var getConnectedDevices = new FapShortRequest();
|
FapShortRequest getConnectedDevices = new FapShortRequest();
|
||||||
getConnectedDevices.Init(LOGITECH_RECEIVER_ADDRESS, LOGITECH_GET_REGISTER_REQUEST);
|
getConnectedDevices.Init(LOGITECH_RECEIVER_ADDRESS, LOGITECH_GET_REGISTER_REQUEST);
|
||||||
|
|
||||||
stream.Write(getConnectedDevices.AsSpan());
|
stream.Write(getConnectedDevices.AsSpan());
|
||||||
@ -172,7 +172,7 @@ namespace RGB.NET.Devices.Logitech.HID
|
|||||||
|
|
||||||
for (int i = 0; i < deviceCount; i++)
|
for (int i = 0; i < deviceCount; i++)
|
||||||
{
|
{
|
||||||
var devices = new FapResponse();
|
FapResponse devices = new FapResponse();
|
||||||
stream.Read(devices.AsSpan());
|
stream.Read(devices.AsSpan());
|
||||||
int wirelessPid = (devices.Data02 << 8) | devices.Data01;
|
int wirelessPid = (devices.Data02 << 8) | devices.Data01;
|
||||||
if (devices.DeviceIndex != 0xff)
|
if (devices.DeviceIndex != 0xff)
|
||||||
|
|||||||
@ -207,7 +207,7 @@ namespace RGB.NET.Devices.Logitech
|
|||||||
|
|
||||||
IEnumerable<HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)>> wiredPerZoneDevices = PerZoneDeviceDefinitions.GetConnectedDevices().Select(x => x.definition);
|
IEnumerable<HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)>> wiredPerZoneDevices = PerZoneDeviceDefinitions.GetConnectedDevices().Select(x => x.definition);
|
||||||
IEnumerable<HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)>> wirelessPerZoneDevices = PerZoneWirelessDeviceDefinitions.GetConnectedDevices();
|
IEnumerable<HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)>> wirelessPerZoneDevices = PerZoneWirelessDeviceDefinitions.GetConnectedDevices();
|
||||||
var wiredAndWirelessPerZoneDevices = wiredPerZoneDevices.Concat(wirelessPerZoneDevices);
|
IEnumerable<HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)>>? wiredAndWirelessPerZoneDevices = wiredPerZoneDevices.Concat(wirelessPerZoneDevices);
|
||||||
foreach (HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)> definition in wiredAndWirelessPerZoneDevices.GroupBy(x => x.CustomData.deviceType).Select(group => group.First()))
|
foreach (HIDDeviceDefinition<int, (LogitechDeviceType deviceType, int zones)> definition in wiredAndWirelessPerZoneDevices.GroupBy(x => x.CustomData.deviceType).Select(group => group.First()))
|
||||||
{
|
{
|
||||||
LogitechZoneUpdateQueue updateQueue = new(GetUpdateTrigger(), definition.CustomData.deviceType);
|
LogitechZoneUpdateQueue updateQueue = new(GetUpdateTrigger(), definition.CustomData.deviceType);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user