diff --git a/src/Artemis.Core/Models/Surface/Device.cs b/src/Artemis.Core/Models/Surface/Device.cs index 4ca88f17b..85c287cd1 100644 --- a/src/Artemis.Core/Models/Surface/Device.cs +++ b/src/Artemis.Core/Models/Surface/Device.cs @@ -99,9 +99,12 @@ namespace Artemis.Core.Models.Surface (int) Math.Round(RgbDevice.Size.Height * Surface.Scale, MidpointRounding.AwayFromZero) ); + if (!Leds.Any()) + return; + foreach (var led in Leds) led.CalculateRenderRectangle(); - + var path = new GraphicsPath(); path.AddRectangles(Leds.Select(l => l.AbsoluteRenderRectangle).ToArray()); RenderPath = path; diff --git a/src/Artemis.Core/Plugins/Abstract/Device.cs b/src/Artemis.Core/Plugins/Abstract/Device.cs index e48bda8b7..0f2f02f59 100644 --- a/src/Artemis.Core/Plugins/Abstract/Device.cs +++ b/src/Artemis.Core/Plugins/Abstract/Device.cs @@ -1,4 +1,6 @@ using System; +using System.IO; +using Artemis.Core.Extensions; using Artemis.Core.Plugins.Models; using RGB.NET.Core; @@ -16,5 +18,18 @@ namespace Artemis.Core.Plugins.Abstract { DeviceProvider = deviceProvider ?? throw new ArgumentNullException(nameof(deviceProvider)); } + + + protected void ResolveAbsolutePath(Type type, object sender, ResolvePathEventArgs e) + { + if (sender.GetType().IsGenericType(type)) + { + // Start from the plugin directory + if (e.RelativePart != null && e.FileName != null) + e.FinalPath = Path.Combine(PluginInfo.Directory.FullName, e.RelativePart, e.FileName); + else if (e.RelativePath != null) + e.FinalPath = Path.Combine(PluginInfo.Directory.FullName, e.RelativePath); + } + } } } \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/Abstract/Module.cs b/src/Artemis.Core/Plugins/Abstract/Module.cs index 5526dcea4..e710c3bb6 100644 --- a/src/Artemis.Core/Plugins/Abstract/Module.cs +++ b/src/Artemis.Core/Plugins/Abstract/Module.cs @@ -1,4 +1,5 @@ -using System.Drawing; +using System.Collections.Generic; +using System.Drawing; using Artemis.Core.Models.Surface; using Artemis.Core.Plugins.Models; using RGB.NET.Core; @@ -42,9 +43,9 @@ namespace Artemis.Core.Plugins.Abstract public abstract void Render(double deltaTime, Surface surface, Graphics graphics); /// - /// Called when the module's main view is being shown + /// Called when the module's view model is being show, return view models here to create tabs for them /// /// - public abstract IScreen GetMainViewModel(); + public abstract IEnumerable GetViewModels(); } } \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs b/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs index 559f5ed42..ead43c4e7 100644 --- a/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs +++ b/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs @@ -4,11 +4,13 @@ namespace Artemis.Core.Plugins.Abstract { public abstract class ModuleViewModel : Screen { - protected ModuleViewModel(Module module) + protected ModuleViewModel(Module module, string name) { Module = module; + Name = name; } + public string Name { get; } public Module Module { get; } } } \ No newline at end of file diff --git a/src/Artemis.Core/Services/CoreService.cs b/src/Artemis.Core/Services/CoreService.cs index ca61bdc34..60d80819a 100644 --- a/src/Artemis.Core/Services/CoreService.cs +++ b/src/Artemis.Core/Services/CoreService.cs @@ -30,6 +30,7 @@ namespace Artemis.Core.Services _surfaceService = surfaceService; _rgbService.Surface.Updating += SurfaceOnUpdating; _rgbService.Surface.Updated += SurfaceOnUpdated; + Task.Run(Initialize); } diff --git a/src/Artemis.Core/Services/Interfaces/IPluginService.cs b/src/Artemis.Core/Services/Interfaces/IPluginService.cs index af6b27c5e..c50bec069 100644 --- a/src/Artemis.Core/Services/Interfaces/IPluginService.cs +++ b/src/Artemis.Core/Services/Interfaces/IPluginService.cs @@ -69,8 +69,20 @@ namespace Artemis.Core.Services.Interfaces /// Returns a list of plug instances of type List GetPluginsOfType() where T : Plugin; + Plugin GetDevicePlugin(IRGBDevice device); + #region Events + /// + /// Occurs when built-in plugins are being loaded + /// + event EventHandler CopyingBuildInPlugins; + + /// + /// Occurs when a plugin has started loading + /// + event EventHandler PluginLoading; + /// /// Occurs when a plugin has loaded /// @@ -92,7 +104,5 @@ namespace Artemis.Core.Services.Interfaces event EventHandler PluginDisabled; #endregion - - Plugin GetDevicePlugin(IRGBDevice device); } } \ No newline at end of file diff --git a/src/Artemis.Core/Services/PluginService.cs b/src/Artemis.Core/Services/PluginService.cs index bce9a577b..ec4a6e3ee 100644 --- a/src/Artemis.Core/Services/PluginService.cs +++ b/src/Artemis.Core/Services/PluginService.cs @@ -15,6 +15,7 @@ using Ninject; using Ninject.Extensions.ChildKernel; using Ninject.Parameters; using RGB.NET.Core; +using Serilog; namespace Artemis.Core.Services { @@ -24,12 +25,14 @@ namespace Artemis.Core.Services public class PluginService : IPluginService { private readonly IKernel _kernel; + private readonly ILogger _logger; private readonly List _plugins; private IKernel _childKernel; - internal PluginService(IKernel kernel) + internal PluginService(IKernel kernel, ILogger logger) { _kernel = kernel; + _logger = logger; _plugins = new List(); // Ensure the plugins directory exists @@ -43,11 +46,12 @@ namespace Artemis.Core.Services /// public void CopyBuiltInPlugins() { + OnCopyingBuildInPlugins(); var pluginDirectory = new DirectoryInfo(Path.Combine(Constants.DataFolder, "plugins")); // Iterate built-in plugins - var varBuiltInPluginDirectory = new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "Plugins")); - foreach (var subDirectory in varBuiltInPluginDirectory.EnumerateDirectories()) + var builtInPluginDirectory = new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "Plugins")); + foreach (var subDirectory in builtInPluginDirectory.EnumerateDirectories()) { // Load the metadata var builtInMetadataFile = Path.Combine(subDirectory.FullName, "plugin.json"); @@ -113,23 +117,33 @@ namespace Artemis.Core.Services // Load the metadata var metadataFile = Path.Combine(subDirectory.FullName, "plugin.json"); if (!File.Exists(metadataFile)) - throw new ArtemisPluginException("Couldn't find the plugins metadata file at " + metadataFile); + { + _logger.Warning(new ArtemisPluginException("Couldn't find the plugins metadata file at " + metadataFile), "Plugin exception"); + } // Locate the main entry var pluginInfo = JsonConvert.DeserializeObject(File.ReadAllText(metadataFile)); pluginInfo.Directory = subDirectory; + OnPluginLoading(new PluginEventArgs(pluginInfo)); LoadPlugin(pluginInfo); } catch (Exception e) { - throw new ArtemisPluginException("Failed to load plugin", e); + _logger.Warning(new ArtemisPluginException("Failed to load plugin", e), "Plugin exception"); } } // Activate plugins after they are all loaded foreach (var pluginInfo in _plugins.Where(p => p.Enabled)) { - pluginInfo.Instance.EnablePlugin(); + try + { + pluginInfo.Instance.EnablePlugin(); + } + catch (Exception e) + { + _logger.Warning(new ArtemisPluginException(pluginInfo, "Failed to load enable plugin", e), "Plugin exception"); + } OnPluginEnabled(new PluginEventArgs(pluginInfo)); } @@ -307,11 +321,23 @@ namespace Artemis.Core.Services #region Events + public event EventHandler CopyingBuildInPlugins; + public event EventHandler PluginLoading; public event EventHandler PluginLoaded; public event EventHandler PluginUnloaded; public event EventHandler PluginEnabled; public event EventHandler PluginDisabled; + protected virtual void OnCopyingBuildInPlugins() + { + CopyingBuildInPlugins?.Invoke(this, EventArgs.Empty); + } + + protected virtual void OnPluginLoading(PluginEventArgs e) + { + PluginLoading?.Invoke(this, e); + } + protected virtual void OnPluginLoaded(PluginEventArgs e) { PluginLoaded?.Invoke(this, e); diff --git a/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs b/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs index 98e4b0272..610b1233c 100644 --- a/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs +++ b/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs @@ -20,24 +20,12 @@ namespace Artemis.Plugins.Devices.Corsair public override void EnablePlugin() { - PathHelper.ResolvingAbsolutePath += ResolveCorsairPath; + PathHelper.ResolvingAbsolutePath += (sender, args) => ResolveAbsolutePath(typeof(CorsairRGBDevice<>), sender, args); CorsairDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "CUESDK.dll")); CorsairDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "CUESDK.dll")); _rgbService.AddDeviceProvider(DeviceProvider); } - - private void ResolveCorsairPath(object sender, ResolvePathEventArgs e) - { - if (sender.GetType().IsGenericType(typeof(CorsairRGBDevice<>))) - { - // Start from the plugin directory - if (e.RelativePart != null && e.FileName != null) - e.FinalPath = Path.Combine(PluginInfo.Directory.FullName, e.RelativePart, e.FileName); - else if (e.RelativePath != null) - e.FinalPath = Path.Combine(PluginInfo.Directory.FullName, e.RelativePath); - } - } - + public override void DisablePlugin() { // TODO: Remove the device provider from the surface diff --git a/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj b/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj new file mode 100644 index 000000000..8bf88eab9 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj @@ -0,0 +1,80 @@ + + + + + Debug + AnyCPU + {235A45C7-24AD-4F47-B9D4-CD67E610A04D} + Library + Properties + Artemis.Plugins.Devices.Logitech + Artemis.Plugins.Devices.Logitech + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\RGB.NET\bin\net45\RGB.NET.Core.dll + + + ..\..\..\RGB.NET\bin\net45\RGB.NET.Devices.Logitech.dll + + + + + + + + + + + + + + + + + {9B811F9B-86B9-4771-87AF-72BAE7078A36} + Artemis.Core + + + + + PreserveNewest + + + PreserveNewest + + + + + PreserveNewest + + + + + echo Copying resources to plugin output directory +XCOPY "$(ProjectDir)Images" "$(TargetDir)Images" /s /q /i /y +XCOPY "$(ProjectDir)Layouts" "$(TargetDir)Layouts" /s /q /i /y +echo Copying plugin to Artemis.UI output directory +XCOPY "$(TargetDir.TrimEnd('\'))" "$(SolutionDir)\Artemis.UI\$(OutDir)Plugins\$(ProjectName)" /s /q /i /y + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/G910.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/G910.png new file mode 100644 index 000000000..dd4220451 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/G910.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/0_Equals_CurlyBracketRight.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/0_Equals_CurlyBracketRight.png new file mode 100644 index 000000000..e8afa3e2a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/0_Equals_CurlyBracketRight.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/1_ExclamationMark.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/1_ExclamationMark.png new file mode 100644 index 000000000..1beb4e4c6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/1_ExclamationMark.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/2_QuotationMark_Exponent2.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/2_QuotationMark_Exponent2.png new file mode 100644 index 000000000..e424ed93e Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/2_QuotationMark_Exponent2.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/3_SectionSign_Exponent3.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/3_SectionSign_Exponent3.png new file mode 100644 index 000000000..0611817fb Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/3_SectionSign_Exponent3.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/4_Dollar.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/4_Dollar.png new file mode 100644 index 000000000..1c5c7c5ea Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/4_Dollar.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/5_Percent.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/5_Percent.png new file mode 100644 index 000000000..42632546b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/5_Percent.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/6_Ampersand.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/6_Ampersand.png new file mode 100644 index 000000000..b5af4e71a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/6_Ampersand.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/7_Slash_CurlyBracketLeft.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/7_Slash_CurlyBracketLeft.png new file mode 100644 index 000000000..73a3a4691 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/7_Slash_CurlyBracketLeft.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/8_BracketLeft_SquareBracketLeft.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/8_BracketLeft_SquareBracketLeft.png new file mode 100644 index 000000000..e9d9352e4 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/8_BracketLeft_SquareBracketLeft.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/9_BracketRight_SquareBracketRight.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/9_BracketRight_SquareBracketRight.png new file mode 100644 index 000000000..638f59957 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/9_BracketRight_SquareBracketRight.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/A.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/A.png new file mode 100644 index 000000000..925c71c45 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/A.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AE.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AE.png new file mode 100644 index 000000000..5714c5bb9 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AE.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AccentGrave_AccentAcute.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AccentGrave_AccentAcute.png new file mode 100644 index 000000000..2516065dd Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AccentGrave_AccentAcute.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Alt.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Alt.png new file mode 100644 index 000000000..864737ae6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Alt.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AltGr.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AltGr.png new file mode 100644 index 000000000..dfc4b37f0 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/AltGr.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Asterisk.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Asterisk.png new file mode 100644 index 000000000..1d8608b68 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Asterisk.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/B.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/B.png new file mode 100644 index 000000000..296c37319 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/B.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Backspace.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Backspace.png new file mode 100644 index 000000000..5d24401b7 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Backspace.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildDown.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildDown.png new file mode 100644 index 000000000..90de4fb36 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildDown.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildUp.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildUp.png new file mode 100644 index 000000000..31c1e229b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/BildUp.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/C.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/C.png new file mode 100644 index 000000000..3eb305ed3 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/C.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CapsLockA.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CapsLockA.png new file mode 100644 index 000000000..51add26c8 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CapsLockA.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretDown.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretDown.png new file mode 100644 index 000000000..570394938 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretDown.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretLeft.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretLeft.png new file mode 100644 index 000000000..553e6e0ec Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretLeft.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretRight.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretRight.png new file mode 100644 index 000000000..2e067445c Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretRight.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretUp.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretUp.png new file mode 100644 index 000000000..3d72c3807 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/CaretUp.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Circumflex_Degree.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Circumflex_Degree.png new file mode 100644 index 000000000..4e1727508 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Circumflex_Degree.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Entf.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Entf.png new file mode 100644 index 000000000..9659d8938 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Entf.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Semicolon.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Semicolon.png new file mode 100644 index 000000000..ff4f2056d Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Comma_Semicolon.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/D.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/D.png new file mode 100644 index 000000000..ec7475ea8 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/D.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Dot_Colon.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Dot_Colon.png new file mode 100644 index 000000000..4ca7ad577 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Dot_Colon.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Drucken.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Drucken.png new file mode 100644 index 000000000..dd20a5e4e Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Drucken.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/E_Euro.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/E_Euro.png new file mode 100644 index 000000000..7f27c30c8 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/E_Euro.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Einfg.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Einfg.png new file mode 100644 index 000000000..fdcfeee92 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Einfg.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Ende.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Ende.png new file mode 100644 index 000000000..8433a3308 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Ende.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Enter.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Enter.png new file mode 100644 index 000000000..155018330 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Enter.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Entf.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Entf.png new file mode 100644 index 000000000..d6e9deb44 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Entf.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Escape.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Escape.png new file mode 100644 index 000000000..741b24c15 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Escape.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F.png new file mode 100644 index 000000000..fa20fc1c3 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F1.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F1.png new file mode 100644 index 000000000..37495c1ad Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F1.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F10.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F10.png new file mode 100644 index 000000000..fa18ec638 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F10.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F11.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F11.png new file mode 100644 index 000000000..af3aa8a07 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F11.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F12.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F12.png new file mode 100644 index 000000000..f269431dc Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F12.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F2.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F2.png new file mode 100644 index 000000000..b2d82117a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F2.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F3.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F3.png new file mode 100644 index 000000000..31962762f Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F3.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F4.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F4.png new file mode 100644 index 000000000..849a49f82 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F4.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F5.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F5.png new file mode 100644 index 000000000..1251a801d Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F5.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F6.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F6.png new file mode 100644 index 000000000..ef3137cc9 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F6.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F7.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F7.png new file mode 100644 index 000000000..56971fb60 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F7.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F8.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F8.png new file mode 100644 index 000000000..8af4c3ec6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F8.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F9.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F9.png new file mode 100644 index 000000000..44748151e Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/F9.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G.png new file mode 100644 index 000000000..c57c3edee Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G1.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G1.png new file mode 100644 index 000000000..2e00a8e11 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G1.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G2.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G2.png new file mode 100644 index 000000000..f8d3a3322 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G2.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G3.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G3.png new file mode 100644 index 000000000..9ddb3282e Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G3.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G4.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G4.png new file mode 100644 index 000000000..a79a2e929 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G4.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G5.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G5.png new file mode 100644 index 000000000..e7bb655e9 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G5.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G6.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G6.png new file mode 100644 index 000000000..5d569e843 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G6.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G7.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G7.png new file mode 100644 index 000000000..4858d4766 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G7.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G8.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G8.png new file mode 100644 index 000000000..de667d2c3 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G8.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G9.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G9.png new file mode 100644 index 000000000..5988127f5 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/G9.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/H.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/H.png new file mode 100644 index 000000000..3a62b3031 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/H.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hash_Apostrophe.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hash_Apostrophe.png new file mode 100644 index 000000000..1d25a9de6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hash_Apostrophe.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hyphen_Underscore.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hyphen_Underscore.png new file mode 100644 index 000000000..754df53c3 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Hyphen_Underscore.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/I.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/I.png new file mode 100644 index 000000000..78fecd81d Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/I.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/J.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/J.png new file mode 100644 index 000000000..072227dac Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/J.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/K.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/K.png new file mode 100644 index 000000000..fb572cc11 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/K.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/L.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/L.png new file mode 100644 index 000000000..8d878c81b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/L.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/LessThan_GreaterThan_Pipe.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/LessThan_GreaterThan_Pipe.png new file mode 100644 index 000000000..eefd2ac26 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/LessThan_GreaterThan_Pipe.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/M_Mu.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/M_Mu.png new file mode 100644 index 000000000..7d1a93b66 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/M_Mu.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Menu.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Menu.png new file mode 100644 index 000000000..63edb4bd9 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Menu.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Minus.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Minus.png new file mode 100644 index 000000000..7e87e5cea Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Minus.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/N.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/N.png new file mode 100644 index 000000000..9e9955309 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/N.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num.png new file mode 100644 index 000000000..ee26594d5 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num0_Einfg.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num0_Einfg.png new file mode 100644 index 000000000..45d8fe622 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num0_Einfg.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num1_Ende.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num1_Ende.png new file mode 100644 index 000000000..1c7637260 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num1_Ende.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num2_ArrowDown.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num2_ArrowDown.png new file mode 100644 index 000000000..de979d14b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num2_ArrowDown.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num3_BildDown.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num3_BildDown.png new file mode 100644 index 000000000..2229b9679 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num3_BildDown.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num4_ArrowLeft.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num4_ArrowLeft.png new file mode 100644 index 000000000..6ffa5d564 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num4_ArrowLeft.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num5.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num5.png new file mode 100644 index 000000000..2cd2843c0 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num5.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num6_ArrowRight.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num6_ArrowRight.png new file mode 100644 index 000000000..2e2eaa7ad Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num6_ArrowRight.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num7_Pos1.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num7_Pos1.png new file mode 100644 index 000000000..b523d9bfb Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num7_Pos1.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num8_ArrowUp.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num8_ArrowUp.png new file mode 100644 index 000000000..ad683d717 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num8_ArrowUp.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num9_BildUp.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num9_BildUp.png new file mode 100644 index 000000000..f41195d31 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Num9_BildUp.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumEnter.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumEnter.png new file mode 100644 index 000000000..e52f4e65c Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumEnter.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumPlus.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumPlus.png new file mode 100644 index 000000000..db412dc53 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/NumPlus.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/O.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/O.png new file mode 100644 index 000000000..b9c8cef66 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/O.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/OE.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/OE.png new file mode 100644 index 000000000..f5b05a173 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/OE.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/P.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/P.png new file mode 100644 index 000000000..5c918f9ff Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/P.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/PauseUntbr.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/PauseUntbr.png new file mode 100644 index 000000000..efc9f3959 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/PauseUntbr.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Plus_Asterisk_Tilde.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Plus_Asterisk_Tilde.png new file mode 100644 index 000000000..b072a01a6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Plus_Asterisk_Tilde.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Pos1.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Pos1.png new file mode 100644 index 000000000..bf024681e Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Pos1.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Q_At.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Q_At.png new file mode 100644 index 000000000..365b98723 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Q_At.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/QuestionMark_SharpS_Backslash.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/QuestionMark_SharpS_Backslash.png new file mode 100644 index 000000000..91d17bf98 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/QuestionMark_SharpS_Backslash.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/R.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/R.png new file mode 100644 index 000000000..1cdbf0dfa Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/R.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Rollen.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Rollen.png new file mode 100644 index 000000000..f3696df34 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Rollen.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/S.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/S.png new file mode 100644 index 000000000..919121ddb Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/S.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Shift.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Shift.png new file mode 100644 index 000000000..9ac730f1c Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Shift.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/ShiftBig.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/ShiftBig.png new file mode 100644 index 000000000..f5ea3126a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/ShiftBig.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Slash.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Slash.png new file mode 100644 index 000000000..13609b386 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Slash.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Space.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Space.png new file mode 100644 index 000000000..6c09dcd09 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Space.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Strg.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Strg.png new file mode 100644 index 000000000..d3761c87a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Strg.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/T.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/T.png new file mode 100644 index 000000000..00328f2b8 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/T.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Tab.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Tab.png new file mode 100644 index 000000000..c52c503f6 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Tab.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/U.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/U.png new file mode 100644 index 000000000..c015e3bf4 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/U.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/UE.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/UE.png new file mode 100644 index 000000000..8d51805f8 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/UE.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/V.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/V.png new file mode 100644 index 000000000..0155f454f Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/V.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/W.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/W.png new file mode 100644 index 000000000..b99c2da94 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/W.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Windows.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Windows.png new file mode 100644 index 000000000..68198cdbf Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Windows.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/X.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/X.png new file mode 100644 index 000000000..1032b2367 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/X.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Y.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Y.png new file mode 100644 index 000000000..9c6632d8b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Y.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Z.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Z.png new file mode 100644 index 000000000..a05a3ac3b Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Keyboards/Raptor_Keys/Z.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Mice/G403.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Mice/G403.png new file mode 100644 index 000000000..4b0e6c722 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/Mice/G403.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/empty.png b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/empty.png new file mode 100644 index 000000000..af367b99a Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/Images/Logitech/empty.png differ diff --git a/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G610/UK.xml b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G610/UK.xml new file mode 100644 index 000000000..72023df7a --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G610/UK.xml @@ -0,0 +1,226 @@ + + + Logitech G610 - Physical UK + Physical UK-Layout of Logitech G610 (Logical: ???) + Darth Affe + Keyboard + Key + Logitech + G610 + 442 + 152 + Images\Logitech\Keyboards + + + + + 5 + 28 + + + + +12.667 + + + + + + + +12.667 + + + + + + + +12.667 + + + + + + + +6.75 + + + + + + + 5 + 52 + + + + + + + + + + + + + + + 2 + + + + +6.75 + + + + + + +6.75 + + + + + + + + 5 + + + 1.5 + + + + + + + + + + + + + + + M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z + 1.5 + 2 + + + + +6.75 + + + + + + +6.75 + + + + + 2 + + + + + 5 + ~ + 1.75 + + + + + + + + + + + + + + + + +94.25 + + + + + + + 5 + + + 1.25 + + + + + + + + + + + + + + 2.75 + + + + +25.75 + + + + +25.75 + + + + + 2 + + + + + 5 + ~ + 1.5 + + + 1.25 + + + 1.25 + + + 5.75 + + + 1.25 + + + 1.25 + + + 1.25 + + + 1.5 + + + + +6.75 + + + + + + +6.75 + 2 + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G810/UK.xml b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G810/UK.xml new file mode 100644 index 000000000..c2e38a4e4 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G810/UK.xml @@ -0,0 +1,226 @@ + + + Logitech G810 - Physical UK + Physical UK-Layout of Logitech G810 (Logical: ???) + Darth Affe + Keyboard + Key + Logitech + G810 + 442 + 152 + Images\Logitech\Keyboards + + + + + 5 + 28 + + + + +12.667 + + + + + + + +12.667 + + + + + + + +12.667 + + + + + + + +6.75 + + + + + + + 5 + 52 + + + + + + + + + + + + + + + 2 + + + + +6.75 + + + + + + +6.75 + + + + + + + + 5 + + + 1.5 + + + + + + + + + + + + + + + M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z + 1.5 + 2 + + + + +6.75 + + + + + + +6.75 + + + + + 2 + + + + + 5 + ~ + 1.75 + + + + + + + + + + + + + + + + +94.25 + + + + + + + 5 + + + 1.25 + + + + + + + + + + + + + + 2.75 + + + + +25.75 + + + + +25.75 + + + + + 2 + + + + + 5 + ~ + 1.5 + + + 1.25 + + + 1.25 + + + 5.75 + + + 1.25 + + + 1.25 + + + 1.25 + + + 1.5 + + + + +6.75 + + + + + + +6.75 + 2 + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G910/UK.xml b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G910/UK.xml new file mode 100644 index 000000000..f1b94c459 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/G910/UK.xml @@ -0,0 +1,390 @@ + + + Logitech G910 - Physical UK + Physical UK-Layout of Logitech G910 (Logical: ???) + Darth Affe + Keyboard + Key + Logitech + G910 + 491 + 238 + Images\Logitech\Keyboards + G910.png + + + + 42 + 28 + + + + +12.667 + + + + + + + +12.667 + + + + + + + +12.667 + + + + + + + +6.75 + + + + + + + 42 + 52 + + + + + + + + + + + + + + + 2 + + + + +6.75 + + + + + + +6.75 + + + + + + + + 42 + + + 1.5 + + + + + + + + + + + + + + + M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z + 1.5 + 2 + + + + +6.75 + + + + + + +6.75 + + + + + 2 + + + + + 42 + ~ + 1.75 + + + + + + + + + + + + + + + + +94.25 + + + + + + + 42 + + + 1.25 + + + + + + + + + + + + + + 2.75 + + + + +25.75 + + + + +25.75 + + + + + 2 + + + + + 42 + ~ + 1.5 + + + 1.25 + + + 1.25 + + + 5.75 + + + 1.25 + + + 1.25 + + + 1.25 + + + 1.5 + + + + +6.75 + + + + + + +6.75 + 2 + + + + + + 18 + 52 + + + 18 + + + + + 18 + + + + + 18 + + + + + 18 + + + + + + 73.667 + 9 + + + + + + + + M 0,0 L0.15,1 0.85,1 L 1,0 Z + 92.5 + 166.5 + 55mm + 9mm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/Pro/UK.xml b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/Pro/UK.xml new file mode 100644 index 000000000..4d42f843d --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Keyboards/Pro/UK.xml @@ -0,0 +1,189 @@ + + + Logitech Pro Gaming Keyboard - Physical UK + Physical UK-Layout of Logitech Pro Gaming Keyboard (Logical: ???) + Darth Affe + Keyboard + Key + Logitech + Pro + 360 + 152 + Images\Logitech\Keyboards + + + + + 5 + 28 + + + + +12.667 + + + + + + + +12.667 + + + + + + + +12.667 + + + + + + + +6.75 + + + + + + + 5 + 52 + + + + + + + + + + + + + + + 2 + + + + +6.75 + + + + + + + 5 + + + 1.5 + + + + + + + + + + + + + + + M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z + 1.5 + 2 + + + + +6.75 + + + + + + + 5 + + + 1.75 + + + + + + + + + + + + + + + + + 5 + + + 1.25 + + + + + + + + + + + + + + 2.75 + + + + +25.75 + + + + + 5 + + + 1.5 + + + 1.25 + + + 1.25 + + + 5.75 + + + 1.25 + + + 1.25 + + + 1.25 + + + 1.5 + + + + +6.75 + + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Mice/G403.xml b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Mice/G403.xml new file mode 100644 index 000000000..f60da7443 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Layouts/Logitech/Mice/G403.xml @@ -0,0 +1,23 @@ + + + Logitech G403 + Layout of the Logitech G403 Mouse + Darth Affe + Mouse + Device + Logitech + G403 + 67 + 125 + Images\Logitech\Mice + G403.png + + + m 0.7025,0.00275 -0.15,0 -0,0.26 h 0.15 z m -0.16732,0.7925 c -0.7,0.0159 -0.55,0.19383 -0.006236,0.19067 l 0.001707,-0.0416 c -0.425,-0.0115 -0.225,-0.11 0.005116,-0.10 z m 0.410,0.0779 -0.435,0 0,0.0401 0.225,0 0,0.0437 0.21,0 z + 24 + 15 + 17mm + 81mm + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs b/src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs new file mode 100644 index 000000000..937bc5f13 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs @@ -0,0 +1,37 @@ +using System; +using System.IO; +using Artemis.Core.Extensions; +using Artemis.Core.Plugins.Abstract; +using Artemis.Core.Plugins.Models; +using Artemis.Core.Services.Interfaces; +using RGB.NET.Core; +using RGB.NET.Devices.Logitech; + +namespace Artemis.Plugins.Devices.Logitech +{ + public class LogitechDevice : Device + { + private readonly IRgbService _rgbService; + + public LogitechDevice(PluginInfo pluginInfo, IRgbService rgbService) : base(pluginInfo, LogitechDeviceProvider.Instance) + { + _rgbService = rgbService; + } + + public override void EnablePlugin() + { + PathHelper.ResolvingAbsolutePath += (sender, args) => ResolveAbsolutePath(typeof(LogitechRGBDevice<>), sender, args); + LogitechDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "LogitechLedEnginesWrapper.dll")); + LogitechDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "LogitechLedEnginesWrapper.dll")); + _rgbService.AddDeviceProvider(DeviceProvider); + } + + public override void DisablePlugin() + { + } + + public override void Dispose() + { + } + } +} \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Properties/AssemblyInfo.cs b/src/Artemis.Plugins.Devices.Logitech/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..79fac2002 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Artemis.Plugins.Devices.Logitech")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Artemis.Plugins.Devices.Logitech")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("235a45c7-24ad-4f47-b9d4-cd67e610a04d")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Artemis.Plugins.Devices.Logitech/plugin.json b/src/Artemis.Plugins.Devices.Logitech/plugin.json new file mode 100644 index 000000000..3777d2245 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Logitech/plugin.json @@ -0,0 +1,10 @@ +{ + "Guid": "62a45c0c-884c-4868-9fd7-3c5987fe07ca", + "Name": "Logitech Devices", + "Version": { + "Major": 1, + "Minor": 0, + "Build": 0 + }, + "Main": "Artemis.Plugins.Devices.Logitech.dll" +} diff --git a/src/Artemis.Plugins.Devices.Logitech/x64/LogitechLedEnginesWrapper.dll b/src/Artemis.Plugins.Devices.Logitech/x64/LogitechLedEnginesWrapper.dll new file mode 100644 index 000000000..52ff28506 Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/x64/LogitechLedEnginesWrapper.dll differ diff --git a/src/Artemis.Plugins.Devices.Logitech/x86/LogitechLedEnginesWrapper.dll b/src/Artemis.Plugins.Devices.Logitech/x86/LogitechLedEnginesWrapper.dll new file mode 100644 index 000000000..c4072a11d Binary files /dev/null and b/src/Artemis.Plugins.Devices.Logitech/x86/LogitechLedEnginesWrapper.dll differ diff --git a/src/Artemis.Plugins.Modules.General/GeneralModule.cs b/src/Artemis.Plugins.Modules.General/GeneralModule.cs index 3ae230ed6..e1feab291 100644 --- a/src/Artemis.Plugins.Modules.General/GeneralModule.cs +++ b/src/Artemis.Plugins.Modules.General/GeneralModule.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; @@ -6,15 +7,14 @@ using Artemis.Core.Models.Surface; using Artemis.Core.Plugins.Abstract; using Artemis.Core.Plugins.Models; using Artemis.Plugins.Modules.General.ViewModels; -using Stylet; using Device = Artemis.Core.Models.Surface.Device; namespace Artemis.Plugins.Modules.General { public class GeneralModule : Module { - private readonly PluginSettings _settings; private readonly ColorBlend _rainbowColorBlend; + private readonly PluginSettings _settings; public GeneralModule(PluginInfo pluginInfo, PluginSettings settings) : base(pluginInfo) { @@ -118,9 +118,9 @@ namespace Artemis.Plugins.Modules.General } } - public override IScreen GetMainViewModel() + public override IEnumerable GetViewModels() { - return new GeneralViewModel(this); + return new List {new GeneralViewModel(this)}; } public override void Dispose() diff --git a/src/Artemis.Plugins.Modules.General/ViewModels/GeneralViewModel.cs b/src/Artemis.Plugins.Modules.General/ViewModels/GeneralViewModel.cs index b9f75f0f8..7ab14f005 100644 --- a/src/Artemis.Plugins.Modules.General/ViewModels/GeneralViewModel.cs +++ b/src/Artemis.Plugins.Modules.General/ViewModels/GeneralViewModel.cs @@ -5,7 +5,7 @@ namespace Artemis.Plugins.Modules.General.ViewModels { public class GeneralViewModel : ModuleViewModel { - public GeneralViewModel(Module module) : base(module) + public GeneralViewModel(Module module) : base(module, "General") { } } diff --git a/src/Artemis.UI/App.xaml b/src/Artemis.UI/App.xaml index 062eb31e9..19257ccf3 100644 --- a/src/Artemis.UI/App.xaml +++ b/src/Artemis.UI/App.xaml @@ -2,11 +2,11 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="https://github.com/canton7/Stylet" - xmlns:local="clr-namespace:Artemis.UI"> + xmlns:local="clr-namespace:Artemis.UI" + xmlns:dragablz="http://dragablz.net/winfx/xaml/dragablz"> - @@ -29,6 +29,9 @@ Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Teal.xaml" /> + + + @@ -55,9 +58,44 @@ + +