From 77c048bf3c00694a18be89ef2a613ec4eb550ef0 Mon Sep 17 00:00:00 2001 From: Martin Renner Date: Mon, 2 Sep 2024 22:45:33 +0200 Subject: [PATCH] Adds device types for Stream Deck Pedal, Corsair Voyager and Stream Deck Plus. (cherry picked from commit 409345e3e2476c5cbc6bd9b516dcfd28fa3f4243) --- src/SharpDeck/Enums/DeviceType.cs | 20 ++++++++++++++++++- .../Extensions/DeviceTypeExtensions.cs | 6 ++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/SharpDeck/Enums/DeviceType.cs b/src/SharpDeck/Enums/DeviceType.cs index 377ebec..77711c1 100644 --- a/src/SharpDeck/Enums/DeviceType.cs +++ b/src/SharpDeck/Enums/DeviceType.cs @@ -38,6 +38,24 @@ public enum DeviceType /// Defines a Corsair G-Key compatible keyboard: kESDSDKDeviceType_CorsairGKeys. /// [EnumMember(Value = "kESDSDKDeviceType_CorsairGKeys")] - CorsairGKeys = 4 + CorsairGKeys = 4, + + /// + /// Defines a Stream Deck Pedal: kESDSDKDeviceType_StreamDeckPedal. + /// + [EnumMember(Value = "kESDSDKDeviceType_StreamDeckPedal")] + StreamDeckPedal = 5, + + /// + /// Defines a Corsair Voyager: kESDSDKDeviceType_CorsairVoyager. + /// + [EnumMember(Value = "kESDSDKDeviceType_CorsairVoyager")] + CorsairVoyager = 6, + + /// + /// Defines a Stream Deck Plus: kESDSDKDeviceType_StreamDeckPlus. + /// + [EnumMember(Value = "kESDSDKDeviceType_StreamDeckPlus")] + StreamDeckPlus = 7, } } diff --git a/src/SharpDeck/Extensions/DeviceTypeExtensions.cs b/src/SharpDeck/Extensions/DeviceTypeExtensions.cs index 2451d2a..db493c1 100644 --- a/src/SharpDeck/Extensions/DeviceTypeExtensions.cs +++ b/src/SharpDeck/Extensions/DeviceTypeExtensions.cs @@ -16,6 +16,9 @@ public static class DeviceTypeExtensions /// = "MyProfileXL" /// = "MyProfileMobile" /// = "MyProfileGKeys" + /// = "MyProfilePedal" + /// = "MyProfileVoyager" + /// = "MyProfilePlus" /// /// /// The device type; this instance. @@ -30,6 +33,9 @@ public static string GetProfileName(this DeviceType deviceType, string profile) case DeviceType.StreamDeckXL: return $"{profile}XL"; case DeviceType.StreamDeckMobile: return $"{profile}Mobile"; case DeviceType.CorsairGKeys: return $"{profile}GKeys"; + case DeviceType.StreamDeckPedal: return $"{profile}Pedal"; + case DeviceType.CorsairVoyager: return $"{profile}Voyager"; + case DeviceType.StreamDeckPlus: return $"{profile}Plus"; default: throw new NotSupportedException($"Unable to transform profile name; {deviceType} is not a supported device."); } }