mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-12 17:48: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.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace RGB.NET.Devices.Logitech.HID
|
||||
{
|
||||
@ -18,10 +19,10 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
{
|
||||
try
|
||||
{
|
||||
var descriptor = device.GetRawReportDescriptor();
|
||||
var decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||
var usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||
var usagePage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Global);
|
||||
byte[]? descriptor = device.GetRawReportDescriptor();
|
||||
IEnumerable<EncodedItem>? decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||
IEnumerable<EncodedItem>? usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||
EncodedItem? usagePage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Global);
|
||||
return usagePage.DataValue;
|
||||
}
|
||||
catch
|
||||
@ -34,10 +35,10 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
{
|
||||
try
|
||||
{
|
||||
var descriptor = device.GetRawReportDescriptor();
|
||||
var decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||
var usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||
var usage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Local);
|
||||
byte[]? descriptor = device.GetRawReportDescriptor();
|
||||
IEnumerable<EncodedItem>? decodedItems = EncodedItem.DecodeItems(descriptor, 0, descriptor.Length);
|
||||
IEnumerable<EncodedItem>? usefulItems = decodedItems.Where(de => de.TagForLocal == LocalItemTag.Usage && de.TagForGlobal == GlobalItemTag.UsagePage);
|
||||
EncodedItem? usage = usefulItems.FirstOrDefault(de => de.ItemType == ItemType.Local);
|
||||
return usage.DataValue;
|
||||
}
|
||||
catch
|
||||
|
||||
@ -56,7 +56,7 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
/// <returns>The enumerable containing the connected devices.</returns>
|
||||
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 (LoadFilter.HasFlag(definition.DeviceType))
|
||||
@ -86,9 +86,9 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
|
||||
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;
|
||||
}
|
||||
@ -97,17 +97,17 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
|
||||
private IEnumerable<int> Detect(int pid)
|
||||
{
|
||||
var receiverDevices = DeviceList.Local.GetHidDevices(VendorId, pid);
|
||||
var interfaceTwo = receiverDevices.Where(d => d.DevicePath.Contains("mi_02"));
|
||||
IEnumerable<HidDevice>? receiverDevices = DeviceList.Local.GetHidDevices(VendorId, pid);
|
||||
IEnumerable<HidDevice>? interfaceTwo = receiverDevices.Where(d => d.DevicePath.Contains("mi_02"));
|
||||
//this is terrible but i don't know how else to filter interfaces
|
||||
|
||||
Dictionary<byte, HidDevice> deviceUsages = new();
|
||||
foreach (var item in interfaceTwo)
|
||||
foreach (HidDevice? item in interfaceTwo)
|
||||
{
|
||||
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;
|
||||
}
|
||||
@ -121,13 +121,13 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
|
||||
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);
|
||||
|
||||
stream.Write(getConnectedDevices.AsSpan());
|
||||
@ -172,7 +172,7 @@ namespace RGB.NET.Devices.Logitech.HID
|
||||
|
||||
for (int i = 0; i < deviceCount; i++)
|
||||
{
|
||||
var devices = new FapResponse();
|
||||
FapResponse devices = new FapResponse();
|
||||
stream.Read(devices.AsSpan());
|
||||
int wirelessPid = (devices.Data02 << 8) | devices.Data01;
|
||||
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)>> 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()))
|
||||
{
|
||||
LogitechZoneUpdateQueue updateQueue = new(GetUpdateTrigger(), definition.CustomData.deviceType);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user