Skip to content

Commit b8b2343

Browse files
authored
Merge pull request #286 from DarthAffe/ReadMe
ReadMe
2 parents 0e093e1 + 5842922 commit b8b2343

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+461
-427
lines changed

README.md

+76-19
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,87 @@
11
# RGB.NET
2+
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/DarthAffe/RGB.NET?style=for-the-badge)](https://github.com/DarthAffe/RGB.NET/releases)
3+
[![Nuget](https://img.shields.io/nuget/v/RGB.NET.Core?style=for-the-badge)](https://www.nuget.org/packages?q=rgb.net)
4+
[![GitHub](https://img.shields.io/github/license/DarthAffe/RGB.NET?style=for-the-badge)](https://github.com/DarthAffe/RGB.NET/blob/master/LICENSE)
5+
[![GitHub Repo stars](https://img.shields.io/github/stars/DarthAffe/RGB.NET?style=for-the-badge)](https://github.com/DarthAffe/RGB.NET/stargazers)
6+
[![Discord](https://img.shields.io/discord/366163308941934592?logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/9kytURv)
27

3-
This project aims to unify the use of various RGB-devices.
4-
**It is currently under heavy development and will have breaking changes in the future!** Right now a lot of devices aren't working as expected and there are bugs/unfinished features. Please think about that when you consider using the library in this early stage.
5-
6-
If you want to help with layouting/testing devices or if you need support using the library feel free to join the [RGB.NET discord-channel](https://discord.gg/9kytURv).
8+
> **IMPORTANT NOTE**
9+
This is a library to integrate RGB-devices into your own application. It does not contain any executables!
10+
If you're looking for a full blown software solution to manage your RGB-devices, take a look at [Artemis](https://artemis-rgb.com/).
711

12+
## Getting Started
13+
### Setup
14+
1. Add the [RGB.NET.Core](https://www.nuget.org/packages/RGB.NET.Core) and [Devices](https://www.nuget.org/packages?q=rgb.net.Devices)-Nugets for all devices you want to use.
15+
2. For some of the vendors SDK-libraries are needed. Check the contained Readmes for more information in that case.
16+
3. Create a new `RGBSurface`.
17+
```csharp
18+
RGBSurface surface = new RGBSurface();
19+
```
820

9-
## Adding prerelease packages using NuGet ##
10-
This is the easiest and therefore preferred way to include RGB.NET in your project.
21+
4. Initialize the providers for all devices you want to use and add the devices to the surface. For example:
22+
```csharp
23+
CorsairDeviceProvider.Instance.Initialize(throwExceptions: true);
24+
surface.Attach(CorsairDeviceProvider.Instance.Devices);
25+
```
26+
The `Initialize`-method allows to load only devices of specific types by setting a filter and for debugging purposes allows to enable exception throwing. (By default they are catched and provided through the `Exception`-event.)
27+
You can also use the `Load`-Extension on the surface.
28+
```csharp
29+
surface.Load(CorsairDeviceProvider.Instance);
30+
```
31+
> While most device-providers are implemented in a way that supports fast loading like this some may have a different loading procedures. (For example the `WS281XDeviceProvider` requires device-definitions before loading.)
1132
12-
Since there aren't any release-packages right now you'll have to use the CI-feed from [http://nuget.arge.be](http://nuget.arge.be).
13-
You can include it either by adding ```http://nuget.arge.be/v3/index.json``` to your Visual Studio package sources or by adding this [NuGet.Config](https://github.com/DarthAffe/RGB.NET/tree/master/Documentation/NuGet.Config) to your project (at the same level as your solution).
33+
5. Add an update-trigger. In most cases the TimerUpdateTrigger is preferable, but you can also implement your own to fit your needs.
34+
```csharp
35+
surface.RegisterUpdateTrigger(new TimerUpdateTrigger());
36+
```
37+
> If you want to trigger updates manually the `ManualUpdateTrigger` should be used.
1438
15-
### .NET 4.5 Support ###
16-
At the end of the year with the release of .NET 5 the support for old .NET-Framwork versions will be droppped!
17-
It's not recommended to use RGB.NET in projects targeting .NET 4.x that aren't planned to be moved to Core/.NET 5 in the future.
39+
6. *This step is optional but recommended.* For rendering the location of each LED on the surface can be important. Since not all SDKs provide useful layout-information you might want to add Layouts to your devices. (TODO: add wiki article for this)
40+
Same goes for the location of the device on the surface. If you don't care about the exact location of the devices you can use:
41+
```csharp
42+
surface.AlignDevices();
43+
```
1844

45+
The basic setup is now complete and you can start setting up your rendering.
1946

20-
### Device-Layouts
21-
To be able to have devices with correct LED-locations and sizes they need to be layouted. Pre-created layouts can be found at https://github.com/DarthAffe/RGB.NET-Resources.
47+
### Basic Rendering
48+
As an example we'll add a moving rainbow over all devices on the surface.
49+
1. Create a led-group containing all leds on the surface (all devices)
50+
```csharp
51+
ILedGroup allLeds = new ListLedGroup(surface, surface.Leds);
52+
```
2253

23-
If you plan to create layouts for your own devices check out https://github.com/DarthAffe/RGB.NET/wiki/Creating-Layouts first. There's also a layout-editor which strongly simplifies most of the work: https://github.com/SpoinkyNL/RGB.NET-Layout-Editor
54+
2. Create a rainbow-gradient.
55+
```csharp
56+
RainbowGradient rainbow = new RainbowGradient();
57+
```
2458

25-
### Example usage of RGB.NET
26-
[![Example video](https://img.youtube.com/vi/JLRa0Wv4qso/0.jpg)](http://www.youtube.com/watch?v=JLRa0Wv4qso)
59+
3. Add a decorator to the gradient to make it move. (Decorators are
60+
```csharp
61+
rainbow.AddDecorator(new MoveGradientDecorator(surface));
62+
```
2763

28-
#### Example Projects
29-
[https://github.com/DarthAffe/KeyboardAudioVisualizer](https://github.com/DarthAffe/KeyboardAudioVisualizer)
30-
[https://github.com/DarthAffe/RGBSyncPlus](https://github.com/DarthAffe/RGBSyncPlus)
64+
4. Create a texture (the size - in this example 10, 10 - is not important here since the gradient shoukd be stretched anyway)
65+
```csharp
66+
ITexture texture = new ConicalGradientTexture(new Size(10, 10), rainbow);
67+
```
68+
69+
5. Add a brush rendering the texture to the led-group
70+
```csharp
71+
allLeds.Brush = new TextureBrush(texture);
72+
```
73+
74+
### Full example
75+
```csharp
76+
RGBSurface surface = new RGBSurface();
77+
surface.Load(CorsairDeviceProvider.Instance);
78+
surface.AlignDevices();
79+
80+
surface.RegisterUpdateTrigger(new TimerUpdateTrigger());
81+
82+
ILedGroup allLeds = new ListLedGroup(surface, surface.Leds);
83+
RainbowGradient rainbow = new RainbowGradient();
84+
rainbow.AddDecorator(new MoveGradientDecorator(surface));
85+
ITexture texture = new ConicalGradientTexture(new Size(10, 10), rainbow);
86+
allLeds.Brush = new TextureBrush(texture);
87+
```

RGB.NET.Core/README.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Core-Package.
2+
3+
Required to use RGB.NET
4+
5+
## Getting Started
6+
```csharp
7+
// Create a surface - this is where all devices belongs too
8+
RGBSurface surface = new RGBSurface();
9+
10+
// Load your devices - check out the RGB.NET.Devices-packages for more information
11+
// TODO: Load device-providers
12+
13+
// Automatically align devices to not overlap - you can ofc also move them by hand
14+
surface.AlignDevices();
15+
16+
// Register an update-trigger
17+
surface.RegisterUpdateTrigger(new TimerUpdateTrigger());
18+
```
19+
20+
## Basis Rendering
21+
```csharp
22+
// Create a led-group containing all leds on the surface
23+
ILedGroup allLeds = new ListLedGroup(surface, surface.Leds);
24+
25+
// Create a rainbow gradient
26+
RainbowGradient rainbow = new RainbowGradient();
27+
28+
// Animate the gradient to steadily move
29+
rainbow.AddDecorator(new MoveGradientDecorator(surface));
30+
31+
// Create a texture rendering that gradient
32+
ITexture texture = new ConicalGradientTexture(new Size(10, 10), rainbow);
33+
34+
// Create a brush rendering the texture and assign it to the group
35+
allLeds.Brush = new TextureBrush(texture);
36+
```

RGB.NET.Core/RGB.NET.Core.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Core</RootNamespace>
1616
<Description>Core-Module of RGB.NET</Description>
1717
<Summary>Core-Module of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -53,6 +54,7 @@
5354

5455
<ItemGroup>
5556
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
57+
<None Include="README.md" Pack="true" PackagePath="\" />
5658
</ItemGroup>
5759

5860
</Project>

RGB.NET.Devices.Asus/README.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for Asus-Devices.
2+
3+
## Usage
4+
This provider follows the default pattern and does not require additional setup.
5+
6+
```csharp
7+
surface.Load(AsusDeviceProvider.Instance);
8+
```
9+
10+
# Required SDK
11+
This providers requires the `Interop.AuraServiceLib.dll` to be present on the system. Normally this dll is installed with ASUS Aura and registered in the GAC.
12+
There are some known issue with this dll missing and it's recommended to pack it with your application. You can get it from your Aura-Installation or get a copy from [https://redist.arge.be/Asus/Interop.AuraServiceLib.dll](https://redist.arge.be/Asus/Interop.AuraServiceLib.dll).
13+
If packed it has to be located in a spot that your application is loading runtime dlls from.

RGB.NET.Devices.Asus/RGB.NET.Devices.Asus.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Devices.Asus</RootNamespace>
1616
<Description>Asus-Device-Implementations of RGB.NET</Description>
1717
<Summary>Asus-Device-Implementations of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -52,6 +53,7 @@
5253

5354
<ItemGroup>
5455
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
56+
<None Include="README.md" Pack="true" PackagePath="\" />
5557
</ItemGroup>
5658

5759
<ItemGroup>
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for Cooler Master-Devices.
2+
3+
## Usage
4+
This provider follows the default pattern and does not require additional setup.
5+
6+
```csharp
7+
surface.Load(CoolerMasterDeviceProvider.Instance);
8+
```
9+
10+
# Required SDK
11+
This providers requires native SDK-dlls.
12+
You can get them directly from Cooler Master at [https://templates.coolermaster.com/](https://templates.coolermaster.com/) (Direct Link: [https://templates.coolermaster.com/assets/sdk/coolermaster-sdk.zip](https://templates.coolermaster.com/assets/sdk/coolermaster-sdk.zip))
13+
14+
Since the SDK-dlls are native it's important to use the correct architecture you're building your application for. (If in doubt you can always include both.)
15+
16+
### x64
17+
`Src\SDK\x64\SDKDLL.dll` from the SDK-zip needs to be distributed as `<application-directory>\x64\CMSDK.dll`
18+
19+
You can use other, custom paths by adding them to `CoolerMasterDeviceProvider.PossibleX64NativePaths`.
20+
21+
### x86
22+
`Src\SDK\x86\SDKDLL.dll` from the SDK-zip needs to be distributed as `<application-directory>\x86\CMSDK.dll`
23+
24+
You can use other, custom paths by adding them to `CoolerMasterDeviceProvider.PossibleX86NativePaths`.

RGB.NET.Devices.CoolerMaster/RGB.NET.Devices.CoolerMaster.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Devices.CoolerMaster</RootNamespace>
1616
<Description>Cooler Master-Device-Implementations of RGB.NET</Description>
1717
<Summary>Cooler Master-Device-Implementations of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -52,6 +53,7 @@
5253

5354
<ItemGroup>
5455
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
56+
<None Include="README.md" Pack="true" PackagePath="\" />
5557
</ItemGroup>
5658

5759
<ItemGroup>

RGB.NET.Devices.Corsair/README.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for Corsair-Devices.
2+
3+
## Usage
4+
This provider follows the default pattern and does not require additional setup.
5+
6+
```csharp
7+
surface.Load(CorsairDeviceProvider.Instance);
8+
```
9+
10+
# Required SDK
11+
This providers requires native SDK-dlls.
12+
You can get them directly from Corsair at [https://github.com/CorsairOfficial/cue-sdk/releases](https://github.com/CorsairOfficial/cue-sdk/releases)
13+
14+
Since the SDK-dlls are native it's important to use the correct architecture you're building your application for. (If in doubt you can always include both.)
15+
16+
### x64
17+
`redist\x64\CUESDK.x64_2019.dll` from the SDK-zip needs to be distributed as `<application-directory>\x64\CUESDK.x64_2019.dll` (or simply named `CUESDK.dll`)
18+
19+
You can use other, custom paths by adding them to `CorsairDeviceProvider.PossibleX64NativePaths`.
20+
21+
### x86
22+
`redist\i386\CUESDK_2019.dll` from the SDK-zip needs to be distributed as `<application-directory>\x86\CUESDK_2019.dll` (or simply named `CUESDK.dll`)
23+
24+
You can use other, custom paths by adding them to `CorsairDeviceProvider.PossibleX86NativePaths`.

RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Devices.Corsair</RootNamespace>
1616
<Description>Corsair-Device-Implementations of RGB.NET</Description>
1717
<Summary>Corsair-Device-Implementations of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -53,6 +54,7 @@
5354

5455
<ItemGroup>
5556
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
57+
<None Include="README.md" Pack="true" PackagePath="\" />
5658
</ItemGroup>
5759

5860
<ItemGroup>

RGB.NET.Devices.DMX/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for E1.31 DMX-Devices.
2+
3+
## Usage
4+
This provider does not load anything by default and requires additional configuration to work.
5+
6+
```csharp
7+
// Add as many DMX devices as you like
8+
DMXDeviceProvider.Instance.AddDeviceDefinition(new E131DMXDeviceDefinition("<hostname>"));
9+
10+
surface.Load(DMXDeviceProvider.Instance);
11+
```
12+
13+
You can also configure additional things like device names, custom ports, heartbeats and so on in the DeviceDefinition.
14+
15+
# Required SDK
16+
This provider does not require an additional SDK.

RGB.NET.Devices.DMX/RGB.NET.Devices.DMX.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Devices.DMX</RootNamespace>
1616
<Description>DMX-Device-Implementations of RGB.NET</Description>
1717
<Summary>DMX-Device-Implementations of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -52,6 +53,7 @@
5253

5354
<ItemGroup>
5455
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
56+
<None Include="README.md" Pack="true" PackagePath="\" />
5557
</ItemGroup>
5658

5759
<ItemGroup>

RGB.NET.Devices.Debug/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for Debug-Devices.
2+
3+
> This provider is only for debug purposes!
4+
5+
## Usage
6+
This provider does not load anything by default and requires additional configuration to work.
7+
8+
```csharp
9+
// Add as many debug devices as you like
10+
DebugDeviceProvider.Instance.AddFakeDeviceDefinition(DeviceLayout.Load("<Path to layout-file>"));
11+
12+
surface.Load(DebugDeviceProvider.Instance);
13+
```
14+
15+
# Required SDK
16+
This provider does not require an additional SDK.

RGB.NET.Devices.Debug/RGB.NET.Devices.Debug.csproj

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RootNamespace>RGB.NET.Devices.Debug</RootNamespace>
1616
<Description>Debug-Device-Implementations of RGB.NET</Description>
1717
<Summary>Debug-Device-Implementations of RGB.NET, a C# (.NET) library</Summary>
18-
<Copyright>Copyright © Darth Affe 2022</Copyright>
19-
<PackageCopyright>Copyright © Darth Affe 2022</PackageCopyright>
18+
<Copyright>Copyright © Darth Affe 2023</Copyright>
19+
<PackageCopyright>Copyright © Darth Affe 2023</PackageCopyright>
2020
<PackageIcon>icon.png</PackageIcon>
21+
<PackageReadmeFile>README.md</PackageReadmeFile>
2122
<PackageProjectUrl>https://github.com/DarthAffe/RGB.NET</PackageProjectUrl>
2223
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
2324
<RepositoryType>Github</RepositoryType>
@@ -52,6 +53,7 @@
5253

5354
<ItemGroup>
5455
<Content Include="..\Resources\icon.png" Link="icon.png" Pack="true" PackagePath="\" />
56+
<None Include="README.md" Pack="true" PackagePath="\" />
5557
</ItemGroup>
5658

5759
<ItemGroup>

RGB.NET.Devices.Logitech/README.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[RGB.NET](https://github.com/DarthAffe/RGB.NET) Device-Provider-Package for Logitech-Devices.
2+
3+
## Usage
4+
This provider follows the default pattern and does not require additional setup.
5+
6+
```csharp
7+
surface.Load(LogitechDeviceProvider.Instance);
8+
```
9+
10+
Since the logitech SDK does not provide device information only known devices will work.
11+
You can add detection for additional devices by adding entires for them to the respective static `DeviceDefinitions` on the `LogitechDeviceProvider`.
12+
13+
# Required SDK
14+
This providers requires native SDK-dlls.
15+
You can get them directly from Logitech at [https://www.logitechg.com/en-us/innovation/developer-lab.html](https://www.logitechg.com/en-us/innovation/developer-lab.html) (Direct Link: [https://www.logitechg.com/sdk/LED_SDK_9.00.zip](https://www.logitechg.com/sdk/LED_SDK_9.00.zip))
16+
17+
Since the SDK-dlls are native it's important to use the correct architecture you're building your application for. (If in doubt you can always include both.)
18+
19+
### x64
20+
`Lib\LogitechLedEnginesWrapper\x64\LogitechLedEnginesWrapper.dll` from the SDK-zip needs to be distributed as `<application-directory>\x64\LogitechLedEnginesWrapper.dll`
21+
22+
You can use other, custom paths by adding them to `LogitechDeviceProvider.PossibleX64NativePaths`.
23+
24+
### x86
25+
`Lib\LogitechLedEnginesWrapper\x86\LogitechLedEnginesWrapper.dll` from the SDK-zip needs to be distributed as `<application-directory>\x86\LogitechLedEnginesWrapper.dll`
26+
27+
You can use other, custom paths by adding them to `LogitechDeviceProvider.PossibleX86NativePaths`.

0 commit comments

Comments
 (0)