From cf1cb4a32906d0603c681eb559fae2f7e5621ab2 Mon Sep 17 00:00:00 2001
From: MegaBytesMe <57240557+megabytesme@users.noreply.github.com>
Date: Wed, 18 Mar 2026 22:31:53 +0000
Subject: [PATCH 1/2] Fix - Updated constructor of LogitechPerKeyRGBDevice to
initialise LED layout (using `AddLed()` with placeholder grid layout) so all
per-key Logitech keyboards report their LEDs.
---
.../PerKey/LogitechPerKeyRGBDevice.cs | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
index edd3d950..b1123648 100644
--- a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
+++ b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
@@ -24,14 +24,25 @@ internal LogitechPerKeyRGBDevice(LogitechRGBDeviceInfo info, IUpdateQueue update
: base(info, updateQueue)
{
this._ledMapping = ledMapping;
+
+ InitializeLayout();
}
#endregion
#region Methods
+ private void InitializeLayout()
+ {
+ foreach ((LedId ledId, LogitechLedId mapping) in _ledMapping)
+ {
+ // TODO: Impove layout (curently places them in a grid)
+ AddLed(ledId, new Point(0, 0), new Size(10, 10));
+ }
+ }
+
///
protected override object GetLedCustomData(LedId ledId) => _ledMapping.TryGetValue(ledId, out LogitechLedId logitechLedId) ? logitechLedId : -1;
-
+
#endregion
}
\ No newline at end of file
From 66597cf1b562680960f14bd6bfa0bc05994288bc Mon Sep 17 00:00:00 2001
From: Ben <57240557+megabytesme@users.noreply.github.com>
Date: Thu, 19 Mar 2026 20:29:36 +0000
Subject: [PATCH 2/2] Apply suggestion from @DarthAffe (add all LEDs in a line
with default key-size of 19mm)
Co-authored-by: DarthAffe
---
RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
index b1123648..843140ae 100644
--- a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
+++ b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
@@ -34,11 +34,10 @@ internal LogitechPerKeyRGBDevice(LogitechRGBDeviceInfo info, IUpdateQueue update
private void InitializeLayout()
{
+ int pos = 0;
+
foreach ((LedId ledId, LogitechLedId mapping) in _ledMapping)
- {
- // TODO: Impove layout (curently places them in a grid)
- AddLed(ledId, new Point(0, 0), new Size(10, 10));
- }
+ AddLed(ledId, new Point(pos++ * 19, 0), new Size(19, 19));
}
///