Refactored LedIds

Everything is now based on the same ids for all devices
This commit is contained in:
DarthAffe committed 2017-12-13 17:19:56 +01:00
1 parent 200e471e4d
commit c5a1825f50
80 files changed
+2923 -3657

No files matched your search

@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair
/// <summary>
/// Contains list of all LEDs available for all corsair devices.
/// </summary>
public enum CorsairLedIds
public enum CorsairLedId
{
Invalid = 0,
Escape = 1,
@@ -1,108 +0,0 @@
using System.Diagnostics;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
/// <inheritdoc />
/// <summary>
/// Represents a Id of a <see cref="T:RGB.NET.Core.Led" /> on a <see cref="T:RGB.NET.Devices.Corsair.CorsairRGBDevice" />.
/// </summary>
[DebuggerDisplay("{" + nameof(LedId) + "}")]
public class CorsairLedId : ILedId
{
#region Properties & Fields
internal readonly CorsairLedIds LedId;
/// <inheritdoc />
public IRGBDevice Device { get; }
/// <inheritdoc />
public bool IsValid => LedId != CorsairLedIds.Invalid;
#endregion
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="CorsairLedId"/> class.
/// </summary>
/// <param name="device">The <see cref="IRGBDevice"/> the <see cref="ILedId"/> belongs to.</param>
/// <param name="ledId">The <see cref="CorsairLedId"/> of the represented <see cref="Led"/>.</param>
public CorsairLedId(IRGBDevice device, CorsairLedIds ledId)
{
this.Device = device;
this.LedId = ledId;
}
#endregion
#region Methods
/// <summary>
/// Converts the Id of this <see cref="CorsairLedId"/> to a human-readable string.
/// </summary>
/// <returns>A string that contains the Id of this <see cref="CorsairLedId"/>. For example "Enter".</returns>
public override string ToString()
{
return LedId.ToString();
}
/// <summary>
/// Tests whether the specified object is a <see cref="CorsairLedId" /> and is equivalent to this <see cref="CorsairLedId" />.
/// </summary>
/// <param name="obj">The object to test.</param>
/// <returns><c>true</c> if <paramref name="obj" /> is a <see cref="CorsairLedId" /> equivalent to this <see cref="CorsairLedId" />; otherwise, <c>false</c>.</returns>
public override bool Equals(object obj)
{
CorsairLedId compareLedId = obj as CorsairLedId;
if (ReferenceEquals(compareLedId, null))
return false;
if (ReferenceEquals(this, compareLedId))
return true;
if (GetType() != compareLedId.GetType())
return false;
return compareLedId.LedId == LedId;
}
/// <summary>
/// Returns a hash code for this <see cref="CorsairLedId" />.
/// </summary>
/// <returns>An integer value that specifies the hash code for this <see cref="CorsairLedId" />.</returns>
public override int GetHashCode()
{
return LedId.GetHashCode();
}
#endregion
#region Operators
/// <summary>
/// Returns a value that indicates whether two specified <see cref="CorsairLedId" /> are equal.
/// </summary>
/// <param name="ledId1">The first <see cref="CorsairLedId" /> to compare.</param>
/// <param name="ledId2">The second <see cref="CorsairLedId" /> to compare.</param>
/// <returns><c>true</c> if <paramref name="ledId1" /> and <paramref name="ledId2" /> are equal; otherwise, <c>false</c>.</returns>
public static bool operator ==(CorsairLedId ledId1, CorsairLedId ledId2)
{
return ReferenceEquals(ledId1, null) ? ReferenceEquals(ledId2, null) : ledId1.Equals(ledId2);
}
/// <summary>
/// Returns a value that indicates whether two specified <see cref="CorsairLedId" /> are equal.
/// </summary>
/// <param name="ledId1">The first <see cref="CorsairLedId" /> to compare.</param>
/// <param name="ledId2">The second <see cref="CorsairLedId" /> to compare.</param>
/// <returns><c>true</c> if <paramref name="ledId1" /> and <paramref name="ledId2" /> are not equal; otherwise, <c>false</c>.</returns>
public static bool operator !=(CorsairLedId ledId1, CorsairLedId ledId2)
{
return !(ledId1 == ledId2);
}
#endregion
}
}
@@ -1,10 +1,8 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using RGB.NET.Core;
using RGB.NET.Core.Layout;
using RGB.NET.Devices.Corsair.Native;
namespace RGB.NET.Devices.Corsair
@@ -25,6 +23,24 @@ namespace RGB.NET.Devices.Corsair
/// </summary>
public override TDeviceInfo DeviceInfo { get; }
/// <summary>
/// Gets a dictionary containing all <see cref="Led"/> of the <see cref="CorsairRGBDevice{TDeviceInfo}"/>.
/// </summary>
// ReSharper disable once MemberCanBePrivate.Global
protected Dictionary<CorsairLedId, Led> InternalLedMapping { get; } = new Dictionary<CorsairLedId, Led>();
#endregion
#region Indexer
/// <summary>
/// Gets the <see cref="Led"/> with the specified <see cref="CorsairLedId"/>.
/// </summary>
/// <param name="ledId">The <see cref="CorsairLedId"/> of the <see cref="Led"/> to get.</param>
/// <returns>The <see cref="Led"/> with the specified <see cref="CorsairLedId"/> or null if no <see cref="Led"/> is found.</returns>
// ReSharper disable once MemberCanBePrivate.Global
public Led this[CorsairLedId ledId] => InternalLedMapping.TryGetValue(ledId, out Led led) ? led : null;
#endregion
#region Constructors
@@ -49,6 +65,13 @@ namespace RGB.NET.Devices.Corsair
{
InitializeLayout();
foreach (Led led in LedMapping.Values)
{
CorsairLedId ledId = (CorsairLedId)led.CustomData;
if (ledId != CorsairLedId.Invalid)
InternalLedMapping.Add(ledId, led);
}
if (Size == Size.Invalid)
{
Rectangle ledRectangle = new Rectangle(this.Select(x => x.LedRectangle));
@@ -61,48 +84,10 @@ namespace RGB.NET.Devices.Corsair
/// </summary>
protected abstract void InitializeLayout();
/// <summary>
/// Applies the given layout.
/// </summary>
/// <param name="layoutPath">The file containing the layout.</param>
/// <param name="imageLayout">The name of the layout used to get the images of the leds.</param>
/// <param name="imageBasePath">The path images for this device are collected in.</param>
protected void ApplyLayoutFromFile(string layoutPath, string imageLayout, string imageBasePath)
{
DeviceLayout layout = DeviceLayout.Load(layoutPath);
if (layout != null)
{
LedImageLayout ledImageLayout = layout.LedImageLayouts.FirstOrDefault(x => string.Equals(x.Layout, imageLayout, StringComparison.OrdinalIgnoreCase));
Size = new Size(layout.Width, layout.Height);
if (layout.Leds != null)
foreach (LedLayout layoutLed in layout.Leds)
{
if (Enum.TryParse(layoutLed.Id, true, out CorsairLedIds ledId))
{
if (LedMapping.TryGetValue(new CorsairLedId(this, ledId), out Led led))
{
led.LedRectangle.Location = new Point(layoutLed.X, layoutLed.Y);
led.LedRectangle.Size = new Size(layoutLed.Width, layoutLed.Height);
led.Shape = layoutLed.Shape;
led.ShapeData = layoutLed.ShapeData;
LedImage image = ledImageLayout?.LedImages.FirstOrDefault(x => x.Id == layoutLed.Id);
led.Image = (!string.IsNullOrEmpty(image?.Image))
? new Uri(Path.Combine(imageBasePath, image.Image), UriKind.Absolute)
: new Uri(Path.Combine(imageBasePath, "Missing.png"), UriKind.Absolute);
}
}
}
}
}
/// <inheritdoc />
protected override void UpdateLeds(IEnumerable<Led> ledsToUpdate)
{
List<Led> leds = ledsToUpdate.Where(x => x.Color.A > 0).ToList();
List<Led> leds = ledsToUpdate.Where(x => (x.Color.A > 0) && (x.CustomData is CorsairLedId ledId && (ledId != CorsairLedId.Invalid))).ToList();
if (leds.Count > 0) // CUE seems to crash if 'CorsairSetLedsColors' is called with a zero length array
{
@@ -113,7 +98,7 @@ namespace RGB.NET.Devices.Corsair
{
_CorsairLedColor color = new _CorsairLedColor
{
ledId = (int)((CorsairLedId)led.Id).LedId,
ledId = (int)led.CustomData,
r = led.Color.R,
g = led.Color.G,
b = led.Color.B
@@ -135,7 +120,7 @@ namespace RGB.NET.Devices.Corsair
IntPtr addPtr = new IntPtr(ptr.ToInt64());
foreach (Led led in this)
{
_CorsairLedColor color = new _CorsairLedColor { ledId = (int)((CorsairLedId)led.Id).LedId };
_CorsairLedColor color = new _CorsairLedColor { ledId = (int)led.CustomData };
Marshal.StructureToPtr(color, addPtr, false);
addPtr = new IntPtr(addPtr.ToInt64() + structSize);
}
@@ -145,7 +130,7 @@ namespace RGB.NET.Devices.Corsair
for (int i = 0; i < LedMapping.Count; i++)
{
_CorsairLedColor ledColor = (_CorsairLedColor)Marshal.PtrToStructure(readPtr, typeof(_CorsairLedColor));
LedMapping[new CorsairLedId(this, (CorsairLedIds)ledColor.ledId)].Color = new Color(ledColor.r, ledColor.g, ledColor.b);
this[(CorsairLedId)ledColor.ledId].Color = new Color(ledColor.r, ledColor.g, ledColor.b);
readPtr = new IntPtr(readPtr.ToInt64() + structSize);
}
@@ -29,13 +29,16 @@ namespace RGB.NET.Devices.Corsair
/// <inheritdoc />
protected override void InitializeLayout()
{
InitializeLed(new CorsairLedId(this, CorsairLedIds.LeftLogo), new Rectangle(0, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.RightLogo), new Rectangle(10, 0, 10, 10));
InitializeLed(LedId.Headset1, new Rectangle(0, 0, 10, 10));
InitializeLed(LedId.Headset2, new Rectangle(10, 0, 10, 10));
ApplyLayoutFromFile(PathHelper.GetAbsolutePath($@"Layouts\Corsair\Headsets\{DeviceInfo.Model.Replace(" ", string.Empty).ToUpper()}.xml"),
null, PathHelper.GetAbsolutePath(@"Images\Corsair\Headsets"));
}
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId) => HeadsetIdMapping.DEFAULT.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
#endregion
}
}
@@ -0,0 +1,14 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
internal static class HeadsetIdMapping
{
internal static readonly Dictionary<LedId, CorsairLedId> DEFAULT = new Dictionary<LedId, CorsairLedId>
{
{ LedId.Headset1, CorsairLedId.LeftLogo },
{ LedId.Headset2, CorsairLedId.RightLogo },
};
}
}
@@ -47,14 +47,17 @@ namespace RGB.NET.Devices.Corsair
positions.Add(ledPosition);
}
foreach (_CorsairLedPosition ledPosition in positions.OrderBy(p => p.ledId))
InitializeLed(new CorsairLedId(this, ledPosition.ledId),
new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
Dictionary<CorsairLedId, LedId> mapping = HeadsetStandIdMapping.DEFAULT.SwapKeyValue();
foreach (_CorsairLedPosition ledPosition in positions.OrderBy(p => p.LedId))
InitializeLed(mapping.TryGetValue(ledPosition.LedId, out LedId ledId) ? ledId : LedId.Invalid, new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
ApplyLayoutFromFile(PathHelper.GetAbsolutePath($@"Layouts\Corsair\HeadsetStands\{DeviceInfo.Model.Replace(" ", string.Empty).ToUpper()}.xml"),
null, PathHelper.GetAbsolutePath(@"Images\Corsair\HeadsetStands"));
}
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId) => HeadsetStandIdMapping.DEFAULT.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
#endregion
}
}
@@ -0,0 +1,21 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
internal static class HeadsetStandIdMapping
{
internal static readonly Dictionary<LedId, CorsairLedId> DEFAULT = new Dictionary<LedId, CorsairLedId>
{
{ LedId.HeadsetStand1, CorsairLedId.HeadsetStandZone1 },
{ LedId.HeadsetStand2, CorsairLedId.HeadsetStandZone2 },
{ LedId.HeadsetStand3, CorsairLedId.HeadsetStandZone3 },
{ LedId.HeadsetStand4, CorsairLedId.HeadsetStandZone4 },
{ LedId.HeadsetStand5, CorsairLedId.HeadsetStandZone5 },
{ LedId.HeadsetStand6, CorsairLedId.HeadsetStandZone6 },
{ LedId.HeadsetStand7, CorsairLedId.HeadsetStandZone7 },
{ LedId.HeadsetStand8, CorsairLedId.HeadsetStandZone8 },
{ LedId.HeadsetStand9, CorsairLedId.HeadsetStandZone9 }
};
}
}
@@ -0,0 +1,10 @@
using System.Collections.Generic;
using System.Linq;
namespace RGB.NET.Devices.Corsair
{
internal static class DictionaryExtension
{
public static Dictionary<TValue, TKey> SwapKeyValue<TKey, TValue>(this Dictionary<TKey, TValue> dictionary) => dictionary.ToDictionary(x => x.Value, x => x.Key);
}
}
@@ -2,6 +2,7 @@
// ReSharper disable UnusedMember.Global
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
@@ -38,11 +39,11 @@ namespace RGB.NET.Devices.Corsair
int structSize = Marshal.SizeOf(typeof(_CorsairLedPosition));
IntPtr ptr = nativeLedPositions.pLedPosition;
Dictionary<CorsairLedId, LedId> mapping = KeyboardIdMapping.DEFAULT.SwapKeyValue();
for (int i = 0; i < nativeLedPositions.numberOfLed; i++)
{
_CorsairLedPosition ledPosition = (_CorsairLedPosition)Marshal.PtrToStructure(ptr, typeof(_CorsairLedPosition));
InitializeLed(new CorsairLedId(this, ledPosition.ledId),
new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
InitializeLed(mapping.TryGetValue(ledPosition.LedId, out LedId ledId) ? ledId : LedId.Invalid, new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
ptr = new IntPtr(ptr.ToInt64() + structSize);
}
@@ -53,6 +54,9 @@ namespace RGB.NET.Devices.Corsair
DeviceInfo.LogicalLayout.ToString(), PathHelper.GetAbsolutePath(@"Images\Corsair\Keyboards"));
}
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId) => KeyboardIdMapping.DEFAULT.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
#endregion
}
}
@@ -0,0 +1,158 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
internal static class KeyboardIdMapping
{
internal static readonly Dictionary<LedId, CorsairLedId> DEFAULT = new Dictionary<LedId, CorsairLedId>
{
{ LedId.Invalid, CorsairLedId.Invalid },
{ LedId.Keyboard_Escape, CorsairLedId.Escape },
{ LedId.Keyboard_F1, CorsairLedId.F1 },
{ LedId.Keyboard_F2, CorsairLedId.F2 },
{ LedId.Keyboard_F3, CorsairLedId.F3 },
{ LedId.Keyboard_F4, CorsairLedId.F4 },
{ LedId.Keyboard_F5, CorsairLedId.F5 },
{ LedId.Keyboard_F6, CorsairLedId.F6 },
{ LedId.Keyboard_F7, CorsairLedId.F7 },
{ LedId.Keyboard_F8, CorsairLedId.F8 },
{ LedId.Keyboard_F9, CorsairLedId.F9 },
{ LedId.Keyboard_F10, CorsairLedId.F10 },
{ LedId.Keyboard_F11, CorsairLedId.F11 },
{ LedId.Keyboard_GraveAccentAndTilde, CorsairLedId.GraveAccentAndTilde },
{ LedId.Keyboard_1, CorsairLedId.D1 },
{ LedId.Keyboard_2, CorsairLedId.D2 },
{ LedId.Keyboard_3, CorsairLedId.D3 },
{ LedId.Keyboard_4, CorsairLedId.D4 },
{ LedId.Keyboard_5, CorsairLedId.D5 },
{ LedId.Keyboard_6, CorsairLedId.D6 },
{ LedId.Keyboard_7, CorsairLedId.D7 },
{ LedId.Keyboard_8, CorsairLedId.D8 },
{ LedId.Keyboard_9, CorsairLedId.D9 },
{ LedId.Keyboard_0, CorsairLedId.D0 },
{ LedId.Keyboard_MinusAndUnderscore, CorsairLedId.MinusAndUnderscore },
{ LedId.Keyboard_Tab, CorsairLedId.Tab },
{ LedId.Keyboard_Q, CorsairLedId.Q },
{ LedId.Keyboard_W, CorsairLedId.W },
{ LedId.Keyboard_E, CorsairLedId.E },
{ LedId.Keyboard_R, CorsairLedId.R },
{ LedId.Keyboard_T, CorsairLedId.T },
{ LedId.Keyboard_Y, CorsairLedId.Y },
{ LedId.Keyboard_U, CorsairLedId.U },
{ LedId.Keyboard_I, CorsairLedId.I },
{ LedId.Keyboard_O, CorsairLedId.O },
{ LedId.Keyboard_P, CorsairLedId.P },
{ LedId.Keyboard_BracketLeft, CorsairLedId.BracketLeft },
{ LedId.Keyboard_CapsLock, CorsairLedId.CapsLock },
{ LedId.Keyboard_A, CorsairLedId.A },
{ LedId.Keyboard_S, CorsairLedId.S },
{ LedId.Keyboard_D, CorsairLedId.D },
{ LedId.Keyboard_F, CorsairLedId.F },
{ LedId.Keyboard_G, CorsairLedId.G },
{ LedId.Keyboard_H, CorsairLedId.H },
{ LedId.Keyboard_J, CorsairLedId.J },
{ LedId.Keyboard_K, CorsairLedId.K },
{ LedId.Keyboard_L, CorsairLedId.L },
{ LedId.Keyboard_SemicolonAndColon, CorsairLedId.SemicolonAndColon },
{ LedId.Keyboard_ApostropheAndDoubleQuote, CorsairLedId.ApostropheAndDoubleQuote },
{ LedId.Keyboard_LeftShift, CorsairLedId.LeftShift },
{ LedId.Keyboard_NonUsBackslash, CorsairLedId.NonUsBackslash },
{ LedId.Keyboard_Z, CorsairLedId.Z },
{ LedId.Keyboard_X, CorsairLedId.X },
{ LedId.Keyboard_C, CorsairLedId.C },
{ LedId.Keyboard_V, CorsairLedId.V },
{ LedId.Keyboard_B, CorsairLedId.B },
{ LedId.Keyboard_N, CorsairLedId.N },
{ LedId.Keyboard_M, CorsairLedId.M },
{ LedId.Keyboard_CommaAndLessThan, CorsairLedId.CommaAndLessThan },
{ LedId.Keyboard_PeriodAndBiggerThan, CorsairLedId.PeriodAndBiggerThan },
{ LedId.Keyboard_SlashAndQuestionMark, CorsairLedId.SlashAndQuestionMark },
{ LedId.Keyboard_LeftCtrl, CorsairLedId.LeftCtrl },
{ LedId.Keyboard_LeftGui, CorsairLedId.LeftGui },
{ LedId.Keyboard_LeftAlt, CorsairLedId.LeftAlt },
{ LedId.Keyboard_Lang2, CorsairLedId.Lang2 },
{ LedId.Keyboard_Space, CorsairLedId.Space },
{ LedId.Keyboard_Lang1, CorsairLedId.Lang1 },
{ LedId.Keyboard_International2, CorsairLedId.International2 },
{ LedId.Keyboard_RightAlt, CorsairLedId.RightAlt },
{ LedId.Keyboard_RightGui, CorsairLedId.RightGui },
{ LedId.Keyboard_Application, CorsairLedId.Application },
{ LedId.Keyboard_Brightness, CorsairLedId.Brightness },
{ LedId.Keyboard_F12, CorsairLedId.F12 },
{ LedId.Keyboard_PrintScreen, CorsairLedId.PrintScreen },
{ LedId.Keyboard_ScrollLock, CorsairLedId.ScrollLock },
{ LedId.Keyboard_PauseBreak, CorsairLedId.PauseBreak },
{ LedId.Keyboard_Insert, CorsairLedId.Insert },
{ LedId.Keyboard_Home, CorsairLedId.Home },
{ LedId.Keyboard_PageUp, CorsairLedId.PageUp },
{ LedId.Keyboard_BracketRight, CorsairLedId.BracketRight },
{ LedId.Keyboard_Backslash, CorsairLedId.Backslash },
{ LedId.Keyboard_NonUsTilde, CorsairLedId.NonUsTilde },
{ LedId.Keyboard_Enter, CorsairLedId.Enter },
{ LedId.Keyboard_International1, CorsairLedId.International1 },
{ LedId.Keyboard_EqualsAndPlus, CorsairLedId.EqualsAndPlus },
{ LedId.Keyboard_International3, CorsairLedId.International3 },
{ LedId.Keyboard_Backspace, CorsairLedId.Backspace },
{ LedId.Keyboard_Delete, CorsairLedId.Delete },
{ LedId.Keyboard_End, CorsairLedId.End },
{ LedId.Keyboard_PageDown, CorsairLedId.PageDown },
{ LedId.Keyboard_RightShift, CorsairLedId.RightShift },
{ LedId.Keyboard_RightCtrl, CorsairLedId.RightCtrl },
{ LedId.Keyboard_ArrowUp, CorsairLedId.UpArrow },
{ LedId.Keyboard_ArrowLeft, CorsairLedId.LeftArrow },
{ LedId.Keyboard_ArrowDown, CorsairLedId.DownArrow },
{ LedId.Keyboard_ArrowRight, CorsairLedId.RightArrow },
{ LedId.Keyboard_WinLock, CorsairLedId.WinLock },
{ LedId.Keyboard_MediaMute, CorsairLedId.Mute },
{ LedId.Keyboard_MediaStop, CorsairLedId.Stop },
{ LedId.Keyboard_MediaPreviousTrack, CorsairLedId.ScanPreviousTrack },
{ LedId.Keyboard_MediaPlay, CorsairLedId.PlayPause },
{ LedId.Keyboard_MediaNextTrack, CorsairLedId.ScanNextTrack },
{ LedId.Keyboard_NumLock, CorsairLedId.NumLock },
{ LedId.Keyboard_NumSlash, CorsairLedId.KeypadSlash },
{ LedId.Keyboard_NumAsterisk, CorsairLedId.KeypadAsterisk },
{ LedId.Keyboard_NumMinus, CorsairLedId.KeypadMinus },
{ LedId.Keyboard_NumPlus, CorsairLedId.KeypadPlus },
{ LedId.Keyboard_NumEnter, CorsairLedId.KeypadEnter },
{ LedId.Keyboard_Num7, CorsairLedId.Keypad7 },
{ LedId.Keyboard_Num8, CorsairLedId.Keypad8 },
{ LedId.Keyboard_Num9, CorsairLedId.Keypad9 },
{ LedId.Keyboard_NumComma, CorsairLedId.KeypadComma },
{ LedId.Keyboard_Num4, CorsairLedId.Keypad4 },
{ LedId.Keyboard_Num5, CorsairLedId.Keypad5 },
{ LedId.Keyboard_Num6, CorsairLedId.Keypad6 },
{ LedId.Keyboard_Num1, CorsairLedId.Keypad1 },
{ LedId.Keyboard_Num2, CorsairLedId.Keypad2 },
{ LedId.Keyboard_Num3, CorsairLedId.Keypad3 },
{ LedId.Keyboard_Num0, CorsairLedId.Keypad0 },
{ LedId.Keyboard_NumPeriodAndDelete, CorsairLedId.KeypadPeriodAndDelete },
{ LedId.Keyboard_Programmable1, CorsairLedId.G1 },
{ LedId.Keyboard_Programmable2, CorsairLedId.G2 },
{ LedId.Keyboard_Programmable3, CorsairLedId.G3 },
{ LedId.Keyboard_Programmable4, CorsairLedId.G4 },
{ LedId.Keyboard_Programmable5, CorsairLedId.G5 },
{ LedId.Keyboard_Programmable6, CorsairLedId.G6 },
{ LedId.Keyboard_Programmable7, CorsairLedId.G7 },
{ LedId.Keyboard_Programmable8, CorsairLedId.G8 },
{ LedId.Keyboard_Programmable9, CorsairLedId.G9 },
{ LedId.Keyboard_Programmable10, CorsairLedId.G10 },
{ LedId.Keyboard_MediaVolumeUp, CorsairLedId.VolumeUp },
{ LedId.Keyboard_MediaVolumeDown, CorsairLedId.VolumeDown },
{ LedId.Keyboard_MacroRecording, CorsairLedId.MR },
{ LedId.Keyboard_Macro1, CorsairLedId.M1 },
{ LedId.Keyboard_Macro2, CorsairLedId.M2 },
{ LedId.Keyboard_Macro3, CorsairLedId.M3 },
{ LedId.Keyboard_Programmable11, CorsairLedId.G11 },
{ LedId.Keyboard_Programmable12, CorsairLedId.G12 },
{ LedId.Keyboard_Programmable13, CorsairLedId.G13 },
{ LedId.Keyboard_Programmable14, CorsairLedId.G14 },
{ LedId.Keyboard_Programmable15, CorsairLedId.G15 },
{ LedId.Keyboard_Programmable16, CorsairLedId.G16 },
{ LedId.Keyboard_Programmable17, CorsairLedId.G17 },
{ LedId.Keyboard_Programmable18, CorsairLedId.G18 },
{ LedId.Keyboard_International5, CorsairLedId.International5 },
{ LedId.Keyboard_International4, CorsairLedId.International4 },
};
}
}
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>Corsair K70 RGB - Physical UK</Name>
<Description>Physical UK-Layout of Corsairs K70 RGB (Logical: BE, CH, DE, ES, EU, FR, IT, ND, MEX, RU, UK, US_Int)</Description>
@@ -10,483 +10,483 @@
<Height>165</Height>
<Leds>
<!-- Extra-Keys: Brightness -> Mute -->
<Led Id="Brightness">
<Led Id="Keyboard_Brightness">
<Shape>Circle</Shape>
<X>298</X>
<Y>6</Y>
<Width>10mm</Width>
<Height>10mm</Height>
</Led>
<Led Id="WinLock">
<Led Id="Keyboard_WinLock">
<Shape>Circle</Shape>
<X>+9</X>
<Width>10mm</Width>
<Height>10mm</Height>
</Led>
<Led Id="Mute">
<Led Id="Keyboard_MediaMute">
<X>375</X>
<Y>6</Y>
<Height>12mm</Height>
</Led>
<!-- Esc -> NextTrack -->
<Led Id="Escape">
<Led Id="Keyboard_Escape">
<X>4</X>
<Y>28</Y>
</Led>
<Led Id="F1">
<Led Id="Keyboard_F1">
<X>+12.667</X>
</Led>
<Led Id="F2" />
<Led Id="F3" />
<Led Id="F4" />
<Led Id="Keyboard_F2" />
<Led Id="Keyboard_F3" />
<Led Id="Keyboard_F4" />
<Led Id="F5">
<Led Id="Keyboard_F5">
<X>+12.667</X>
</Led>
<Led Id="F6" />
<Led Id="F7" />
<Led Id="F8" />
<Led Id="Keyboard_F6" />
<Led Id="Keyboard_F7" />
<Led Id="Keyboard_F8" />
<Led Id="F9">
<Led Id="Keyboard_F9">
<X>+12.667</X>
</Led>
<Led Id="F10" />
<Led Id="F11" />
<Led Id="F12" />
<Led Id="Keyboard_F10" />
<Led Id="Keyboard_F11" />
<Led Id="Keyboard_F12" />
<Led Id="PrintScreen">
<Led Id="Keyboard_PrintScreen">
<X>+5</X>
</Led>
<Led Id="ScrollLock" />
<Led Id="PauseBreak" />
<Led Id="Keyboard_ScrollLock" />
<Led Id="Keyboard_PauseBreak" />
<Led Id="Stop">
<Led Id="Keyboard_MediaStop">
<X>+5</X>
<Height>12mm</Height>
</Led>
<Led Id="ScanPreviousTrack">
<Led Id="Keyboard_MediaPreviousTrack">
<Height>12mm</Height>
</Led>
<Led Id="PlayPause">
<Led Id="Keyboard_MediaPlay">
<Height>12mm</Height>
</Led>
<Led Id="ScanNextTrack">
<Led Id="Keyboard_MediaNextTrack">
<Height>12mm</Height>
</Led>
<!-- ^ -> Num- -->
<Led Id="GraveAccentAndTilde">
<Led Id="Keyboard_GraveAccentAndTilde">
<X>4</X>
<Y>49</Y>
</Led>
<Led Id="D1" />
<Led Id="D2" />
<Led Id="D3" />
<Led Id="D4" />
<Led Id="D5" />
<Led Id="D6" />
<Led Id="D7" />
<Led Id="D8" />
<Led Id="D9" />
<Led Id="D0" />
<Led Id="MinusAndUnderscore" />
<Led Id="EqualsAndPlus" />
<Led Id="Backspace">
<Led Id="Keyboard_1" />
<Led Id="Keyboard_2" />
<Led Id="Keyboard_3" />
<Led Id="Keyboard_4" />
<Led Id="Keyboard_5" />
<Led Id="Keyboard_6" />
<Led Id="Keyboard_7" />
<Led Id="Keyboard_8" />
<Led Id="Keyboard_9" />
<Led Id="Keyboard_0" />
<Led Id="Keyboard_MinusAndUnderscore" />
<Led Id="Keyboard_EqualsAndPlus" />
<Led Id="Keyboard_Backspace">
<Width>2</Width>
</Led>
<Led Id="Insert">
<Led Id="Keyboard_Insert">
<X>+5</X>
</Led>
<Led Id="Home" />
<Led Id="PageUp" />
<Led Id="Keyboard_Home" />
<Led Id="Keyboard_PageUp" />
<Led Id="NumLock">
<Led Id="Keyboard_NumLock">
<X>+5</X>
</Led>
<Led Id="KeypadSlash" />
<Led Id="KeypadAsterisk" />
<Led Id="KeypadMinus" />
<Led Id="Keyboard_NumSlash" />
<Led Id="Keyboard_NumAsterisk" />
<Led Id="Keyboard_NumMinus" />
<!-- Tab -> Num+ -->
<Led Id="Tab">
<Led Id="Keyboard_Tab">
<X>4</X>
<Y>+</Y>
<Width>1.5</Width>
</Led>
<Led Id="Q" />
<Led Id="W" />
<Led Id="E" />
<Led Id="R" />
<Led Id="T" />
<Led Id="Y" />
<Led Id="U" />
<Led Id="I" />
<Led Id="O" />
<Led Id="P" />
<Led Id="BracketLeft" />
<Led Id="BracketRight" />
<Led Id="Enter">
<Led Id="Keyboard_Q" />
<Led Id="Keyboard_W" />
<Led Id="Keyboard_E" />
<Led Id="Keyboard_R" />
<Led Id="Keyboard_T" />
<Led Id="Keyboard_Y" />
<Led Id="Keyboard_U" />
<Led Id="Keyboard_I" />
<Led Id="Keyboard_O" />
<Led Id="Keyboard_P" />
<Led Id="Keyboard_BracketLeft" />
<Led Id="Keyboard_BracketRight" />
<Led Id="Keyboard_Enter">
<Shape>M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z</Shape>
<Width>1.5</Width>
<Height>2</Height>
</Led>
<Led Id="Delete">
<Led Id="Keyboard_Delete">
<X>+5</X>
</Led>
<Led Id="End" />
<Led Id="PageDown" />
<Led Id="Keyboard_End" />
<Led Id="Keyboard_PageDown" />
<Led Id="Keypad7">
<Led Id="Keyboard_Num7">
<X>+5</X>
</Led>
<Led Id="Keypad8" />
<Led Id="Keypad9" />
<Led Id="KeypadPlus">
<Led Id="Keyboard_Num8" />
<Led Id="Keyboard_Num9" />
<Led Id="Keyboard_NumPlus">
<Height>2</Height>
</Led>
<!-- CapsLock -> Num6 -->
<Led Id="CapsLock">
<Led Id="Keyboard_CapsLock">
<X>4</X>
<Y>~</Y>
<Width>1.75</Width>
</Led>
<Led Id="A" />
<Led Id="S" />
<Led Id="D" />
<Led Id="F" />
<Led Id="G" />
<Led Id="H" />
<Led Id="J" />
<Led Id="K" />
<Led Id="L" />
<Led Id="SemicolonAndColon" />
<Led Id="ApostropheAndDoubleQuote" />
<Led Id="NonUsTilde" />
<Led Id="Keyboard_A" />
<Led Id="Keyboard_S" />
<Led Id="Keyboard_D" />
<Led Id="Keyboard_F" />
<Led Id="Keyboard_G" />
<Led Id="Keyboard_H" />
<Led Id="Keyboard_J" />
<Led Id="Keyboard_K" />
<Led Id="Keyboard_L" />
<Led Id="Keyboard_SemicolonAndColon" />
<Led Id="Keyboard_ApostropheAndDoubleQuote" />
<Led Id="Keyboard_NonUsTilde" />
<Led Id="Keypad4">
<Led Id="Keyboard_Num4">
<X>+90.75</X>
</Led>
<Led Id="Keypad5" />
<Led Id="Keypad6" />
<Led Id="Keyboard_Num5" />
<Led Id="Keyboard_Num6" />
<!-- LShift -> NumEnter -->
<Led Id="LeftShift">
<Led Id="Keyboard_LeftShift">
<X>4</X>
<Y>+</Y>
<Width>1.25</Width>
</Led>
<Led Id="NonUsBackslash" />
<Led Id="Z" />
<Led Id="X" />
<Led Id="C" />
<Led Id="V" />
<Led Id="B" />
<Led Id="N" />
<Led Id="M" />
<Led Id="CommaAndLessThan" />
<Led Id="PeriodAndBiggerThan" />
<Led Id="SlashAndQuestionMark" />
<Led Id="RightShift">
<Led Id="Keyboard_NonUsBackslash" />
<Led Id="Keyboard_Z" />
<Led Id="Keyboard_X" />
<Led Id="Keyboard_C" />
<Led Id="Keyboard_V" />
<Led Id="Keyboard_B" />
<Led Id="Keyboard_N" />
<Led Id="Keyboard_M" />
<Led Id="Keyboard_CommaAndLessThan" />
<Led Id="Keyboard_PeriodAndBiggerThan" />
<Led Id="Keyboard_SlashAndQuestionMark" />
<Led Id="Keyboard_RightShift">
<Width>2.75</Width>
</Led>
<Led Id="UpArrow">
<Led Id="Keyboard_ArrowUp">
<X>+24</X>
</Led>
<Led Id="Keypad1">
<Led Id="Keyboard_Num1">
<X>+24</X>
</Led>
<Led Id="Keypad2" />
<Led Id="Keypad3" />
<Led Id="KeypadEnter">
<Led Id="Keyboard_Num2" />
<Led Id="Keyboard_Num3" />
<Led Id="Keyboard_NumEnter">
<Height>2</Height>
</Led>
<!-- LCtrl -> NumPeriod -->
<Led Id="LeftCtrl">
<Led Id="Keyboard_LeftCtrl">
<X>4</X>
<Y>~</Y>
<Width>1.5</Width>
</Led>
<Led Id="LeftGui" />
<Led Id="LeftAlt">
<Led Id="Keyboard_LeftGui" />
<Led Id="Keyboard_LeftAlt">
<Width>1.25</Width>
</Led>
<Led Id="Space">
<Led Id="Keyboard_Space">
<Width>6.5</Width>
</Led>
<Led Id="RightAlt">
<Led Id="Keyboard_RightAlt">
<Width>1.25</Width>
</Led>
<Led Id="RightGui" />
<Led Id="Application" />
<Led Id="RightCtrl">
<Led Id="Keyboard_RightGui" />
<Led Id="Keyboard_Application" />
<Led Id="Keyboard_RightCtrl">
<Width>1.5</Width>
</Led>
<Led Id="LeftArrow">
<Led Id="Keyboard_ArrowLeft">
<X>+5</X>
</Led>
<Led Id="DownArrow" />
<Led Id="RightArrow" />
<Led Id="Keyboard_ArrowDown" />
<Led Id="Keyboard_ArrowRight" />
<Led Id="Keypad0">
<Led Id="Keyboard_Num0">
<X>+5</X>
<Width>2</Width>
</Led>
<Led Id="KeypadPeriodAndDelete" />
<Led Id="Keyboard_NumPeriodAndDelete" />
</Leds>
<LedImageLayouts>
<LedImageLayout Layout="DE">
<LedImages>
<LedImage Id="Brightness" Image="K_Keys\Brightness.png" />
<LedImage Id="WinLock" Image="K_Keys\WinLock.png" />
<LedImage Id="Mute" Image="K_Keys\Mute.png" />
<LedImage Id="Keyboard_Brightness" Image="K_Keys\Brightness.png" />
<LedImage Id="Keyboard_WinLock" Image="K_Keys\WinLock.png" />
<LedImage Id="Keyboard_MediaMute" Image="K_Keys\Mute.png" />
<LedImage Id="Escape" Image="K_Keys\Escape.png" />
<LedImage Id="F1" Image="K_Keys\F1.png" />
<LedImage Id="F2" Image="K_Keys\F2.png" />
<LedImage Id="F3" Image="K_Keys\F3.png" />
<LedImage Id="F4" Image="K_Keys\F4.png" />
<LedImage Id="F5" Image="K_Keys\F5.png" />
<LedImage Id="F6" Image="K_Keys\F6.png" />
<LedImage Id="F7" Image="K_Keys\F7.png" />
<LedImage Id="F8" Image="K_Keys\F8.png" />
<LedImage Id="F9" Image="K_Keys\F9.png" />
<LedImage Id="F10" Image="K_Keys\F10.png" />
<LedImage Id="F11" Image="K_Keys\F11.png" />
<LedImage Id="F12" Image="K_Keys\F12.png" />
<LedImage Id="PrintScreen" Image="K_Keys\Drucken.png" />
<LedImage Id="ScrollLock" Image="K_Keys\Rollen.png" />
<LedImage Id="PauseBreak" Image="K_Keys\PauseUntbr.png" />
<LedImage Id="Stop" Image="K_Keys\Stop.png" />
<LedImage Id="ScanPreviousTrack" Image="K_Keys\PreviousTrack.png" />
<LedImage Id="PlayPause" Image="K_Keys\PlayPause.png" />
<LedImage Id="ScanNextTrack" Image="K_Keys\NextTrack.png" />
<LedImage Id="Keyboard_Escape" Image="K_Keys\Escape.png" />
<LedImage Id="Keyboard_F1" Image="K_Keys\F1.png" />
<LedImage Id="Keyboard_F2" Image="K_Keys\F2.png" />
<LedImage Id="Keyboard_F3" Image="K_Keys\F3.png" />
<LedImage Id="Keyboard_F4" Image="K_Keys\F4.png" />
<LedImage Id="Keyboard_F5" Image="K_Keys\F5.png" />
<LedImage Id="Keyboard_F6" Image="K_Keys\F6.png" />
<LedImage Id="Keyboard_F7" Image="K_Keys\F7.png" />
<LedImage Id="Keyboard_F8" Image="K_Keys\F8.png" />
<LedImage Id="Keyboard_F9" Image="K_Keys\F9.png" />
<LedImage Id="Keyboard_F10" Image="K_Keys\F10.png" />
<LedImage Id="Keyboard_F11" Image="K_Keys\F11.png" />
<LedImage Id="Keyboard_F12" Image="K_Keys\F12.png" />
<LedImage Id="Keyboard_PrintScreen" Image="K_Keys\Drucken.png" />
<LedImage Id="Keyboard_ScrollLock" Image="K_Keys\Rollen.png" />
<LedImage Id="Keyboard_PauseBreak" Image="K_Keys\PauseUntbr.png" />
<LedImage Id="Keyboard_MediaStop" Image="K_Keys\Stop.png" />
<LedImage Id="Keyboard_MediaPreviousTrack" Image="K_Keys\PreviousTrack.png" />
<LedImage Id="Keyboard_MediaPlay" Image="K_Keys\PlayPause.png" />
<LedImage Id="Keyboard_MediaNextTrack" Image="K_Keys\NextTrack.png" />
<LedImage Id="GraveAccentAndTilde" Image="K_Keys\Circumflex_Degree.png" />
<LedImage Id="D1" Image="K_Keys\1_ExclamationMark.png" />
<LedImage Id="D2" Image="K_Keys\2_QuotationMark_Exponent2.png" />
<LedImage Id="D3" Image="K_Keys\3_SectionSign_Exponent3.png" />
<LedImage Id="D4" Image="K_Keys\4_Dollar.png" />
<LedImage Id="D5" Image="K_Keys\5_Percent.png" />
<LedImage Id="D6" Image="K_Keys\6_Ampersand.png" />
<LedImage Id="D7" Image="K_Keys\7_Slash_CurlyBracketLeft.png" />
<LedImage Id="D8" Image="K_Keys\8_BracketLeft_SquareBracketLeft.png" />
<LedImage Id="D9" Image="K_Keys\9_BracketRight_SquareBracketRight.png" />
<LedImage Id="D0" Image="K_Keys\0_Equals_CurlyBracketRight.png" />
<LedImage Id="MinusAndUnderscore" Image="K_Keys\QuestionMark_SharpS_Backslash.png" />
<LedImage Id="EqualsAndPlus" Image="K_Keys\AccentGrave_AccentAcute.png" />
<LedImage Id="Backspace" Image="K_Keys\Backspace.png" />
<LedImage Id="Insert" Image="K_Keys\Einfg.png" />
<LedImage Id="Home" Image="K_Keys\Pos1.png" />
<LedImage Id="PageUp" Image="K_Keys\BildUp.png" />
<LedImage Id="NumLock" Image="K_Keys\Num.png" />
<LedImage Id="KeypadSlash" Image="K_Keys\Slash.png" />
<LedImage Id="KeypadAsterisk" Image="K_Keys\Asterisk.png" />
<LedImage Id="KeypadMinus" Image="K_Keys\Minus.png" />
<LedImage Id="Keyboard_GraveAccentAndTilde" Image="K_Keys\Circumflex_Degree.png" />
<LedImage Id="Keyboard_1" Image="K_Keys\1_ExclamationMark.png" />
<LedImage Id="Keyboard_2" Image="K_Keys\2_QuotationMark_Exponent2.png" />
<LedImage Id="Keyboard_3" Image="K_Keys\3_SectionSign_Exponent3.png" />
<LedImage Id="Keyboard_4" Image="K_Keys\4_Dollar.png" />
<LedImage Id="Keyboard_5" Image="K_Keys\5_Percent.png" />
<LedImage Id="Keyboard_6" Image="K_Keys\6_Ampersand.png" />
<LedImage Id="Keyboard_7" Image="K_Keys\7_Slash_CurlyBracketLeft.png" />
<LedImage Id="Keyboard_8" Image="K_Keys\8_BracketLeft_SquareBracketLeft.png" />
<LedImage Id="Keyboard_9" Image="K_Keys\9_BracketRight_SquareBracketRight.png" />
<LedImage Id="Keyboard_0" Image="K_Keys\0_Equals_CurlyBracketRight.png" />
<LedImage Id="Keyboard_MinusAndUnderscore" Image="K_Keys\QuestionMark_SharpS_Backslash.png" />
<LedImage Id="Keyboard_EqualsAndPlus" Image="K_Keys\AccentGrave_AccentAcute.png" />
<LedImage Id="Keyboard_Backspace" Image="K_Keys\Backspace.png" />
<LedImage Id="Keyboard_Insert" Image="K_Keys\Einfg.png" />
<LedImage Id="Keyboard_Home" Image="K_Keys\Pos1.png" />
<LedImage Id="Keyboard_PageUp" Image="K_Keys\BildUp.png" />
<LedImage Id="Keyboard_NumLock" Image="K_Keys\Num.png" />
<LedImage Id="Keyboard_NumSlash" Image="K_Keys\Slash.png" />
<LedImage Id="Keyboard_NumAsterisk" Image="K_Keys\Asterisk.png" />
<LedImage Id="Keyboard_NumMinus" Image="K_Keys\Minus.png" />
<LedImage Id="Tab" Image="K_Keys\Tab.png" />
<LedImage Id="Q" Image="K_Keys\Q_At.png" />
<LedImage Id="W" Image="K_Keys\W.png" />
<LedImage Id="E" Image="K_Keys\E_Euro.png" />
<LedImage Id="R" Image="K_Keys\R.png" />
<LedImage Id="T" Image="K_Keys\T.png" />
<LedImage Id="Y" Image="K_Keys\Z.png" />
<LedImage Id="U" Image="K_Keys\U.png" />
<LedImage Id="I" Image="K_Keys\I.png" />
<LedImage Id="O" Image="K_Keys\O.png" />
<LedImage Id="P" Image="K_Keys\P.png" />
<LedImage Id="BracketLeft" Image="K_Keys\UE.png" />
<LedImage Id="BracketRight" Image="K_Keys\Plus_Asterisk_Tilde.png" />
<LedImage Id="Enter" Image="K_Keys\Enter.png" />
<LedImage Id="Delete" Image="K_Keys\Entf.png" />
<LedImage Id="End" Image="K_Keys\Ende.png" />
<LedImage Id="PageDown" Image="K_Keys\BildDown.png" />
<LedImage Id="Keypad7" Image="K_Keys\Num7_Pos1.png" />
<LedImage Id="Keypad8" Image="K_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keypad9" Image="K_Keys\Num9_BildUp.png" />
<LedImage Id="KeypadPlus" Image="K_Keys\NumPlus.png" />
<LedImage Id="Keyboard_Tab" Image="K_Keys\Tab.png" />
<LedImage Id="Keyboard_Q" Image="K_Keys\Q_At.png" />
<LedImage Id="Keyboard_W" Image="K_Keys\W.png" />
<LedImage Id="Keyboard_E" Image="K_Keys\E_Euro.png" />
<LedImage Id="Keyboard_R" Image="K_Keys\R.png" />
<LedImage Id="Keyboard_T" Image="K_Keys\T.png" />
<LedImage Id="Keyboard_Y" Image="K_Keys\Z.png" />
<LedImage Id="Keyboard_U" Image="K_Keys\U.png" />
<LedImage Id="Keyboard_I" Image="K_Keys\I.png" />
<LedImage Id="Keyboard_O" Image="K_Keys\O.png" />
<LedImage Id="Keyboard_P" Image="K_Keys\P.png" />
<LedImage Id="Keyboard_BracketLeft" Image="K_Keys\UE.png" />
<LedImage Id="Keyboard_BracketRight" Image="K_Keys\Plus_Asterisk_Tilde.png" />
<LedImage Id="Keyboard_Enter" Image="K_Keys\Enter.png" />
<LedImage Id="Keyboard_Delete" Image="K_Keys\Entf.png" />
<LedImage Id="Keyboard_End" Image="K_Keys\Ende.png" />
<LedImage Id="Keyboard_PageDown" Image="K_Keys\BildDown.png" />
<LedImage Id="Keyboard_Num7" Image="K_Keys\Num7_Pos1.png" />
<LedImage Id="Keyboard_Num8" Image="K_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keyboard_Num9" Image="K_Keys\Num9_BildUp.png" />
<LedImage Id="Keyboard_NumPlus" Image="K_Keys\NumPlus.png" />
<LedImage Id="CapsLock" Image="K_Keys\CapsLock.png" />
<LedImage Id="A" Image="K_Keys\A.png" />
<LedImage Id="S" Image="K_Keys\S.png" />
<LedImage Id="D" Image="K_Keys\D.png" />
<LedImage Id="F" Image="K_Keys\F.png" />
<LedImage Id="G" Image="K_Keys\G.png" />
<LedImage Id="H" Image="K_Keys\H.png" />
<LedImage Id="J" Image="K_Keys\J.png" />
<LedImage Id="K" Image="K_Keys\K.png" />
<LedImage Id="L" Image="K_Keys\L.png" />
<LedImage Id="SemicolonAndColon" Image="K_Keys\OE.png" />
<LedImage Id="ApostropheAndDoubleQuote" Image="K_Keys\AE.png" />
<LedImage Id="NonUsTilde" Image="K_Keys\Hash_Apostrophe.png" />
<LedImage Id="Keypad4" Image="K_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keypad5" Image="K_Keys\Num5.png" />
<LedImage Id="Keypad6" Image="K_Keys\Num6_ArrowRight.png" />
<LedImage Id="Keyboard_CapsLock" Image="K_Keys\CapsLock.png" />
<LedImage Id="Keyboard_A" Image="K_Keys\A.png" />
<LedImage Id="Keyboard_S" Image="K_Keys\S.png" />
<LedImage Id="Keyboard_D" Image="K_Keys\D.png" />
<LedImage Id="Keyboard_F" Image="K_Keys\F.png" />
<LedImage Id="Keyboard_G" Image="K_Keys\G.png" />
<LedImage Id="Keyboard_H" Image="K_Keys\H.png" />
<LedImage Id="Keyboard_J" Image="K_Keys\J.png" />
<LedImage Id="Keyboard_K" Image="K_Keys\K.png" />
<LedImage Id="Keyboard_L" Image="K_Keys\L.png" />
<LedImage Id="Keyboard_SemicolonAndColon" Image="K_Keys\OE.png" />
<LedImage Id="Keyboard_ApostropheAndDoubleQuote" Image="K_Keys\AE.png" />
<LedImage Id="Keyboard_NonUsTilde" Image="K_Keys\Hash_Apostrophe.png" />
<LedImage Id="Keyboard_Num4" Image="K_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keyboard_Num5" Image="K_Keys\Num5.png" />
<LedImage Id="Keyboard_Num6" Image="K_Keys\Num6_ArrowRight.png" />
<LedImage Id="LeftShift" Image="K_Keys\Shift.png" />
<LedImage Id="NonUsBackslash" Image="K_Keys\LessThan_GreaterThan_Pipe.png" />
<LedImage Id="Z" Image="K_Keys\Y.png" />
<LedImage Id="X" Image="K_Keys\X.png" />
<LedImage Id="C" Image="K_Keys\C.png" />
<LedImage Id="V" Image="K_Keys\V.png" />
<LedImage Id="B" Image="K_Keys\B.png" />
<LedImage Id="N" Image="K_Keys\N.png" />
<LedImage Id="M" Image="K_Keys\M_Mu.png" />
<LedImage Id="CommaAndLessThan" Image="K_Keys\Comma_Semicolon.png" />
<LedImage Id="PeriodAndBiggerThan" Image="K_Keys\Dot_Colon.png" />
<LedImage Id="SlashAndQuestionMark" Image="K_Keys\Hyphen_Underscore.png" />
<LedImage Id="RightShift" Image="K_Keys\ShiftBig.png" />
<LedImage Id="UpArrow" Image="K_Keys\CaretUp.png" />
<LedImage Id="Keypad1" Image="K_Keys\Num1_Ende.png" />
<LedImage Id="Keypad2" Image="K_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keypad3" Image="K_Keys\Num3_BildDown.png" />
<LedImage Id="KeypadEnter" Image="K_Keys\NumEnter.png" />
<LedImage Id="Keyboard_LeftShift" Image="K_Keys\Shift.png" />
<LedImage Id="Keyboard_NonUsBackslash" Image="K_Keys\LessThan_GreaterThan_Pipe.png" />
<LedImage Id="Keyboard_Z" Image="K_Keys\Y.png" />
<LedImage Id="Keyboard_X" Image="K_Keys\X.png" />
<LedImage Id="Keyboard_C" Image="K_Keys\C.png" />
<LedImage Id="Keyboard_V" Image="K_Keys\V.png" />
<LedImage Id="Keyboard_B" Image="K_Keys\B.png" />
<LedImage Id="Keyboard_N" Image="K_Keys\N.png" />
<LedImage Id="Keyboard_M" Image="K_Keys\M_Mu.png" />
<LedImage Id="Keyboard_CommaAndLessThan" Image="K_Keys\Comma_Semicolon.png" />
<LedImage Id="Keyboard_PeriodAndBiggerThan" Image="K_Keys\Dot_Colon.png" />
<LedImage Id="Keyboard_SlashAndQuestionMark" Image="K_Keys\Hyphen_Underscore.png" />
<LedImage Id="Keyboard_RightShift" Image="K_Keys\ShiftBig.png" />
<LedImage Id="Keyboard_ArrowUp" Image="K_Keys\CaretUp.png" />
<LedImage Id="Keyboard_Num1" Image="K_Keys\Num1_Ende.png" />
<LedImage Id="Keyboard_Num2" Image="K_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keyboard_Num3" Image="K_Keys\Num3_BildDown.png" />
<LedImage Id="Keyboard_NumEnter" Image="K_Keys\NumEnter.png" />
<LedImage Id="LeftCtrl" Image="K_Keys\Strg.png" />
<LedImage Id="LeftGui" Image="K_Keys\Windows.png" />
<LedImage Id="LeftAlt" Image="K_Keys\Alt.png" />
<LedImage Id="Space" Image="K_Keys\Space.png" />
<LedImage Id="RightAlt" Image="K_Keys\AltGr.png" />
<LedImage Id="RightGui" Image="K_Keys\Windows.png" />
<LedImage Id="Application" Image="K_Keys\Menu.png" />
<LedImage Id="RightCtrl" Image="K_Keys\Strg.png" />
<LedImage Id="LeftArrow" Image="K_Keys\CaretLeft.png" />
<LedImage Id="DownArrow" Image="K_Keys\CaretDown.png" />
<LedImage Id="RightArrow" Image="K_Keys\CaretRight.png" />
<LedImage Id="Keypad0" Image="K_Keys\Num0_Einfg.png" />
<LedImage Id="KeypadPeriodAndDelete" Image="K_Keys\Comma_Entf.png" />
<LedImage Id="Keyboard_LeftCtrl" Image="K_Keys\Strg.png" />
<LedImage Id="Keyboard_LeftGui" Image="K_Keys\Windows.png" />
<LedImage Id="Keyboard_LeftAlt" Image="K_Keys\Alt.png" />
<LedImage Id="Keyboard_Space" Image="K_Keys\Space.png" />
<LedImage Id="Keyboard_RightAlt" Image="K_Keys\AltGr.png" />
<LedImage Id="Keyboard_RightGui" Image="K_Keys\Windows.png" />
<LedImage Id="Keyboard_Application" Image="K_Keys\Menu.png" />
<LedImage Id="Keyboard_RightCtrl" Image="K_Keys\Strg.png" />
<LedImage Id="Keyboard_ArrowLeft" Image="K_Keys\CaretLeft.png" />
<LedImage Id="Keyboard_ArrowDown" Image="K_Keys\CaretDown.png" />
<LedImage Id="Keyboard_ArrowRight" Image="K_Keys\CaretRight.png" />
<LedImage Id="Keyboard_Num0" Image="K_Keys\Num0_Einfg.png" />
<LedImage Id="Keyboard_NumPeriodAndDelete" Image="K_Keys\Comma_Entf.png" />
</LedImages>
</LedImageLayout>
<LedImageLayout Layout="EU">
<LedImages>
<LedImage Id="Brightness" Image="K_Keys\Brightness.png" />
<LedImage Id="WinLock" Image="K_Keys\WinLock.png" />
<LedImage Id="Mute" Image="K_Keys\Mute.png" />
<LedImage Id="Keyboard_Brightness" Image="K_Keys\Brightness.png" />
<LedImage Id="Keyboard_WinLock" Image="K_Keys\WinLock.png" />
<LedImage Id="Keyboard_MediaMute" Image="K_Keys\Mute.png" />
<LedImage Id="Escape" Image="K_Keys\Escape.png" />
<LedImage Id="F1" Image="K_Keys\F1.png" />
<LedImage Id="F2" Image="K_Keys\F2.png" />
<LedImage Id="F3" Image="K_Keys\F3.png" />
<LedImage Id="F4" Image="K_Keys\F4.png" />
<LedImage Id="F5" Image="K_Keys\F5.png" />
<LedImage Id="F6" Image="K_Keys\F6.png" />
<LedImage Id="F7" Image="K_Keys\F7.png" />
<LedImage Id="F8" Image="K_Keys\F8.png" />
<LedImage Id="F9" Image="K_Keys\F9.png" />
<LedImage Id="F10" Image="K_Keys\F10.png" />
<LedImage Id="F11" Image="K_Keys\F11.png" />
<LedImage Id="F12" Image="K_Keys\F12.png" />
<LedImage Id="PrintScreen" Image="K_Keys\PrtScnSysRq.png" />
<LedImage Id="ScrollLock" Image="K_Keys\ScrollLock.png" />
<LedImage Id="PauseBreak" Image="K_Keys\PauseBreak.png" />
<LedImage Id="Stop" Image="K_Keys\Stop.png" />
<LedImage Id="ScanPreviousTrack" Image="K_Keys\PreviousTrack.png" />
<LedImage Id="PlayPause" Image="K_Keys\PlayPause.png" />
<LedImage Id="ScanNextTrack" Image="K_Keys\NextTrack.png" />
<LedImage Id="Keyboard_Escape" Image="K_Keys\Escape.png" />
<LedImage Id="Keyboard_F1" Image="K_Keys\F1.png" />
<LedImage Id="Keyboard_F2" Image="K_Keys\F2.png" />
<LedImage Id="Keyboard_F3" Image="K_Keys\F3.png" />
<LedImage Id="Keyboard_F4" Image="K_Keys\F4.png" />
<LedImage Id="Keyboard_F5" Image="K_Keys\F5.png" />
<LedImage Id="Keyboard_F6" Image="K_Keys\F6.png" />
<LedImage Id="Keyboard_F7" Image="K_Keys\F7.png" />
<LedImage Id="Keyboard_F8" Image="K_Keys\F8.png" />
<LedImage Id="Keyboard_F9" Image="K_Keys\F9.png" />
<LedImage Id="Keyboard_F10" Image="K_Keys\F10.png" />
<LedImage Id="Keyboard_F11" Image="K_Keys\F11.png" />
<LedImage Id="Keyboard_F12" Image="K_Keys\F12.png" />
<LedImage Id="Keyboard_PrintScreen" Image="K_Keys\PrtScnSysRq.png" />
<LedImage Id="Keyboard_ScrollLock" Image="K_Keys\ScrollLock.png" />
<LedImage Id="Keyboard_PauseBreak" Image="K_Keys\PauseBreak.png" />
<LedImage Id="Keyboard_MediaStop" Image="K_Keys\Stop.png" />
<LedImage Id="Keyboard_MediaPreviousTrack" Image="K_Keys\PreviousTrack.png" />
<LedImage Id="Keyboard_MediaPlay" Image="K_Keys\PlayPause.png" />
<LedImage Id="Keyboard_MediaNextTrack" Image="K_Keys\NextTrack.png" />
<LedImage Id="GraveAccentAndTilde" Image="K_Keys\AccentGrave_Tilde.png" />
<LedImage Id="D1" Image="K_Keys\1_ExclamationMark.png" />
<LedImage Id="D2" Image="K_Keys\2_At.png" />
<LedImage Id="D3" Image="K_Keys\3_Hash.png" />
<LedImage Id="D4" Image="K_Keys\4_Dollar.png" />
<LedImage Id="D5" Image="K_Keys\5_Percent_Euro.png" />
<LedImage Id="D6" Image="K_Keys\6_Circumflex.png" />
<LedImage Id="D7" Image="K_Keys\7_Ampersand.png" />
<LedImage Id="D8" Image="K_Keys\8_Asterisk.png" />
<LedImage Id="D9" Image="K_Keys\9_BracketRight.png" />
<LedImage Id="D0" Image="K_Keys\0_BracketRight.png" />
<LedImage Id="MinusAndUnderscore" Image="K_Keys\Hyphen_Underscore.png" />
<LedImage Id="EqualsAndPlus" Image="K_Keys\Equals_Plus.png" />
<LedImage Id="Backspace" Image="K_Keys\Backspace.png" />
<LedImage Id="Insert" Image="K_Keys\Insert.png" />
<LedImage Id="Home" Image="K_Keys\Home.png" />
<LedImage Id="PageUp" Image="K_Keys\PageUp.png" />
<LedImage Id="NumLock" Image="K_Keys\NumLock.png" />
<LedImage Id="KeypadSlash" Image="K_Keys\Slash.png" />
<LedImage Id="KeypadAsterisk" Image="K_Keys\Asterisk.png" />
<LedImage Id="KeypadMinus" Image="K_Keys\Minus.png" />
<LedImage Id="Keyboard_GraveAccentAndTilde" Image="K_Keys\AccentGrave_Tilde.png" />
<LedImage Id="Keyboard_1" Image="K_Keys\1_ExclamationMark.png" />
<LedImage Id="Keyboard_2" Image="K_Keys\2_At.png" />
<LedImage Id="Keyboard_3" Image="K_Keys\3_Hash.png" />
<LedImage Id="Keyboard_4" Image="K_Keys\4_Dollar.png" />
<LedImage Id="Keyboard_5" Image="K_Keys\5_Percent_Euro.png" />
<LedImage Id="Keyboard_6" Image="K_Keys\6_Circumflex.png" />
<LedImage Id="Keyboard_7" Image="K_Keys\7_Ampersand.png" />
<LedImage Id="Keyboard_8" Image="K_Keys\8_Asterisk.png" />
<LedImage Id="Keyboard_9" Image="K_Keys\9_BracketRight.png" />
<LedImage Id="Keyboard_0" Image="K_Keys\0_BracketRight.png" />
<LedImage Id="Keyboard_MinusAndUnderscore" Image="K_Keys\Hyphen_Underscore.png" />
<LedImage Id="Keyboard_EqualsAndPlus" Image="K_Keys\Equals_Plus.png" />
<LedImage Id="Keyboard_Backspace" Image="K_Keys\Backspace.png" />
<LedImage Id="Keyboard_Insert" Image="K_Keys\Insert.png" />
<LedImage Id="Keyboard_Home" Image="K_Keys\Home.png" />
<LedImage Id="Keyboard_PageUp" Image="K_Keys\PageUp.png" />
<LedImage Id="Keyboard_NumLock" Image="K_Keys\NumLock.png" />
<LedImage Id="Keyboard_NumSlash" Image="K_Keys\Slash.png" />
<LedImage Id="Keyboard_NumAsterisk" Image="K_Keys\Asterisk.png" />
<LedImage Id="Keyboard_NumMinus" Image="K_Keys\Minus.png" />
<LedImage Id="Tab" Image="K_Keys\TabWText.png" />
<LedImage Id="Q" Image="K_Keys\Q.png" />
<LedImage Id="W" Image="K_Keys\W.png" />
<LedImage Id="E" Image="K_Keys\E.png" />
<LedImage Id="R" Image="K_Keys\R.png" />
<LedImage Id="T" Image="K_Keys\T.png" />
<LedImage Id="Y" Image="K_Keys\Y.png" />
<LedImage Id="U" Image="K_Keys\U.png" />
<LedImage Id="I" Image="K_Keys\I.png" />
<LedImage Id="O" Image="K_Keys\O.png" />
<LedImage Id="P" Image="K_Keys\P.png" />
<LedImage Id="BracketLeft" Image="K_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
<LedImage Id="BracketRight" Image="K_Keys\SquareBracketRight_CurlyBracketRight.png" />
<LedImage Id="Enter" Image="K_Keys\EnterWText.png" />
<LedImage Id="Delete" Image="K_Keys\Delete.png" />
<LedImage Id="End" Image="K_Keys\End.png" />
<LedImage Id="PageDown" Image="K_Keys\PageDown.png" />
<LedImage Id="Keypad7" Image="K_Keys\Num7_Home.png" />
<LedImage Id="Keypad8" Image="K_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keypad9" Image="K_Keys\Num9_PgUp.png" />
<LedImage Id="KeypadPlus" Image="K_Keys\NumPlus.png" />
<LedImage Id="Keyboard_Tab" Image="K_Keys\TabWText.png" />
<LedImage Id="Keyboard_Q" Image="K_Keys\Q.png" />
<LedImage Id="Keyboard_W" Image="K_Keys\W.png" />
<LedImage Id="Keyboard_E" Image="K_Keys\E.png" />
<LedImage Id="Keyboard_R" Image="K_Keys\R.png" />
<LedImage Id="Keyboard_T" Image="K_Keys\T.png" />
<LedImage Id="Keyboard_Y" Image="K_Keys\Y.png" />
<LedImage Id="Keyboard_U" Image="K_Keys\U.png" />
<LedImage Id="Keyboard_I" Image="K_Keys\I.png" />
<LedImage Id="Keyboard_O" Image="K_Keys\O.png" />
<LedImage Id="Keyboard_P" Image="K_Keys\P.png" />
<LedImage Id="Keyboard_BracketLeft" Image="K_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
<LedImage Id="Keyboard_BracketRight" Image="K_Keys\SquareBracketRight_CurlyBracketRight.png" />
<LedImage Id="Keyboard_Enter" Image="K_Keys\EnterWText.png" />
<LedImage Id="Keyboard_Delete" Image="K_Keys\Delete.png" />
<LedImage Id="Keyboard_End" Image="K_Keys\End.png" />
<LedImage Id="Keyboard_PageDown" Image="K_Keys\PageDown.png" />
<LedImage Id="Keyboard_Num7" Image="K_Keys\Num7_Home.png" />
<LedImage Id="Keyboard_Num8" Image="K_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keyboard_Num9" Image="K_Keys\Num9_PgUp.png" />
<LedImage Id="Keyboard_NumPlus" Image="K_Keys\NumPlus.png" />
<LedImage Id="CapsLock" Image="K_Keys\CapsLockText.png" />
<LedImage Id="A" Image="K_Keys\A.png" />
<LedImage Id="S" Image="K_Keys\S.png" />
<LedImage Id="D" Image="K_Keys\D.png" />
<LedImage Id="F" Image="K_Keys\F.png" />
<LedImage Id="G" Image="K_Keys\G.png" />
<LedImage Id="H" Image="K_Keys\H.png" />
<LedImage Id="J" Image="K_Keys\J.png" />
<LedImage Id="K" Image="K_Keys\K.png" />
<LedImage Id="L" Image="K_Keys\L.png" />
<LedImage Id="SemicolonAndColon" Image="K_Keys\Semicolon_Colon.png" />
<LedImage Id="ApostropheAndDoubleQuote" Image="K_Keys\Apostrophe_QuotationMark.png" />
<LedImage Id="NonUsTilde" Image="K_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keypad4" Image="K_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keypad5" Image="K_Keys\Num5.png" />
<LedImage Id="Keypad6" Image="K_Keys\Num6_ArrowRight.png" />
<LedImage Id="Keyboard_CapsLock" Image="K_Keys\CapsLockText.png" />
<LedImage Id="Keyboard_A" Image="K_Keys\A.png" />
<LedImage Id="Keyboard_S" Image="K_Keys\S.png" />
<LedImage Id="Keyboard_D" Image="K_Keys\D.png" />
<LedImage Id="Keyboard_F" Image="K_Keys\F.png" />
<LedImage Id="Keyboard_G" Image="K_Keys\G.png" />
<LedImage Id="Keyboard_H" Image="K_Keys\H.png" />
<LedImage Id="Keyboard_J" Image="K_Keys\J.png" />
<LedImage Id="Keyboard_K" Image="K_Keys\K.png" />
<LedImage Id="Keyboard_L" Image="K_Keys\L.png" />
<LedImage Id="Keyboard_SemicolonAndColon" Image="K_Keys\Semicolon_Colon.png" />
<LedImage Id="Keyboard_ApostropheAndDoubleQuote" Image="K_Keys\Apostrophe_QuotationMark.png" />
<LedImage Id="Keyboard_NonUsTilde" Image="K_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keyboard_Num4" Image="K_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keyboard_Num5" Image="K_Keys\Num5.png" />
<LedImage Id="Keyboard_Num6" Image="K_Keys\Num6_ArrowRight.png" />
<LedImage Id="LeftShift" Image="K_Keys\ShiftWText.png" />
<LedImage Id="NonUsBackslash" Image="K_Keys\Blackslash_Pipe.png" />
<LedImage Id="Z" Image="K_Keys\Z.png" />
<LedImage Id="X" Image="K_Keys\X.png" />
<LedImage Id="C" Image="K_Keys\C.png" />
<LedImage Id="V" Image="K_Keys\V.png" />
<LedImage Id="B" Image="K_Keys\B.png" />
<LedImage Id="N" Image="K_Keys\N.png" />
<LedImage Id="M" Image="K_Keys\M.png" />
<LedImage Id="CommaAndLessThan" Image="K_Keys\LessThan_Comma.png" />
<LedImage Id="PeriodAndBiggerThan" Image="K_Keys\GreaterThan_Dot.png" />
<LedImage Id="SlashAndQuestionMark" Image="K_Keys\QuestionMark_Slash.png" />
<LedImage Id="RightShift" Image="K_Keys\ShiftWTextBig.png" />
<LedImage Id="UpArrow" Image="K_Keys\CaretUp.png" />
<LedImage Id="Keypad1" Image="K_Keys\Num1_End.png" />
<LedImage Id="Keypad2" Image="K_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keypad3" Image="K_Keys\Num3_PgDn.png" />
<LedImage Id="KeypadEnter" Image="K_Keys\NumEnter.png" />
<LedImage Id="Keyboard_LeftShift" Image="K_Keys\ShiftWText.png" />
<LedImage Id="Keyboard_NonUsBackslash" Image="K_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keyboard_Z" Image="K_Keys\Z.png" />
<LedImage Id="Keyboard_X" Image="K_Keys\X.png" />
<LedImage Id="Keyboard_C" Image="K_Keys\C.png" />
<LedImage Id="Keyboard_V" Image="K_Keys\V.png" />
<LedImage Id="Keyboard_B" Image="K_Keys\B.png" />
<LedImage Id="Keyboard_N" Image="K_Keys\N.png" />
<LedImage Id="Keyboard_M" Image="K_Keys\M.png" />
<LedImage Id="Keyboard_CommaAndLessThan" Image="K_Keys\LessThan_Comma.png" />
<LedImage Id="Keyboard_PeriodAndBiggerThan" Image="K_Keys\GreaterThan_Dot.png" />
<LedImage Id="Keyboard_SlashAndQuestionMark" Image="K_Keys\QuestionMark_Slash.png" />
<LedImage Id="Keyboard_RightShift" Image="K_Keys\ShiftWTextBig.png" />
<LedImage Id="Keyboard_ArrowUp" Image="K_Keys\CaretUp.png" />
<LedImage Id="Keyboard_Num1" Image="K_Keys\Num1_End.png" />
<LedImage Id="Keyboard_Num2" Image="K_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keyboard_Num3" Image="K_Keys\Num3_PgDn.png" />
<LedImage Id="Keyboard_NumEnter" Image="K_Keys\NumEnter.png" />
<LedImage Id="LeftCtrl" Image="K_Keys\Ctrl.png" />
<LedImage Id="LeftGui" Image="K_Keys\Windows.png" />
<LedImage Id="LeftAlt" Image="K_Keys\Alt.png" />
<LedImage Id="Space" Image="K_Keys\Space.png" />
<LedImage Id="RightAlt" Image="K_Keys\AltGr.png" />
<LedImage Id="RightGui" Image="K_Keys\Windows.png" />
<LedImage Id="Application" Image="K_Keys\Menu.png" />
<LedImage Id="RightCtrl" Image="K_Keys\Ctrl.png" />
<LedImage Id="LeftArrow" Image="K_Keys\CaretLeft.png" />
<LedImage Id="DownArrow" Image="K_Keys\CaretDown.png" />
<LedImage Id="RightArrow" Image="K_Keys\CaretRight.png" />
<LedImage Id="Keypad0" Image="K_Keys\Num0_Ins.png" />
<LedImage Id="KeypadPeriodAndDelete" Image="K_Keys\Comma_Del.png" />
<LedImage Id="Keyboard_LeftCtrl" Image="K_Keys\Ctrl.png" />
<LedImage Id="Keyboard_LeftGui" Image="K_Keys\Windows.png" />
<LedImage Id="Keyboard_LeftAlt" Image="K_Keys\Alt.png" />
<LedImage Id="Keyboard_Space" Image="K_Keys\Space.png" />
<LedImage Id="Keyboard_RightAlt" Image="K_Keys\AltGr.png" />
<LedImage Id="Keyboard_RightGui" Image="K_Keys\Windows.png" />
<LedImage Id="Keyboard_Application" Image="K_Keys\Menu.png" />
<LedImage Id="Keyboard_RightCtrl" Image="K_Keys\Ctrl.png" />
<LedImage Id="Keyboard_ArrowLeft" Image="K_Keys\CaretLeft.png" />
<LedImage Id="Keyboard_ArrowDown" Image="K_Keys\CaretDown.png" />
<LedImage Id="Keyboard_ArrowRight" Image="K_Keys\CaretRight.png" />
<LedImage Id="Keyboard_Num0" Image="K_Keys\Num0_Ins.png" />
<LedImage Id="Keyboard_NumPeriodAndDelete" Image="K_Keys\Comma_Del.png" />
</LedImages>
</LedImageLayout>
</LedImageLayouts>
File diff suppressed because it is too large. Load diff
@@ -10,255 +10,255 @@
<Height>169</Height>
<Leds>
<!-- Extra-Keys: ? -> Mute -->
<Led Id="Brightness">
<Led Id="Keyboard_Brightness">
<X>91.5</X>
<Y>8.333</Y>
<Width>14.5mm</Width>
<Height>12mm</Height>
</Led>
<Led Id="WinLock">
<Led Id="Keyboard_WinLock">
<Width>14.5mm</Width>
<Height>12mm</Height>
</Led>
<Led Id="Mute">
<Led Id="Keyboard_MediaMute">
<X>382</X>
<Y>8.333</Y>
<Height>12mm</Height>
</Led>
<!-- Esc -> NextTrack -->
<Led Id="Escape">
<Led Id="Keyboard_Escape">
<X>30</X>
<Y>32</Y>
</Led>
<Led Id="F1">
<Led Id="Keyboard_F1">
<X>+12.667</X>
</Led>
<Led Id="F2" />
<Led Id="F3" />
<Led Id="F4" />
<Led Id="Keyboard_F2" />
<Led Id="Keyboard_F3" />
<Led Id="Keyboard_F4" />
<Led Id="F5">
<Led Id="Keyboard_F5">
<X>+12.667</X>
</Led>
<Led Id="F6" />
<Led Id="F7" />
<Led Id="F8" />
<Led Id="Keyboard_F6" />
<Led Id="Keyboard_F7" />
<Led Id="Keyboard_F8" />
<Led Id="F9">
<Led Id="Keyboard_F9">
<X>+12.667</X>
</Led>
<Led Id="F10" />
<Led Id="F11" />
<Led Id="F12" />
<Led Id="Keyboard_F10" />
<Led Id="Keyboard_F11" />
<Led Id="Keyboard_F12" />
<Led Id="PrintScreen">
<Led Id="Keyboard_PrintScreen">
<X>+5</X>
</Led>
<Led Id="ScrollLock" />
<Led Id="PauseBreak" />
<Led Id="Keyboard_ScrollLock" />
<Led Id="Keyboard_PauseBreak" />
<Led Id="Stop">
<Led Id="Keyboard_MediaStop">
<X>+5</X>
<Y>31</Y>
<Height>17mm</Height>
</Led>
<Led Id="ScanPreviousTrack">
<Led Id="Keyboard_MediaPreviousTrack">
<Height>17mm</Height>
</Led>
<Led Id="PlayPause">
<Led Id="Keyboard_MediaPlay">
<Height>17mm</Height>
</Led>
<Led Id="ScanNextTrack">
<Led Id="Keyboard_MediaNextTrack">
<Height>17mm</Height>
</Led>
<!-- ^ -> Num- -->
<Led Id="GraveAccentAndTilde">
<Led Id="Keyboard_GraveAccentAndTilde">
<X>30</X>
<Y>53</Y>
</Led>
<Led Id="D1" />
<Led Id="D2" />
<Led Id="D3" />
<Led Id="D4" />
<Led Id="D5" />
<Led Id="D6" />
<Led Id="D7" />
<Led Id="D8" />
<Led Id="D9" />
<Led Id="D0" />
<Led Id="MinusAndUnderscore" />
<Led Id="EqualsAndPlus" />
<Led Id="Backspace">
<Led Id="Keyboard_1" />
<Led Id="Keyboard_2" />
<Led Id="Keyboard_3" />
<Led Id="Keyboard_4" />
<Led Id="Keyboard_5" />
<Led Id="Keyboard_6" />
<Led Id="Keyboard_7" />
<Led Id="Keyboard_8" />
<Led Id="Keyboard_9" />
<Led Id="Keyboard_0" />
<Led Id="Keyboard_MinusAndUnderscore" />
<Led Id="Keyboard_EqualsAndPlus" />
<Led Id="Keyboard_Backspace">
<Width>2</Width>
</Led>
<Led Id="Insert">
<Led Id="Keyboard_Insert">
<X>+5</X>
</Led>
<Led Id="Home" />
<Led Id="PageUp" />
<Led Id="Keyboard_Home" />
<Led Id="Keyboard_PageUp" />
<Led Id="NumLock">
<Led Id="Keyboard_NumLock">
<X>+5</X>
</Led>
<Led Id="KeypadSlash" />
<Led Id="KeypadAsterisk" />
<Led Id="KeypadMinus" />
<Led Id="Keyboard_NumSlash" />
<Led Id="Keyboard_NumAsterisk" />
<Led Id="Keyboard_NumMinus" />
<!-- Tab -> Num+ -->
<Led Id="Tab">
<Led Id="Keyboard_Tab">
<X>30</X>
<Y>+</Y>
<Width>1.5</Width>
</Led>
<Led Id="Q" />
<Led Id="W" />
<Led Id="E" />
<Led Id="R" />
<Led Id="T" />
<Led Id="Y" />
<Led Id="U" />
<Led Id="I" />
<Led Id="O" />
<Led Id="P" />
<Led Id="BracketLeft" />
<Led Id="BracketRight" />
<Led Id="Enter">
<Led Id="Keyboard_Q" />
<Led Id="Keyboard_W" />
<Led Id="Keyboard_E" />
<Led Id="Keyboard_R" />
<Led Id="Keyboard_T" />
<Led Id="Keyboard_Y" />
<Led Id="Keyboard_U" />
<Led Id="Keyboard_I" />
<Led Id="Keyboard_O" />
<Led Id="Keyboard_P" />
<Led Id="Keyboard_BracketLeft" />
<Led Id="Keyboard_BracketRight" />
<Led Id="Keyboard_Enter">
<Shape>M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z</Shape>
<Width>1.5</Width>
<Height>2</Height>
</Led>
<Led Id="Delete">
<Led Id="Keyboard_Delete">
<X>+5</X>
</Led>
<Led Id="End" />
<Led Id="PageDown" />
<Led Id="Keyboard_End" />
<Led Id="Keyboard_PageDown" />
<Led Id="Keypad7">
<Led Id="Keyboard_Num7">
<X>+5</X>
</Led>
<Led Id="Keypad8" />
<Led Id="Keypad9" />
<Led Id="KeypadPlus">
<Led Id="Keyboard_Num8" />
<Led Id="Keyboard_Num9" />
<Led Id="Keyboard_NumPlus">
<Height>2</Height>
</Led>
<!-- CapsLock -> Num6 -->
<Led Id="CapsLock">
<Led Id="Keyboard_CapsLock">
<X>30</X>
<Y>~</Y>
<Width>1.75</Width>
</Led>
<Led Id="A" />
<Led Id="S" />
<Led Id="D" />
<Led Id="F" />
<Led Id="G" />
<Led Id="H" />
<Led Id="J" />
<Led Id="K" />
<Led Id="L" />
<Led Id="SemicolonAndColon" />
<Led Id="ApostropheAndDoubleQuote" />
<Led Id="NonUsTilde" />
<Led Id="Keyboard_A" />
<Led Id="Keyboard_S" />
<Led Id="Keyboard_D" />
<Led Id="Keyboard_F" />
<Led Id="Keyboard_G" />
<Led Id="Keyboard_H" />
<Led Id="Keyboard_J" />
<Led Id="Keyboard_K" />
<Led Id="Keyboard_L" />
<Led Id="Keyboard_SemicolonAndColon" />
<Led Id="Keyboard_ApostropheAndDoubleQuote" />
<Led Id="Keyboard_NonUsTilde" />
<Led Id="Keypad4">
<Led Id="Keyboard_Num4">
<X>+90.75</X>
</Led>
<Led Id="Keypad5" />
<Led Id="Keypad6" />
<Led Id="Keyboard_Num5" />
<Led Id="Keyboard_Num6" />
<!-- LShift -> NumEnter -->
<Led Id="LeftShift">
<Led Id="Keyboard_LeftShift">
<X>30</X>
<Y>+</Y>
<Width>1.25</Width>
</Led>
<Led Id="NonUsBackslash" />
<Led Id="Z" />
<Led Id="X" />
<Led Id="C" />
<Led Id="V" />
<Led Id="B" />
<Led Id="N" />
<Led Id="M" />
<Led Id="CommaAndLessThan" />
<Led Id="PeriodAndBiggerThan" />
<Led Id="SlashAndQuestionMark" />
<Led Id="RightShift">
<Led Id="Keyboard_NonUsBackslash" />
<Led Id="Keyboard_Z" />
<Led Id="Keyboard_X" />
<Led Id="Keyboard_C" />
<Led Id="Keyboard_V" />
<Led Id="Keyboard_B" />
<Led Id="Keyboard_N" />
<Led Id="Keyboard_M" />
<Led Id="Keyboard_CommaAndLessThan" />
<Led Id="Keyboard_PeriodAndBiggerThan" />
<Led Id="Keyboard_SlashAndQuestionMark" />
<Led Id="Keyboard_RightShift">
<Width>2.75</Width>
</Led>
<Led Id="UpArrow">
<Led Id="Keyboard_ArrowUp">
<X>+24</X>
</Led>
<Led Id="Keypad1">
<Led Id="Keyboard_Num1">
<X>+24</X>
</Led>
<Led Id="Keypad2" />
<Led Id="Keypad3" />
<Led Id="KeypadEnter">
<Led Id="Keyboard_Num2" />
<Led Id="Keyboard_Num3" />
<Led Id="Keyboard_NumEnter">
<Height>2</Height>
</Led>
<!-- LCtrl -> NumPeriod -->
<Led Id="LeftCtrl">
<Led Id="Keyboard_LeftCtrl">
<X>30</X>
<Y>~</Y>
<Width>1.5</Width>
</Led>
<Led Id="LeftGui" />
<Led Id="LeftAlt">
<Led Id="Keyboard_LeftGui" />
<Led Id="Keyboard_LeftAlt">
<Width>1.25</Width>
</Led>
<Led Id="Space">
<Led Id="Keyboard_Space">
<Width>6.5</Width>
</Led>
<Led Id="RightAlt">
<Led Id="Keyboard_RightAlt">
<Width>1.25</Width>
</Led>
<Led Id="RightGui" />
<Led Id="Application" />
<Led Id="RightCtrl">
<Led Id="Keyboard_RightGui" />
<Led Id="Keyboard_Application" />
<Led Id="Keyboard_RightCtrl">
<Width>1.5</Width>
</Led>
<Led Id="LeftArrow">
<Led Id="Keyboard_ArrowLeft">
<X>+5</X>
</Led>
<Led Id="DownArrow" />
<Led Id="RightArrow" />
<Led Id="Keyboard_ArrowDown" />
<Led Id="Keyboard_ArrowRight" />
<Led Id="Keypad0">
<Led Id="Keyboard_Num0">
<X>+5</X>
<Width>2</Width>
</Led>
<Led Id="KeypadPeriodAndDelete" />
<Led Id="Keyboard_NumPeriodAndDelete" />
<!-- G-Keys -->
<Led Id="G3">
<Led Id="Keyboard_Programmable3">
<X>7</X>
<Y>32</Y>
</Led>
<Led Id="G6">
<Led Id="Keyboard_Programmable6">
<X>7</X>
<Y>+</Y>
</Led>
<Led Id="G9">
<Led Id="Keyboard_Programmable9">
<X>7</X>
<Y>+1</Y>
</Led>
<Led Id="G12">
<Led Id="Keyboard_Programmable12">
<X>7</X>
<Y>+</Y>
</Led>
<Led Id="G15">
<Led Id="Keyboard_Programmable15">
<X>7</X>
<Y>+1</Y>
</Led>
@@ -351,131 +351,131 @@
<LedImageLayouts>
<LedImageLayout Layout="DE">
<LedImages>
<LedImage Id="Brightness" Image="Strafe_Keys\Brightness.png" />
<LedImage Id="WinLock" Image="Strafe_Keys\WinLock.png" />
<LedImage Id="Mute" Image="Strafe_Keys\Mute.png" />
<LedImage Id="Keyboard_Brightness" Image="Strafe_Keys\Brightness.png" />
<LedImage Id="Keyboard_WinLock" Image="Strafe_Keys\WinLock.png" />
<LedImage Id="Keyboard_MediaMute" Image="Strafe_Keys\Mute.png" />
<LedImage Id="Escape" Image="Strafe_Keys\Escape.png" />
<LedImage Id="F1" Image="Strafe_Keys\F1.png" />
<LedImage Id="F2" Image="Strafe_Keys\F2.png" />
<LedImage Id="F3" Image="Strafe_Keys\F3.png" />
<LedImage Id="F4" Image="Strafe_Keys\F4.png" />
<LedImage Id="F5" Image="Strafe_Keys\F5.png" />
<LedImage Id="F6" Image="Strafe_Keys\F6.png" />
<LedImage Id="F7" Image="Strafe_Keys\F7.png" />
<LedImage Id="F8" Image="Strafe_Keys\F8.png" />
<LedImage Id="F9" Image="Strafe_Keys\F9.png" />
<LedImage Id="F10" Image="Strafe_Keys\F10.png" />
<LedImage Id="F11" Image="Strafe_Keys\F11.png" />
<LedImage Id="F12" Image="Strafe_Keys\F12.png" />
<LedImage Id="PrintScreen" Image="Strafe_Keys\Drucken.png" />
<LedImage Id="ScrollLock" Image="Strafe_Keys\Rollen.png" />
<LedImage Id="PauseBreak" Image="Strafe_Keys\PauseUntbr.png" />
<LedImage Id="Stop" Image="Strafe_Keys\Stop.png" />
<LedImage Id="ScanPreviousTrack" Image="Strafe_Keys\PreviousTrack.png" />
<LedImage Id="PlayPause" Image="Strafe_Keys\PlayPause.png" />
<LedImage Id="ScanNextTrack" Image="Strafe_Keys\NextTrack.png" />
<LedImage Id="Keyboard_Escape" Image="Strafe_Keys\Escape.png" />
<LedImage Id="Keyboard_F1" Image="Strafe_Keys\F1.png" />
<LedImage Id="Keyboard_F2" Image="Strafe_Keys\F2.png" />
<LedImage Id="Keyboard_F3" Image="Strafe_Keys\F3.png" />
<LedImage Id="Keyboard_F4" Image="Strafe_Keys\F4.png" />
<LedImage Id="Keyboard_F5" Image="Strafe_Keys\F5.png" />
<LedImage Id="Keyboard_F6" Image="Strafe_Keys\F6.png" />
<LedImage Id="Keyboard_F7" Image="Strafe_Keys\F7.png" />
<LedImage Id="Keyboard_F8" Image="Strafe_Keys\F8.png" />
<LedImage Id="Keyboard_F9" Image="Strafe_Keys\F9.png" />
<LedImage Id="Keyboard_F10" Image="Strafe_Keys\F10.png" />
<LedImage Id="Keyboard_F11" Image="Strafe_Keys\F11.png" />
<LedImage Id="Keyboard_F12" Image="Strafe_Keys\F12.png" />
<LedImage Id="Keyboard_PrintScreen" Image="Strafe_Keys\Drucken.png" />
<LedImage Id="Keyboard_ScrollLock" Image="Strafe_Keys\Rollen.png" />
<LedImage Id="Keyboard_PauseBreak" Image="Strafe_Keys\PauseUntbr.png" />
<LedImage Id="Keyboard_MediaStop" Image="Strafe_Keys\Stop.png" />
<LedImage Id="Keyboard_MediaPreviousTrack" Image="Strafe_Keys\PreviousTrack.png" />
<LedImage Id="Keyboard_MediaPlay" Image="Strafe_Keys\PlayPause.png" />
<LedImage Id="Keyboard_MediaNextTrack" Image="Strafe_Keys\NextTrack.png" />
<LedImage Id="GraveAccentAndTilde" Image="Strafe_Keys\Circumflex_Degree.png" />
<LedImage Id="D1" Image="Strafe_Keys\1_ExclamationMark.png" />
<LedImage Id="D2" Image="Strafe_Keys\2_QuotationMark_Exponent2.png" />
<LedImage Id="D3" Image="Strafe_Keys\3_SectionSign_Exponent3.png" />
<LedImage Id="D4" Image="Strafe_Keys\4_Dollar.png" />
<LedImage Id="D5" Image="Strafe_Keys\5_Percent.png" />
<LedImage Id="D6" Image="Strafe_Keys\6_Ampersand.png" />
<LedImage Id="D7" Image="Strafe_Keys\7_Slash_CurlyBracketLeft.png" />
<LedImage Id="D8" Image="Strafe_Keys\8_BracketLeft_SquareBracketLeft.png" />
<LedImage Id="D9" Image="Strafe_Keys\9_BracketRight_SquareBracketRight.png" />
<LedImage Id="D0" Image="Strafe_Keys\0_Equals_CurlyBracketRight.png" />
<LedImage Id="MinusAndUnderscore" Image="Strafe_Keys\QuestionMark_SharpS_Backslash.png" />
<LedImage Id="EqualsAndPlus" Image="Strafe_Keys\AccentGrave_AccentAcute.png" />
<LedImage Id="Backspace" Image="Strafe_Keys\Backspace.png" />
<LedImage Id="Insert" Image="Strafe_Keys\Einfg.png" />
<LedImage Id="Home" Image="Strafe_Keys\Pos1.png" />
<LedImage Id="PageUp" Image="Strafe_Keys\BildUp.png" />
<LedImage Id="NumLock" Image="Strafe_Keys\Num.png" />
<LedImage Id="KeypadSlash" Image="Strafe_Keys\Slash.png" />
<LedImage Id="KeypadAsterisk" Image="Strafe_Keys\Asterisk.png" />
<LedImage Id="KeypadMinus" Image="Strafe_Keys\Minus.png" />
<LedImage Id="Keyboard_GraveAccentAndTilde" Image="Strafe_Keys\Circumflex_Degree.png" />
<LedImage Id="Keyboard_1" Image="Strafe_Keys\1_ExclamationMark.png" />
<LedImage Id="Keyboard_2" Image="Strafe_Keys\2_QuotationMark_Exponent2.png" />
<LedImage Id="Keyboard_3" Image="Strafe_Keys\3_SectionSign_Exponent3.png" />
<LedImage Id="Keyboard_4" Image="Strafe_Keys\4_Dollar.png" />
<LedImage Id="Keyboard_5" Image="Strafe_Keys\5_Percent.png" />
<LedImage Id="Keyboard_6" Image="Strafe_Keys\6_Ampersand.png" />
<LedImage Id="Keyboard_7" Image="Strafe_Keys\7_Slash_CurlyBracketLeft.png" />
<LedImage Id="Keyboard_8" Image="Strafe_Keys\8_BracketLeft_SquareBracketLeft.png" />
<LedImage Id="Keyboard_9" Image="Strafe_Keys\9_BracketRight_SquareBracketRight.png" />
<LedImage Id="Keyboard_0" Image="Strafe_Keys\0_Equals_CurlyBracketRight.png" />
<LedImage Id="Keyboard_MinusAndUnderscore" Image="Strafe_Keys\QuestionMark_SharpS_Backslash.png" />
<LedImage Id="Keyboard_EqualsAndPlus" Image="Strafe_Keys\AccentGrave_AccentAcute.png" />
<LedImage Id="Keyboard_Backspace" Image="Strafe_Keys\Backspace.png" />
<LedImage Id="Keyboard_Insert" Image="Strafe_Keys\Einfg.png" />
<LedImage Id="Keyboard_Home" Image="Strafe_Keys\Pos1.png" />
<LedImage Id="Keyboard_PageUp" Image="Strafe_Keys\BildUp.png" />
<LedImage Id="Keyboard_NumLock" Image="Strafe_Keys\Num.png" />
<LedImage Id="Keyboard_NumSlash" Image="Strafe_Keys\Slash.png" />
<LedImage Id="Keyboard_NumAsterisk" Image="Strafe_Keys\Asterisk.png" />
<LedImage Id="Keyboard_NumMinus" Image="Strafe_Keys\Minus.png" />
<LedImage Id="Tab" Image="Strafe_Keys\Tab.png" />
<LedImage Id="Q" Image="Strafe_Keys\Q_At.png" />
<LedImage Id="W" Image="Strafe_Keys\W.png" />
<LedImage Id="E" Image="Strafe_Keys\E_Euro.png" />
<LedImage Id="R" Image="Strafe_Keys\R.png" />
<LedImage Id="T" Image="Strafe_Keys\T.png" />
<LedImage Id="Y" Image="Strafe_Keys\Z.png" />
<LedImage Id="U" Image="Strafe_Keys\U.png" />
<LedImage Id="I" Image="Strafe_Keys\I.png" />
<LedImage Id="O" Image="Strafe_Keys\O.png" />
<LedImage Id="P" Image="Strafe_Keys\P.png" />
<LedImage Id="BracketLeft" Image="Strafe_Keys\UE.png" />
<LedImage Id="BracketRight" Image="Strafe_Keys\Plus_Asterisk_Tilde.png" />
<LedImage Id="Enter" Image="Strafe_Keys\Enter.png" />
<LedImage Id="Delete" Image="Strafe_Keys\Entf.png" />
<LedImage Id="End" Image="Strafe_Keys\Ende.png" />
<LedImage Id="PageDown" Image="Strafe_Keys\BildDown.png" />
<LedImage Id="Keypad7" Image="Strafe_Keys\Num7_Pos1.png" />
<LedImage Id="Keypad8" Image="Strafe_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keypad9" Image="Strafe_Keys\Num9_BildUp.png" />
<LedImage Id="KeypadPlus" Image="Strafe_Keys\NumPlus.png" />
<LedImage Id="Keyboard_Tab" Image="Strafe_Keys\Tab.png" />
<LedImage Id="Keyboard_Q" Image="Strafe_Keys\Q_At.png" />
<LedImage Id="Keyboard_W" Image="Strafe_Keys\W.png" />
<LedImage Id="Keyboard_E" Image="Strafe_Keys\E_Euro.png" />
<LedImage Id="Keyboard_R" Image="Strafe_Keys\R.png" />
<LedImage Id="Keyboard_T" Image="Strafe_Keys\T.png" />
<LedImage Id="Keyboard_Y" Image="Strafe_Keys\Z.png" />
<LedImage Id="Keyboard_U" Image="Strafe_Keys\U.png" />
<LedImage Id="Keyboard_I" Image="Strafe_Keys\I.png" />
<LedImage Id="Keyboard_O" Image="Strafe_Keys\O.png" />
<LedImage Id="Keyboard_P" Image="Strafe_Keys\P.png" />
<LedImage Id="Keyboard_BracketLeft" Image="Strafe_Keys\UE.png" />
<LedImage Id="Keyboard_BracketRight" Image="Strafe_Keys\Plus_Asterisk_Tilde.png" />
<LedImage Id="Keyboard_Enter" Image="Strafe_Keys\Enter.png" />
<LedImage Id="Keyboard_Delete" Image="Strafe_Keys\Entf.png" />
<LedImage Id="Keyboard_End" Image="Strafe_Keys\Ende.png" />
<LedImage Id="Keyboard_PageDown" Image="Strafe_Keys\BildDown.png" />
<LedImage Id="Keyboard_Num7" Image="Strafe_Keys\Num7_Pos1.png" />
<LedImage Id="Keyboard_Num8" Image="Strafe_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keyboard_Num9" Image="Strafe_Keys\Num9_BildUp.png" />
<LedImage Id="Keyboard_NumPlus" Image="Strafe_Keys\NumPlus.png" />
<LedImage Id="CapsLock" Image="Strafe_Keys\CapsLock.png" />
<LedImage Id="A" Image="Strafe_Keys\A.png" />
<LedImage Id="S" Image="Strafe_Keys\S.png" />
<LedImage Id="D" Image="Strafe_Keys\D.png" />
<LedImage Id="F" Image="Strafe_Keys\F.png" />
<LedImage Id="G" Image="Strafe_Keys\G.png" />
<LedImage Id="H" Image="Strafe_Keys\H.png" />
<LedImage Id="J" Image="Strafe_Keys\J.png" />
<LedImage Id="K" Image="Strafe_Keys\K.png" />
<LedImage Id="L" Image="Strafe_Keys\L.png" />
<LedImage Id="SemicolonAndColon" Image="Strafe_Keys\OE.png" />
<LedImage Id="ApostropheAndDoubleQuote" Image="Strafe_Keys\AE.png" />
<LedImage Id="NonUsTilde" Image="Strafe_Keys\Hash_Apostrophe.png" />
<LedImage Id="Keypad4" Image="Strafe_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keypad5" Image="Strafe_Keys\Num5.png" />
<LedImage Id="Keypad6" Image="Strafe_Keys\Num6_ArrowRight.png" />
<LedImage Id="Keyboard_CapsLock" Image="Strafe_Keys\CapsLock.png" />
<LedImage Id="Keyboard_A" Image="Strafe_Keys\A.png" />
<LedImage Id="Keyboard_S" Image="Strafe_Keys\S.png" />
<LedImage Id="Keyboard_D" Image="Strafe_Keys\D.png" />
<LedImage Id="Keyboard_F" Image="Strafe_Keys\F.png" />
<LedImage Id="Keyboard_G" Image="Strafe_Keys\G.png" />
<LedImage Id="Keyboard_H" Image="Strafe_Keys\H.png" />
<LedImage Id="Keyboard_J" Image="Strafe_Keys\J.png" />
<LedImage Id="Keyboard_K" Image="Strafe_Keys\K.png" />
<LedImage Id="Keyboard_L" Image="Strafe_Keys\L.png" />
<LedImage Id="Keyboard_SemicolonAndColon" Image="Strafe_Keys\OE.png" />
<LedImage Id="Keyboard_ApostropheAndDoubleQuote" Image="Strafe_Keys\AE.png" />
<LedImage Id="Keyboard_NonUsTilde" Image="Strafe_Keys\Hash_Apostrophe.png" />
<LedImage Id="Keyboard_Num4" Image="Strafe_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keyboard_Num5" Image="Strafe_Keys\Num5.png" />
<LedImage Id="Keyboard_Num6" Image="Strafe_Keys\Num6_ArrowRight.png" />
<LedImage Id="LeftShift" Image="Strafe_Keys\Shift.png" />
<LedImage Id="NonUsBackslash" Image="Strafe_Keys\LessThan_GreaterThan_Pipe.png" />
<LedImage Id="Z" Image="Strafe_Keys\Y.png" />
<LedImage Id="X" Image="Strafe_Keys\X.png" />
<LedImage Id="C" Image="Strafe_Keys\C.png" />
<LedImage Id="V" Image="Strafe_Keys\V.png" />
<LedImage Id="B" Image="Strafe_Keys\B.png" />
<LedImage Id="N" Image="Strafe_Keys\N.png" />
<LedImage Id="M" Image="Strafe_Keys\M_Mu.png" />
<LedImage Id="CommaAndLessThan" Image="Strafe_Keys\Comma_Semicolon.png" />
<LedImage Id="PeriodAndBiggerThan" Image="Strafe_Keys\Dot_Colon.png" />
<LedImage Id="SlashAndQuestionMark" Image="Strafe_Keys\Hyphen_Underscore.png" />
<LedImage Id="RightShift" Image="Strafe_Keys\ShiftBig.png" />
<LedImage Id="UpArrow" Image="Strafe_Keys\CaretUp.png" />
<LedImage Id="Keypad1" Image="Strafe_Keys\Num1_Ende.png" />
<LedImage Id="Keypad2" Image="Strafe_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keypad3" Image="Strafe_Keys\Num3_BildDown.png" />
<LedImage Id="KeypadEnter" Image="Strafe_Keys\NumEnter.png" />
<LedImage Id="Keyboard_LeftShift" Image="Strafe_Keys\Shift.png" />
<LedImage Id="Keyboard_NonUsBackslash" Image="Strafe_Keys\LessThan_GreaterThan_Pipe.png" />
<LedImage Id="Keyboard_Z" Image="Strafe_Keys\Y.png" />
<LedImage Id="Keyboard_X" Image="Strafe_Keys\X.png" />
<LedImage Id="Keyboard_C" Image="Strafe_Keys\C.png" />
<LedImage Id="Keyboard_V" Image="Strafe_Keys\V.png" />
<LedImage Id="Keyboard_B" Image="Strafe_Keys\B.png" />
<LedImage Id="Keyboard_N" Image="Strafe_Keys\N.png" />
<LedImage Id="Keyboard_M" Image="Strafe_Keys\M_Mu.png" />
<LedImage Id="Keyboard_CommaAndLessThan" Image="Strafe_Keys\Comma_Semicolon.png" />
<LedImage Id="Keyboard_PeriodAndBiggerThan" Image="Strafe_Keys\Dot_Colon.png" />
<LedImage Id="Keyboard_SlashAndQuestionMark" Image="Strafe_Keys\Hyphen_Underscore.png" />
<LedImage Id="Keyboard_RightShift" Image="Strafe_Keys\ShiftBig.png" />
<LedImage Id="Keyboard_ArrowUp" Image="Strafe_Keys\CaretUp.png" />
<LedImage Id="Keyboard_Num1" Image="Strafe_Keys\Num1_Ende.png" />
<LedImage Id="Keyboard_Num2" Image="Strafe_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keyboard_Num3" Image="Strafe_Keys\Num3_BildDown.png" />
<LedImage Id="Keyboard_NumEnter" Image="Strafe_Keys\NumEnter.png" />
<LedImage Id="LeftCtrl" Image="Strafe_Keys\Strg.png" />
<LedImage Id="LeftGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="LeftAlt" Image="Strafe_Keys\Alt.png" />
<LedImage Id="Space" Image="Strafe_Keys\Space.png" />
<LedImage Id="RightAlt" Image="Strafe_Keys\AltGr.png" />
<LedImage Id="RightGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Application" Image="Strafe_Keys\Menu.png" />
<LedImage Id="RightCtrl" Image="Strafe_Keys\Strg.png" />
<LedImage Id="LeftArrow" Image="Strafe_Keys\CaretLeft.png" />
<LedImage Id="DownArrow" Image="Strafe_Keys\CaretDown.png" />
<LedImage Id="RightArrow" Image="Strafe_Keys\CaretRight.png" />
<LedImage Id="Keypad0" Image="Strafe_Keys\Num0_Einfg.png" />
<LedImage Id="KeypadPeriodAndDelete" Image="Strafe_Keys\Comma_Entf.png" />
<LedImage Id="Keyboard_LeftCtrl" Image="Strafe_Keys\Strg.png" />
<LedImage Id="Keyboard_LeftGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Keyboard_LeftAlt" Image="Strafe_Keys\Alt.png" />
<LedImage Id="Keyboard_Space" Image="Strafe_Keys\Space.png" />
<LedImage Id="Keyboard_RightAlt" Image="Strafe_Keys\AltGr.png" />
<LedImage Id="Keyboard_RightGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Keyboard_Application" Image="Strafe_Keys\Menu.png" />
<LedImage Id="Keyboard_RightCtrl" Image="Strafe_Keys\Strg.png" />
<LedImage Id="Keyboard_ArrowLeft" Image="Strafe_Keys\CaretLeft.png" />
<LedImage Id="Keyboard_ArrowDown" Image="Strafe_Keys\CaretDown.png" />
<LedImage Id="Keyboard_ArrowRight" Image="Strafe_Keys\CaretRight.png" />
<LedImage Id="Keyboard_Num0" Image="Strafe_Keys\Num0_Einfg.png" />
<LedImage Id="Keyboard_NumPeriodAndDelete" Image="Strafe_Keys\Comma_Entf.png" />
<LedImage Id="G3" Image="Strafe_Keys\G1.png" />
<LedImage Id="G6" Image="Strafe_Keys\G2.png" />
<LedImage Id="G9" Image="Strafe_Keys\G3.png" />
<LedImage Id="G12" Image="Strafe_Keys\G4.png" />
<LedImage Id="G15" Image="Strafe_Keys\G5.png" />
<LedImage Id="G18" Image="Strafe_Keys\G6.png" />
<LedImage Id="Keyboard_Programmable3" Image="Strafe_Keys\G1.png" />
<LedImage Id="Keyboard_Programmable6" Image="Strafe_Keys\G2.png" />
<LedImage Id="Keyboard_Programmable9" Image="Strafe_Keys\G3.png" />
<LedImage Id="Keyboard_Programmable12" Image="Strafe_Keys\G4.png" />
<LedImage Id="Keyboard_Programmable15" Image="Strafe_Keys\G5.png" />
<LedImage Id="Keyboard_Programmable18" Image="Strafe_Keys\G6.png" />
<LedImage Id="Lightbar1" Image="Empty.png" />
<LedImage Id="Lightbar2" Image="Empty.png" />
@@ -500,131 +500,131 @@
</LedImageLayout>
<LedImageLayout Layout="EU_Int">
<LedImages>
<LedImage Id="Brightness" Image="Strafe_Keys\Brightness.png" />
<LedImage Id="WinLock" Image="Strafe_Keys\WinLock.png" />
<LedImage Id="Mute" Image="Strafe_Keys\Mute.png" />
<LedImage Id="Keyboard_Brightness" Image="Strafe_Keys\Brightness.png" />
<LedImage Id="Keyboard_WinLock" Image="Strafe_Keys\WinLock.png" />
<LedImage Id="Keyboard_MediaMute" Image="Strafe_Keys\Mute.png" />
<LedImage Id="Escape" Image="Strafe_Keys\Escape.png" />
<LedImage Id="F1" Image="Strafe_Keys\F1.png" />
<LedImage Id="F2" Image="Strafe_Keys\F2.png" />
<LedImage Id="F3" Image="Strafe_Keys\F3.png" />
<LedImage Id="F4" Image="Strafe_Keys\F4.png" />
<LedImage Id="F5" Image="Strafe_Keys\F5.png" />
<LedImage Id="F6" Image="Strafe_Keys\F6.png" />
<LedImage Id="F7" Image="Strafe_Keys\F7.png" />
<LedImage Id="F8" Image="Strafe_Keys\F8.png" />
<LedImage Id="F9" Image="Strafe_Keys\F9.png" />
<LedImage Id="F10" Image="Strafe_Keys\F10.png" />
<LedImage Id="F11" Image="Strafe_Keys\F11.png" />
<LedImage Id="F12" Image="Strafe_Keys\F12.png" />
<LedImage Id="PrintScreen" Image="Strafe_Keys\PrintScreen.png" />
<LedImage Id="ScrollLock" Image="Strafe_Keys\ScrollLock.png" />
<LedImage Id="PauseBreak" Image="Strafe_Keys\PauseBreak.png" />
<LedImage Id="Stop" Image="Strafe_Keys\Stop.png" />
<LedImage Id="ScanPreviousTrack" Image="Strafe_Keys\PreviousTrack.png" />
<LedImage Id="PlayPause" Image="Strafe_Keys\PlayPause.png" />
<LedImage Id="ScanNextTrack" Image="Strafe_Keys\NextTrack.png" />
<LedImage Id="Keyboard_Escape" Image="Strafe_Keys\Escape.png" />
<LedImage Id="Keyboard_F1" Image="Strafe_Keys\F1.png" />
<LedImage Id="Keyboard_F2" Image="Strafe_Keys\F2.png" />
<LedImage Id="Keyboard_F3" Image="Strafe_Keys\F3.png" />
<LedImage Id="Keyboard_F4" Image="Strafe_Keys\F4.png" />
<LedImage Id="Keyboard_F5" Image="Strafe_Keys\F5.png" />
<LedImage Id="Keyboard_F6" Image="Strafe_Keys\F6.png" />
<LedImage Id="Keyboard_F7" Image="Strafe_Keys\F7.png" />
<LedImage Id="Keyboard_F8" Image="Strafe_Keys\F8.png" />
<LedImage Id="Keyboard_F9" Image="Strafe_Keys\F9.png" />
<LedImage Id="Keyboard_F10" Image="Strafe_Keys\F10.png" />
<LedImage Id="Keyboard_F11" Image="Strafe_Keys\F11.png" />
<LedImage Id="Keyboard_F12" Image="Strafe_Keys\F12.png" />
<LedImage Id="Keyboard_PrintScreen" Image="Strafe_Keys\PrintScreen.png" />
<LedImage Id="Keyboard_ScrollLock" Image="Strafe_Keys\ScrollLock.png" />
<LedImage Id="Keyboard_PauseBreak" Image="Strafe_Keys\PauseBreak.png" />
<LedImage Id="Keyboard_MediaStop" Image="Strafe_Keys\Stop.png" />
<LedImage Id="Keyboard_MediaPreviousTrack" Image="Strafe_Keys\PreviousTrack.png" />
<LedImage Id="Keyboard_MediaPlay" Image="Strafe_Keys\PlayPause.png" />
<LedImage Id="Keyboard_MediaNextTrack" Image="Strafe_Keys\NextTrack.png" />
<LedImage Id="GraveAccentAndTilde" Image="Strafe_Keys\AccentGrave_Tilde.png" />
<LedImage Id="D1" Image="Strafe_Keys\1_ExclamationMark.png" />
<LedImage Id="D2" Image="Strafe_Keys\2_At.png" />
<LedImage Id="D3" Image="Strafe_Keys\3_Hash.png" />
<LedImage Id="D4" Image="Strafe_Keys\4_Dollar.png" />
<LedImage Id="D5" Image="Strafe_Keys\5_Percent_Euro.png" />
<LedImage Id="D6" Image="Strafe_Keys\6_Circumflex.png" />
<LedImage Id="D7" Image="Strafe_Keys\7_Ampersand.png" />
<LedImage Id="D8" Image="Strafe_Keys\8_Asterisk.png" />
<LedImage Id="D9" Image="Strafe_Keys\9_BracketRight.png" />
<LedImage Id="D0" Image="Strafe_Keys\0_BracketRight.png" />
<LedImage Id="MinusAndUnderscore" Image="Strafe_Keys\Hyphen_Underscore.png" />
<LedImage Id="EqualsAndPlus" Image="Strafe_Keys\Equals_Plus.png" />
<LedImage Id="Backspace" Image="Strafe_Keys\Backspace.png" />
<LedImage Id="Insert" Image="Strafe_Keys\Insert.png" />
<LedImage Id="Home" Image="Strafe_Keys\Home.png" />
<LedImage Id="PageUp" Image="Strafe_Keys\PageUp.png" />
<LedImage Id="NumLock" Image="Strafe_Keys\NumLock.png" />
<LedImage Id="KeypadSlash" Image="Strafe_Keys\Slash.png" />
<LedImage Id="KeypadAsterisk" Image="Strafe_Keys\Asterisk.png" />
<LedImage Id="KeypadMinus" Image="Strafe_Keys\Minus.png" />
<LedImage Id="Keyboard_GraveAccentAndTilde" Image="Strafe_Keys\AccentGrave_Tilde.png" />
<LedImage Id="Keyboard_1" Image="Strafe_Keys\1_ExclamationMark.png" />
<LedImage Id="Keyboard_2" Image="Strafe_Keys\2_At.png" />
<LedImage Id="Keyboard_3" Image="Strafe_Keys\3_Hash.png" />
<LedImage Id="Keyboard_4" Image="Strafe_Keys\4_Dollar.png" />
<LedImage Id="Keyboard_5" Image="Strafe_Keys\5_Percent_Euro.png" />
<LedImage Id="Keyboard_6" Image="Strafe_Keys\6_Circumflex.png" />
<LedImage Id="Keyboard_7" Image="Strafe_Keys\7_Ampersand.png" />
<LedImage Id="Keyboard_8" Image="Strafe_Keys\8_Asterisk.png" />
<LedImage Id="Keyboard_9" Image="Strafe_Keys\9_BracketRight.png" />
<LedImage Id="Keyboard_0" Image="Strafe_Keys\0_BracketRight.png" />
<LedImage Id="Keyboard_MinusAndUnderscore" Image="Strafe_Keys\Hyphen_Underscore.png" />
<LedImage Id="Keyboard_EqualsAndPlus" Image="Strafe_Keys\Equals_Plus.png" />
<LedImage Id="Keyboard_Backspace" Image="Strafe_Keys\Backspace.png" />
<LedImage Id="Keyboard_Insert" Image="Strafe_Keys\Insert.png" />
<LedImage Id="Keyboard_Home" Image="Strafe_Keys\Home.png" />
<LedImage Id="Keyboard_PageUp" Image="Strafe_Keys\PageUp.png" />
<LedImage Id="Keyboard_NumLock" Image="Strafe_Keys\NumLock.png" />
<LedImage Id="Keyboard_NumSlash" Image="Strafe_Keys\Slash.png" />
<LedImage Id="Keyboard_NumAsterisk" Image="Strafe_Keys\Asterisk.png" />
<LedImage Id="Keyboard_NumMinus" Image="Strafe_Keys\Minus.png" />
<LedImage Id="Tab" Image="Strafe_Keys\Tab.png" />
<LedImage Id="Q" Image="Strafe_Keys\Q.png" />
<LedImage Id="W" Image="Strafe_Keys\W.png" />
<LedImage Id="E" Image="Strafe_Keys\E.png" />
<LedImage Id="R" Image="Strafe_Keys\R.png" />
<LedImage Id="T" Image="Strafe_Keys\T.png" />
<LedImage Id="Y" Image="Strafe_Keys\Y.png" />
<LedImage Id="U" Image="Strafe_Keys\U.png" />
<LedImage Id="I" Image="Strafe_Keys\I.png" />
<LedImage Id="O" Image="Strafe_Keys\O.png" />
<LedImage Id="P" Image="Strafe_Keys\P.png" />
<LedImage Id="BracketLeft" Image="Strafe_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
<LedImage Id="BracketRight" Image="Strafe_Keys\SquareBracketRight_CurlyBracketRight.png" />
<LedImage Id="Enter" Image="Strafe_Keys\Enter.png" />
<LedImage Id="Delete" Image="Strafe_Keys\Delete.png" />
<LedImage Id="End" Image="Strafe_Keys\End.png" />
<LedImage Id="PageDown" Image="Strafe_Keys\PageDown.png" />
<LedImage Id="Keypad7" Image="Strafe_Keys\Num7_Home.png" />
<LedImage Id="Keypad8" Image="Strafe_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keypad9" Image="Strafe_Keys\Num9_PgUp.png" />
<LedImage Id="KeypadPlus" Image="Strafe_Keys\NumPlus.png" />
<LedImage Id="Keyboard_Tab" Image="Strafe_Keys\Tab.png" />
<LedImage Id="Keyboard_Q" Image="Strafe_Keys\Q.png" />
<LedImage Id="Keyboard_W" Image="Strafe_Keys\W.png" />
<LedImage Id="Keyboard_E" Image="Strafe_Keys\E.png" />
<LedImage Id="Keyboard_R" Image="Strafe_Keys\R.png" />
<LedImage Id="Keyboard_T" Image="Strafe_Keys\T.png" />
<LedImage Id="Keyboard_Y" Image="Strafe_Keys\Y.png" />
<LedImage Id="Keyboard_U" Image="Strafe_Keys\U.png" />
<LedImage Id="Keyboard_I" Image="Strafe_Keys\I.png" />
<LedImage Id="Keyboard_O" Image="Strafe_Keys\O.png" />
<LedImage Id="Keyboard_P" Image="Strafe_Keys\P.png" />
<LedImage Id="Keyboard_BracketLeft" Image="Strafe_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
<LedImage Id="Keyboard_BracketRight" Image="Strafe_Keys\SquareBracketRight_CurlyBracketRight.png" />
<LedImage Id="Keyboard_Enter" Image="Strafe_Keys\Enter.png" />
<LedImage Id="Keyboard_Delete" Image="Strafe_Keys\Delete.png" />
<LedImage Id="Keyboard_End" Image="Strafe_Keys\End.png" />
<LedImage Id="Keyboard_PageDown" Image="Strafe_Keys\PageDown.png" />
<LedImage Id="Keyboard_Num7" Image="Strafe_Keys\Num7_Home.png" />
<LedImage Id="Keyboard_Num8" Image="Strafe_Keys\Num8_ArrowUp.png" />
<LedImage Id="Keyboard_Num9" Image="Strafe_Keys\Num9_PgUp.png" />
<LedImage Id="Keyboard_NumPlus" Image="Strafe_Keys\NumPlus.png" />
<LedImage Id="CapsLock" Image="Strafe_Keys\CapsLock.png" />
<LedImage Id="A" Image="Strafe_Keys\A.png" />
<LedImage Id="S" Image="Strafe_Keys\S.png" />
<LedImage Id="D" Image="Strafe_Keys\D.png" />
<LedImage Id="F" Image="Strafe_Keys\F.png" />
<LedImage Id="G" Image="Strafe_Keys\G.png" />
<LedImage Id="H" Image="Strafe_Keys\H.png" />
<LedImage Id="J" Image="Strafe_Keys\J.png" />
<LedImage Id="K" Image="Strafe_Keys\K.png" />
<LedImage Id="L" Image="Strafe_Keys\L.png" />
<LedImage Id="SemicolonAndColon" Image="Strafe_Keys\Semicolon_Colon.png" />
<LedImage Id="ApostropheAndDoubleQuote" Image="Strafe_Keys\Apostrophe_QuotationMark.png" />
<LedImage Id="NonUsTilde" Image="Strafe_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keypad4" Image="Strafe_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keypad5" Image="Strafe_Keys\Num5.png" />
<LedImage Id="Keypad6" Image="Strafe_Keys\Num6_ArrowRight.png" />
<LedImage Id="Keyboard_CapsLock" Image="Strafe_Keys\CapsLock.png" />
<LedImage Id="Keyboard_A" Image="Strafe_Keys\A.png" />
<LedImage Id="Keyboard_S" Image="Strafe_Keys\S.png" />
<LedImage Id="Keyboard_D" Image="Strafe_Keys\D.png" />
<LedImage Id="Keyboard_F" Image="Strafe_Keys\F.png" />
<LedImage Id="Keyboard_G" Image="Strafe_Keys\G.png" />
<LedImage Id="Keyboard_H" Image="Strafe_Keys\H.png" />
<LedImage Id="Keyboard_J" Image="Strafe_Keys\J.png" />
<LedImage Id="Keyboard_K" Image="Strafe_Keys\K.png" />
<LedImage Id="Keyboard_L" Image="Strafe_Keys\L.png" />
<LedImage Id="Keyboard_SemicolonAndColon" Image="Strafe_Keys\Semicolon_Colon.png" />
<LedImage Id="Keyboard_ApostropheAndDoubleQuote" Image="Strafe_Keys\Apostrophe_QuotationMark.png" />
<LedImage Id="Keyboard_NonUsTilde" Image="Strafe_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keyboard_Num4" Image="Strafe_Keys\Num4_ArrowLeft.png" />
<LedImage Id="Keyboard_Num5" Image="Strafe_Keys\Num5.png" />
<LedImage Id="Keyboard_Num6" Image="Strafe_Keys\Num6_ArrowRight.png" />
<LedImage Id="LeftShift" Image="Strafe_Keys\Shift.png" />
<LedImage Id="NonUsBackslash" Image="Strafe_Keys\Blackslash_Pipe.png" />
<LedImage Id="Z" Image="Strafe_Keys\Z.png" />
<LedImage Id="X" Image="Strafe_Keys\X.png" />
<LedImage Id="C" Image="Strafe_Keys\C.png" />
<LedImage Id="V" Image="Strafe_Keys\V.png" />
<LedImage Id="B" Image="Strafe_Keys\B.png" />
<LedImage Id="N" Image="Strafe_Keys\N.png" />
<LedImage Id="M" Image="Strafe_Keys\M.png" />
<LedImage Id="CommaAndLessThan" Image="Strafe_Keys\LessThan_Comma.png" />
<LedImage Id="PeriodAndBiggerThan" Image="Strafe_Keys\GreaterThan_Dot.png" />
<LedImage Id="SlashAndQuestionMark" Image="Strafe_Keys\QuestionMark_Slash.png" />
<LedImage Id="RightShift" Image="Strafe_Keys\ShiftBig.png" />
<LedImage Id="UpArrow" Image="Strafe_Keys\CaretUp.png" />
<LedImage Id="Keypad1" Image="Strafe_Keys\Num1_End.png" />
<LedImage Id="Keypad2" Image="Strafe_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keypad3" Image="Strafe_Keys\Num3_PgDwn.png" />
<LedImage Id="KeypadEnter" Image="Strafe_Keys\NumEnter.png" />
<LedImage Id="Keyboard_LeftShift" Image="Strafe_Keys\Shift.png" />
<LedImage Id="Keyboard_NonUsBackslash" Image="Strafe_Keys\Blackslash_Pipe.png" />
<LedImage Id="Keyboard_Z" Image="Strafe_Keys\Z.png" />
<LedImage Id="Keyboard_X" Image="Strafe_Keys\X.png" />
<LedImage Id="Keyboard_C" Image="Strafe_Keys\C.png" />
<LedImage Id="Keyboard_V" Image="Strafe_Keys\V.png" />
<LedImage Id="Keyboard_B" Image="Strafe_Keys\B.png" />
<LedImage Id="Keyboard_N" Image="Strafe_Keys\N.png" />
<LedImage Id="Keyboard_M" Image="Strafe_Keys\M.png" />
<LedImage Id="Keyboard_CommaAndLessThan" Image="Strafe_Keys\LessThan_Comma.png" />
<LedImage Id="Keyboard_PeriodAndBiggerThan" Image="Strafe_Keys\GreaterThan_Dot.png" />
<LedImage Id="Keyboard_SlashAndQuestionMark" Image="Strafe_Keys\QuestionMark_Slash.png" />
<LedImage Id="Keyboard_RightShift" Image="Strafe_Keys\ShiftBig.png" />
<LedImage Id="Keyboard_ArrowUp" Image="Strafe_Keys\CaretUp.png" />
<LedImage Id="Keyboard_Num1" Image="Strafe_Keys\Num1_End.png" />
<LedImage Id="Keyboard_Num2" Image="Strafe_Keys\Num2_ArrowDown.png" />
<LedImage Id="Keyboard_Num3" Image="Strafe_Keys\Num3_PgDwn.png" />
<LedImage Id="Keyboard_NumEnter" Image="Strafe_Keys\NumEnter.png" />
<LedImage Id="LeftCtrl" Image="Strafe_Keys\Ctrl.png" />
<LedImage Id="LeftGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="LeftAlt" Image="Strafe_Keys\Alt.png" />
<LedImage Id="Space" Image="Strafe_Keys\Space.png" />
<LedImage Id="RightAlt" Image="Strafe_Keys\AltGr.png" />
<LedImage Id="RightGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Application" Image="Strafe_Keys\Menu.png" />
<LedImage Id="RightCtrl" Image="Strafe_Keys\Ctrl.png" />
<LedImage Id="LeftArrow" Image="Strafe_Keys\CaretLeft.png" />
<LedImage Id="DownArrow" Image="Strafe_Keys\CaretDown.png" />
<LedImage Id="RightArrow" Image="Strafe_Keys\CaretRight.png" />
<LedImage Id="Keypad0" Image="Strafe_Keys\Num0_Ins.png" />
<LedImage Id="KeypadPeriodAndDelete" Image="Strafe_Keys\Dot_Del.png" />
<LedImage Id="Keyboard_LeftCtrl" Image="Strafe_Keys\Ctrl.png" />
<LedImage Id="Keyboard_LeftGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Keyboard_LeftAlt" Image="Strafe_Keys\Alt.png" />
<LedImage Id="Keyboard_Space" Image="Strafe_Keys\Space.png" />
<LedImage Id="Keyboard_RightAlt" Image="Strafe_Keys\AltGr.png" />
<LedImage Id="Keyboard_RightGui" Image="Strafe_Keys\Windows.png" />
<LedImage Id="Keyboard_Application" Image="Strafe_Keys\Menu.png" />
<LedImage Id="Keyboard_RightCtrl" Image="Strafe_Keys\Ctrl.png" />
<LedImage Id="Keyboard_ArrowLeft" Image="Strafe_Keys\CaretLeft.png" />
<LedImage Id="Keyboard_ArrowDown" Image="Strafe_Keys\CaretDown.png" />
<LedImage Id="Keyboard_ArrowRight" Image="Strafe_Keys\CaretRight.png" />
<LedImage Id="Keyboard_Num0" Image="Strafe_Keys\Num0_Ins.png" />
<LedImage Id="Keyboard_NumPeriodAndDelete" Image="Strafe_Keys\Dot_Del.png" />
<LedImage Id="G3" Image="Strafe_Keys\G1.png" />
<LedImage Id="G6" Image="Strafe_Keys\G2.png" />
<LedImage Id="G9" Image="Strafe_Keys\G3.png" />
<LedImage Id="G12" Image="Strafe_Keys\G4.png" />
<LedImage Id="G15" Image="Strafe_Keys\G5.png" />
<LedImage Id="G18" Image="Strafe_Keys\G6.png" />
<LedImage Id="Keyboard_Programmable3" Image="Strafe_Keys\G1.png" />
<LedImage Id="Keyboard_Programmable6" Image="Strafe_Keys\G2.png" />
<LedImage Id="Keyboard_Programmable9" Image="Strafe_Keys\G3.png" />
<LedImage Id="Keyboard_Programmable12" Image="Strafe_Keys\G4.png" />
<LedImage Id="Keyboard_Programmable15" Image="Strafe_Keys\G5.png" />
<LedImage Id="Keyboard_Programmable18" Image="Strafe_Keys\G6.png" />
<LedImage Id="Lightbar1" Image="Empty.png" />
<LedImage Id="Lightbar2" Image="Empty.png" />
@@ -1,6 +1,7 @@
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedMember.Global
using System;
using RGB.NET.Core;
using RGB.NET.Core.Exceptions;
@@ -33,31 +34,40 @@ namespace RGB.NET.Devices.Corsair
switch (DeviceInfo.PhysicalLayout)
{
case CorsairPhysicalMouseLayout.Zones1:
InitializeLed(new CorsairLedId(this, CorsairLedIds.B1), new Rectangle(0, 0, 10, 10));
InitializeLed(LedId.Mouse1, new Rectangle(0, 0, 10, 10));
break;
case CorsairPhysicalMouseLayout.Zones2:
InitializeLed(new CorsairLedId(this, CorsairLedIds.B1), new Rectangle(0, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B2), new Rectangle(10, 0, 10, 10));
InitializeLed(LedId.Mouse1, new Rectangle(0, 0, 10, 10));
InitializeLed(LedId.Mouse2, new Rectangle(10, 0, 10, 10));
break;
case CorsairPhysicalMouseLayout.Zones3:
InitializeLed(new CorsairLedId(this, CorsairLedIds.B1), new Rectangle(0, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B2), new Rectangle(10, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B3), new Rectangle(20, 0, 10, 10));
InitializeLed(LedId.Mouse1, new Rectangle(0, 0, 10, 10));
InitializeLed(LedId.Mouse2, new Rectangle(10, 0, 10, 10));
InitializeLed(LedId.Mouse3, new Rectangle(20, 0, 10, 10));
break;
case CorsairPhysicalMouseLayout.Zones4:
InitializeLed(new CorsairLedId(this, CorsairLedIds.B1), new Rectangle(0, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B2), new Rectangle(10, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B3), new Rectangle(20, 0, 10, 10));
InitializeLed(new CorsairLedId(this, CorsairLedIds.B4), new Rectangle(30, 0, 10, 10));
InitializeLed(LedId.Mouse1, new Rectangle(0, 0, 10, 10));
InitializeLed(LedId.Mouse2, new Rectangle(10, 0, 10, 10));
InitializeLed(LedId.Mouse3, new Rectangle(20, 0, 10, 10));
InitializeLed(LedId.Mouse4, new Rectangle(30, 0, 10, 10));
break;
default:
throw new RGBDeviceException($"Can't initial mouse with layout '{DeviceInfo.PhysicalLayout}'");
throw new RGBDeviceException($"Can't initialize mouse with layout '{DeviceInfo.PhysicalLayout}'");
}
ApplyLayoutFromFile(PathHelper.GetAbsolutePath($@"Layouts\Corsair\Mice\{DeviceInfo.Model.Replace(" ", string.Empty).ToUpper()}.xml"),
null, PathHelper.GetAbsolutePath(@"Images\Corsair\Mice"));
}
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId)
{
if (string.Equals(DeviceInfo.Model, "GLAIVE RGB", StringComparison.OrdinalIgnoreCase))
return MouseIdMapping.GLAIVE.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
else
return MouseIdMapping.DEFAULT.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
}
#endregion
}
}
@@ -0,0 +1,25 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
internal static class MouseIdMapping
{
internal static readonly Dictionary<LedId, CorsairLedId> DEFAULT = new Dictionary<LedId, CorsairLedId>
{
{ LedId.Mouse1, CorsairLedId.B1 },
{ LedId.Mouse2, CorsairLedId.B2 },
{ LedId.Mouse3, CorsairLedId.B3 },
{ LedId.Mouse4, CorsairLedId.B4 },
{ LedId.Mouse5, CorsairLedId.B5 },
{ LedId.Mouse6, CorsairLedId.B6 },
};
internal static readonly Dictionary<LedId, CorsairLedId> GLAIVE = new Dictionary<LedId, CorsairLedId>
{
{ LedId.Mouse1, CorsairLedId.B1 },
{ LedId.Mouse2, CorsairLedId.B2 },
{ LedId.Mouse3, CorsairLedId.B5 },
};
}
}
@@ -47,14 +47,17 @@ namespace RGB.NET.Devices.Corsair
positions.Add(ledPosition);
}
foreach (_CorsairLedPosition ledPosition in positions.OrderBy(p => p.ledId))
InitializeLed(new CorsairLedId(this, ledPosition.ledId),
new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
Dictionary<CorsairLedId, LedId> mapping = MousepadIdMapping.DEFAULT.SwapKeyValue();
foreach (_CorsairLedPosition ledPosition in positions.OrderBy(p => p.LedId))
InitializeLed(mapping.TryGetValue(ledPosition.LedId, out LedId ledId) ? ledId : LedId.Invalid, new Rectangle(ledPosition.left, ledPosition.top, ledPosition.width, ledPosition.height));
ApplyLayoutFromFile(PathHelper.GetAbsolutePath($@"Layouts\Corsair\Mousepads\{DeviceInfo.Model.Replace(" ", string.Empty).ToUpper()}.xml"),
null, PathHelper.GetAbsolutePath(@"Images\Corsair\Mousepads"));
}
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId) => MousepadIdMapping.DEFAULT.TryGetValue(ledId, out CorsairLedId id) ? id : CorsairLedId.Invalid;
#endregion
}
}
@@ -0,0 +1,27 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Corsair
{
internal static class MousepadIdMapping
{
internal static readonly Dictionary<LedId, CorsairLedId> DEFAULT = new Dictionary<LedId, CorsairLedId>
{
{ LedId.Mousepad1, CorsairLedId.Zone1 },
{ LedId.Mousepad2, CorsairLedId.Zone2 },
{ LedId.Mousepad3, CorsairLedId.Zone3 },
{ LedId.Mousepad4, CorsairLedId.Zone4 },
{ LedId.Mousepad5, CorsairLedId.Zone5 },
{ LedId.Mousepad6, CorsairLedId.Zone6 },
{ LedId.Mousepad7, CorsairLedId.Zone7 },
{ LedId.Mousepad8, CorsairLedId.Zone8 },
{ LedId.Mousepad9, CorsairLedId.Zone9 },
{ LedId.Mousepad10, CorsairLedId.Zone10 },
{ LedId.Mousepad11, CorsairLedId.Zone11 },
{ LedId.Mousepad12, CorsairLedId.Zone12 },
{ LedId.Mousepad13, CorsairLedId.Zone13 },
{ LedId.Mousepad14, CorsairLedId.Zone14 },
{ LedId.Mousepad15, CorsairLedId.Zone15 }
};
}
}
+2 -2
View File
@@ -114,7 +114,7 @@ namespace RGB.NET.Devices.Corsair.Native
private delegate IntPtr CorsairGetLedPositionsByDeviceIndexPointer(int deviceIndex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate CorsairLedIds CorsairGetLedIdForKeyNamePointer(char keyName);
private delegate CorsairLedId CorsairGetLedIdForKeyNamePointer(char keyName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate bool CorsairRequestControlPointer(CorsairAccessMode accessMode);
@@ -165,7 +165,7 @@ namespace RGB.NET.Devices.Corsair.Native
/// <summary>
/// CUE-SDK: retrieves led id for key name taking logical layout into account.
/// </summary>
internal static CorsairLedIds CorsairGetLedIdForKeyName(char keyName) => _corsairGetLedIdForKeyNamePointer(keyName);
internal static CorsairLedId CorsairGetLedIdForKeyName(char keyName) => _corsairGetLedIdForKeyNamePointer(keyName);
/// <summary>
/// CUE-SDK: requestes control using specified access mode.
@@ -17,7 +17,7 @@ namespace RGB.NET.Devices.Corsair.Native
/// <summary>
/// CUE-SDK: identifier of led
/// </summary>
internal CorsairLedIds ledId;
internal CorsairLedId LedId;
/// <summary>
/// CUE-SDK: values in mm
@@ -50,26 +50,31 @@
<Compile Include="Enum\CorsairDeviceCaps.cs" />
<Compile Include="Enum\CorsairDeviceType.cs" />
<Compile Include="Enum\CorsairError.cs" />
<Compile Include="Enum\CorsairLedIds.cs" />
<Compile Include="Enum\CorsairLedId.cs" />
<Compile Include="Enum\CorsairLogicalKeyboardLayout.cs" />
<Compile Include="Enum\CorsairPhysicalKeyboardLayout.cs" />
<Compile Include="Enum\CorsairPhysicalMouseLayout.cs" />
<Compile Include="Exceptions\CUEException.cs" />
<Compile Include="Generic\CorsairLedId.cs" />
<Compile Include="Generic\CorsairProtocolDetails.cs" />
<Compile Include="Generic\CorsairRGBDeviceInfo.cs" />
<Compile Include="Generic\CorsairRGBDevice.cs" />
<Compile Include="Generic\ICorsairRGBDevice.cs" />
<Compile Include="HeadsetStand\CorsairHeadsetStandRGBDevice.cs" />
<Compile Include="HeadsetStand\CorsairHeadsetStandRGBDeviceInfo.cs" />
<Compile Include="HeadsetStand\HeadsetStandIdMapping.cs" />
<Compile Include="Headset\CorsairHeadsetRGBDevice.cs" />
<Compile Include="Headset\CorsairHeadsetRGBDeviceInfo.cs" />
<Compile Include="Headset\HeadsetIdMapping.cs" />
<Compile Include="Helper\DictionaryExtension.cs" />
<Compile Include="Keyboard\CorsairKeyboardRGBDevice.cs" />
<Compile Include="Keyboard\CorsairKeyboardRGBDeviceInfo.cs" />
<Compile Include="Keyboard\KeyboardIdMapping.cs" />
<Compile Include="Mousepad\MousepadIdMapping.cs" />
<Compile Include="Mouse\CorsairMouseRGBDevice.cs" />
<Compile Include="Mouse\CorsairMouseRGBDeviceInfo.cs" />
<Compile Include="Mousepad\CorsairMousepadRGBDevice.cs" />
<Compile Include="Mousepad\CorsairMousepadRGBDeviceInfo.cs" />
<Compile Include="Mouse\MouseIdMapping.cs" />
<Compile Include="Native\_CorsairDeviceInfo.cs" />
<Compile Include="Native\_CorsairLedColor.cs" />
<Compile Include="Native\_CorsairLedPosition.cs" />
@@ -1,5 +1,6 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=headsetstand/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=helper/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=libs/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=mousepad/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=native/@EntryIndexedValue">False</s:Boolean>
@@ -50,10 +50,10 @@ namespace RGB.NET.Devices.Corsair.SpecialParts
/// <param name="device">The device associated with this <see cref="IRGBDeviceSpecialPart"/>.</param>
public LightbarSpecialPart(IRGBDevice device)
{
_leds = device.Where(led => (((CorsairLedId)led.Id).LedId >= CorsairLedIds.Lightbar1) && (((CorsairLedId)led.Id).LedId <= CorsairLedIds.Lightbar19)).ToList();
_left = _leds.Where(led => ((CorsairLedId)led.Id).LedId < CorsairLedIds.Lightbar10).ToList();
_right = _leds.Where(led => ((CorsairLedId)led.Id).LedId > CorsairLedIds.Lightbar10).ToList();
Center = _leds.FirstOrDefault(led => ((CorsairLedId)led.Id).LedId == CorsairLedIds.Lightbar10);
_leds = device.Where(led => ((CorsairLedId)led.CustomData >= CorsairLedId.Lightbar1) && ((CorsairLedId)led.CustomData <= CorsairLedId.Lightbar19)).ToList();
_left = _leds.Where(led => (CorsairLedId)led.CustomData < CorsairLedId.Lightbar10).ToList();
_right = _leds.Where(led => (CorsairLedId)led.CustomData > CorsairLedId.Lightbar10).ToList();
Center = _leds.FirstOrDefault(led => (CorsairLedId)led.CustomData == CorsairLedId.Lightbar10);
}
#endregion