From e00adcc37fdfab411405559e7163125b72ef99d0 Mon Sep 17 00:00:00 2001 From: Burathar Date: Mon, 20 Apr 2020 23:19:01 +0200 Subject: [PATCH] Initial commit --- .gitignore | 225 +++ ChromaEffectsImporter.sln | 25 + ChromaEffectsImporter/App.config | 6 + .../ChromaEffectsImporter.csproj | 86 ++ ChromaEffectsImporter/ChromaEffectsReader.cs | 209 +++ ChromaEffectsImporter/ColoreOutput.cs | 50 + ChromaEffectsImporter/EffectRegion.cs | 30 + ChromaEffectsImporter/Program.cs | 20 + .../Properties/AssemblyInfo.cs | 35 + .../Resources/ChromaEffects.xml | 1243 +++++++++++++++++ ChromaEffectsImporter/packages.config | 11 + 11 files changed, 1940 insertions(+) create mode 100644 .gitignore create mode 100755 ChromaEffectsImporter.sln create mode 100755 ChromaEffectsImporter/App.config create mode 100755 ChromaEffectsImporter/ChromaEffectsImporter.csproj create mode 100755 ChromaEffectsImporter/ChromaEffectsReader.cs create mode 100755 ChromaEffectsImporter/ColoreOutput.cs create mode 100755 ChromaEffectsImporter/EffectRegion.cs create mode 100755 ChromaEffectsImporter/Program.cs create mode 100755 ChromaEffectsImporter/Properties/AssemblyInfo.cs create mode 100755 ChromaEffectsImporter/Resources/ChromaEffects.xml create mode 100755 ChromaEffectsImporter/packages.config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b37a80e --- /dev/null +++ b/.gitignore @@ -0,0 +1,225 @@ +# The following command works for downloading when using Git for Windows: +# curl -LOf http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore +# +# Download this file using PowerShell v3 under Windows with the following comand: +# Invoke-WebRequest https://gist.githubusercontent.com/kmorcinek/2710267/raw/ -OutFile .gitignore +# +# or wget: +# wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ +# build folder is nowadays used for build scripts and should not be ignored +#build/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# OS generated files # +.DS_Store* +Icon? + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings +modulesbin/ +tempbin/ + +# EPiServer Site file (VPP) +AppData/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# vim +*.txt~ +*.swp +*.swo + +# Temp files when opening LibreOffice on ubuntu +.~lock.* + +# svn +.svn + +# CVS - Source Control +**/CVS/ + +# Remainings from resolving conflicts in Source Control +*.orig + +# SQL Server files +**/App_Data/*.mdf +**/App_Data/*.ldf +**/App_Data/*.sdf + + +#LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +# SASS Compiler cache +.sass-cache + +# Visual Studio 2014 CTP +**/*.sln.ide + +# Visual Studio temp something +.vs/ + +# dotnet stuff +project.lock.json + +# VS 2015+ +*.vc.vc.opendb +*.vc.db + +# Rider +.idea/ + +# Visual Studio Code +.vscode/ + +# Output folder used by Webpack or other FE stuff +**/node_modules/* +**/wwwroot/* + +# SpecFlow specific +*.feature.cs +*.feature.xlsx.* +*.Specs_*.html + +##### +# End of core ignore list, below put you custom 'per project' settings (patterns or path) +##### \ No newline at end of file diff --git a/ChromaEffectsImporter.sln b/ChromaEffectsImporter.sln new file mode 100755 index 0000000..182fbda --- /dev/null +++ b/ChromaEffectsImporter.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChromaEffectsImporter", "ChromaEffectsImporter\ChromaEffectsImporter.csproj", "{E3050745-702E-4143-A41D-FD549C8C46F9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E3050745-702E-4143-A41D-FD549C8C46F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3050745-702E-4143-A41D-FD549C8C46F9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3050745-702E-4143-A41D-FD549C8C46F9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3050745-702E-4143-A41D-FD549C8C46F9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C6D4C95F-CE6C-4DE5-99DA-A1DCB951EC84} + EndGlobalSection +EndGlobal diff --git a/ChromaEffectsImporter/App.config b/ChromaEffectsImporter/App.config new file mode 100755 index 0000000..5754728 --- /dev/null +++ b/ChromaEffectsImporter/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ChromaEffectsImporter/ChromaEffectsImporter.csproj b/ChromaEffectsImporter/ChromaEffectsImporter.csproj new file mode 100755 index 0000000..f715388 --- /dev/null +++ b/ChromaEffectsImporter/ChromaEffectsImporter.csproj @@ -0,0 +1,86 @@ + + + + + Debug + AnyCPU + {E3050745-702E-4143-A41D-FD549C8C46F9} + Exe + ChromaEffectsImporter + ChromaEffectsImporter + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Colore.6.0.0-rc0005\lib\net451\Colore.dll + + + ..\packages\JetBrains.Annotations.11.1.0\lib\net20\JetBrains.Annotations.dll + + + ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll + + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + True + + + ..\packages\System.ValueTuple.4.4.0\lib\net47\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ChromaEffectsImporter/ChromaEffectsReader.cs b/ChromaEffectsImporter/ChromaEffectsReader.cs new file mode 100755 index 0000000..9a36fb8 --- /dev/null +++ b/ChromaEffectsImporter/ChromaEffectsReader.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Xml.Linq; +using Colore.Data; +using Colore.Effects.Keyboard; + +namespace ChromaEffectsImporter +{ + internal class ChromaEffectsReader + { + public EffectRegion[] ReadFirstStatic(string filePath) + { + XDocument root = XDocument.Load(filePath); + IEnumerable effectLayers = root.Descendants("EffectLayer").Where(x => x.Descendants("Effect").First().Value == "static"); + return effectLayers.SelectMany(layer => layer.Descendants("EffectRegion").Select(region => + { + return new EffectRegion( + GetKeys(region), + GetColor(region)); + })).ToArray(); + } + + private Key[] GetKeys(XElement region) + { + IEnumerable deviceCells = region.Descendants("DeviceCell"); + List keys = new List(); + foreach (XElement cell in deviceCells) + { + int row = Convert.ToInt32(cell.Descendants("Row").First().Value); + int column = Convert.ToInt32(cell.Descendants("Col").First().Value); + keys.Add((RazerKey)column + row * 256); + } + return keys.Select(razerKey => (Key)Enum.Parse(typeof(Key), razerKey.ToString())).ToArray(); + } + + private Color GetColor(XElement region) + { + XElement rzColor = region.Descendants("RzColor").First(); + int red = 0, green = 0, blue = 0; + foreach (XElement element in rzColor.Descendants()) + { + switch (element.Name.ToString()) + { + case "Red": + red = Convert.ToInt32(element.Value); + break; + + case "Green": + green = Convert.ToInt32(element.Value); + break; + + case "Blue": + blue = Convert.ToInt32(element.Value); + break; + + default: + throw new ArgumentException("Argument value not expected", "element"); + } + } + return Color.FromRgb((uint)((red << 16) | (green << 8) | blue)); + } + } + + /// + /// Definition of almost all keyboard keys, with id's matching the Razer Synapse Grid. + /// Keys not present on the US-International are not tested, and so commented out. If you need these, just test where they should be using a known ChromaEffects map. + /// + internal enum RazerKey + { + Escape = 1, + F1 = 4, + F2 = 5, + F3 = 6, + F4 = 7, + F5 = 8, + F6 = 9, + F7 = 10, + F8 = 11, + F9 = 12, + F10 = 13, + F11 = 14, + F12 = 15, + PrintScreen = 16, + Scroll = 17, + Pause = 18, + + //JpnYen = 21, + //KorPipe = 21, + + Macro1 = 256, + OemTilde = 257, + D1 = 258, + D2 = 259, + D3 = 260, + D4 = 261, + D5 = 262, + D6 = 263, + D7 = 264, + D8 = 265, + D9 = 266, + D0 = 267, + OemMinus = 268, + OemEquals = 269, + Backspace = 270, + Insert = 272, + Home = 273, + PageUp = 274, + NumLock = 275, + NumDivide = 276, + NumMultiply = 277, + NumSubtract = 278, + Macro2 = 512, + Tab = 513, + Q = 514, + W = 515, + E = 516, + R = 517, + T = 518, + Y = 519, + U = 520, + I = 521, + O = 522, + P = 523, + OemLeftBracket = 524, + OemRightBracket = 525, + OemBackslash = 526, + Delete = 528, + End = 529, + PageDown = 530, + Num7 = 531, + Num8 = 532, + Num9 = 533, + NumAdd = 534, + Macro3 = 768, + CapsLock = 770, + A = 771, + S = 772, + D = 773, + F = 774, + G = 775, + H = 776, + J = 777, + K = 778, + L = 779, + OemSemicolon = 780, + OemApostrophe = 781, + + //EurPound = 782, + //Kor2 = 782, + + Enter = 782, + Num4 = 787, + Num5 = 788, + Num6 = 789, + Macro4 = 1024, + + //EurBackslash = 1025, + //Kor3 = 1025, + + LeftShift = 1026, + Z = 1027, + X = 1028, + C = 1029, + V = 1039, + B = 1031, + N = 1032, + M = 1033, + OemComma = 1034, + OemPeriod = 1035, + OemSlash = 1036, + + //JpnSlash = 1037, + //Kor4 = 1037, + + RightShift = 1038, + Up = 1041, + Num1 = 1043, + Num2 = 1044, + Num3 = 1045, + Macro5 = 1280, + LeftControl = 1281, + LeftWindows = 1282, + LeftAlt = 1283, + + //Jpn3 = 1284, + //Kor5 = 1284, + + Space = 1287, + + //Jpn4 = 1289, + //Kor6 = 1289, + //Jpn5 = 1290, + //Kor7 = 1290, + + RightAlt = 1292, + Function = 1293, + RightMenu = 1294, + RightControl = 1295, + Left = 1296, + Down = 1297, + Right = 1298, + Num0 = 1300, + NumDecimal = 1301, + NumEnter = 1302, + Logo = 1548, + Invalid = 65535 + } +} \ No newline at end of file diff --git a/ChromaEffectsImporter/ColoreOutput.cs b/ChromaEffectsImporter/ColoreOutput.cs new file mode 100755 index 0000000..89336ab --- /dev/null +++ b/ChromaEffectsImporter/ColoreOutput.cs @@ -0,0 +1,50 @@ +using Colore; +using Colore.Data; +using Colore.Effects.Keyboard; +using System; +using System.Threading; + +namespace ChromaEffectsImporter +{ + internal class ColoreOutput + { + private IChroma chroma; + + private string ChromaEffectPath; + + public ColoreOutput(string chromaEffectPath) + { + ChromaEffectPath = chromaEffectPath; + } + + public void Start() + { + Setup(); + LoadChromaEffect(ChromaEffectPath); + Thread.Sleep(1000); + chroma.Keyboard.SetKeyAsync(Key.End, Color.Red, false); + Loop(); + } + + private void LoadChromaEffect(string path) + { + ChromaEffectsReader reader = new ChromaEffectsReader(); + EffectRegion[] regions = reader.ReadFirstStatic(path); + Array.ForEach(regions, x => x.Show(chroma)); + } + + private async void Setup() + { + chroma = await ColoreProvider.CreateNativeAsync(); + } + + private void Loop() + { + while (true) + { + Thread.Sleep(100); + } + chroma.UninitializeAsync(); + } + } +} \ No newline at end of file diff --git a/ChromaEffectsImporter/EffectRegion.cs b/ChromaEffectsImporter/EffectRegion.cs new file mode 100755 index 0000000..e33ca18 --- /dev/null +++ b/ChromaEffectsImporter/EffectRegion.cs @@ -0,0 +1,30 @@ +using Colore; +using Colore.Data; +using Colore.Effects.Keyboard; +using System; + +namespace ChromaEffectsImporter +{ + internal class EffectRegion + { + public Key[] Keys { get; private set; } + public Color Color { get; private set; } + + public EffectRegion(Key[] keys, Color color) + { + Keys = keys; + Color = color; + } + + public EffectRegion(Key keys, Color color) + { + Keys = new Key[] { keys }; + Color = color; + } + + internal void Show(IChroma chroma) + { + Array.ForEach(Keys, x => chroma.Keyboard.SetKeyAsync(x, Color, false)); + } + } +} \ No newline at end of file diff --git a/ChromaEffectsImporter/Program.cs b/ChromaEffectsImporter/Program.cs new file mode 100755 index 0000000..fffa908 --- /dev/null +++ b/ChromaEffectsImporter/Program.cs @@ -0,0 +1,20 @@ +using System; +using System.IO; + +namespace ChromaEffectsImporter +{ + internal class Program + { + private static void Main(string[] args) + { + ColoreOutput coloreOutput = new ColoreOutput(ChromaEffects()); + coloreOutput.Start(); + } + + private static string ChromaEffects() + { + string root = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..\\..\\")); + return Path.Combine(root, "Resources\\ChromaEffects.xml"); + } + } +} \ No newline at end of file diff --git a/ChromaEffectsImporter/Properties/AssemblyInfo.cs b/ChromaEffectsImporter/Properties/AssemblyInfo.cs new file mode 100755 index 0000000..45860a9 --- /dev/null +++ b/ChromaEffectsImporter/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +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("ChromaEffectsImporter")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ChromaEffectsImporter")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[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("e3050745-702e-4143-a41d-fd549c8c46f9")] + +// 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/ChromaEffectsImporter/Resources/ChromaEffects.xml b/ChromaEffectsImporter/Resources/ChromaEffects.xml new file mode 100755 index 0000000..9755f62 --- /dev/null +++ b/ChromaEffectsImporter/Resources/ChromaEffects.xml @@ -0,0 +1,1243 @@ + + + advanced + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + false + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + 60 + 55 + 0 + + + + + + + + + static + + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 1 + 110 + + + 1 + 1 + 1 + + + 2 + 1 + 16 + + + 3 + 2 + 30 + + + 4 + 2 + 44 + + + 5 + 1 + 58 + + + + + + auto + 0 + 90 + + + 255 + 3 + 3 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 4 + 112 + + + 0 + 14 + 122 + + + 1 + 3 + 3 + + + 1 + 11 + 11 + + + 2 + 2 + 17 + + + 2 + 10 + 25 + + + 2 + 13 + 28 + + + 3 + 3 + 31 + + + 3 + 11 + 39 + + + 4 + 3 + 46 + + + 4 + 11 + 54 + + + 5 + 3 + 60 + + + 5 + 12 + 62 + + + + + + auto + 0 + 90 + + + 255 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 5 + 113 + + + 0 + 12 + 120 + + + 1 + 4 + 4 + + + 1 + 12 + 12 + + + 2 + 3 + 18 + + + 2 + 11 + 26 + + + 3 + 4 + 32 + + + 3 + 12 + 40 + + + 4 + 4 + 47 + + + 4 + 12 + 55 + + + 5 + 7 + 61 + + + 5 + 13 + 201 + + + + + + auto + 0 + 90 + + + 255 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 6 + 114 + + + 1 + 5 + 5 + + + 2 + 4 + 19 + + + 3 + 5 + 33 + + + 4 + 5 + 48 + + + + + + auto + 0 + 90 + + + 14 + 255 + 40 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 7 + 115 + + + 1 + 6 + 6 + + + 2 + 5 + 20 + + + 3 + 6 + 34 + + + 4 + 6 + 49 + + + + + + auto + 0 + 90 + + + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 8 + 116 + + + 0 + 15 + 123 + + + 1 + 7 + 7 + + + 1 + 14 + 15 + + + 2 + 6 + 21 + + + 2 + 14 + 29 + + + 3 + 7 + 35 + + + 3 + 14 + 43 + + + 4 + 7 + 50 + + + 4 + 14 + 57 + + + 5 + 15 + 64 + + + + + + auto + 0 + 90 + + + 255 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 9 + 117 + + + 0 + 18 + 126 + + + 1 + 8 + 8 + + + 1 + 18 + 85 + + + 2 + 7 + 22 + + + 2 + 18 + 86 + + + 3 + 8 + 36 + + + 4 + 8 + 51 + + + 5 + 18 + 89 + + + + + + auto + 0 + 90 + + + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 10 + 118 + + + 0 + 17 + 125 + + + 1 + 9 + 9 + + + 1 + 17 + 80 + + + 2 + 8 + 23 + + + 2 + 17 + 81 + + + 3 + 9 + 37 + + + 4 + 9 + 52 + + + 4 + 17 + 83 + + + 5 + 17 + 84 + + + + + + auto + 0 + 90 + + + 255 + 128 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 11 + 119 + + + 0 + 16 + 124 + + + 1 + 2 + 2 + + + 1 + 10 + 10 + + + 1 + 16 + 75 + + + 2 + 9 + 24 + + + 2 + 16 + 76 + + + 3 + 10 + 38 + + + 4 + 10 + 53 + + + 5 + 2 + 127 + + + 5 + 16 + 79 + + + 5 + 20 + 99 + + + + + + auto + 0 + 90 + + + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 0 + 13 + 121 + + + 1 + 13 + 13 + + + 2 + 12 + 27 + + + 3 + 13 + 41 + + + 5 + 14 + 129 + + + + + + auto + 0 + 90 + + + 1 + 61 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 1 + 0 + 160 + + + 2 + 0 + 161 + + + 3 + 0 + 162 + + + 4 + 0 + 163 + + + 5 + 0 + 164 + + + + + + auto + 0 + 90 + + + 19 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 1 + 19 + 90 + + + 2 + 19 + 91 + + + 3 + 19 + 92 + + + 4 + 19 + 93 + + + + + + auto + 0 + 90 + + + 40 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 1 + 20 + 95 + + + 2 + 20 + 96 + + + 3 + 20 + 97 + + + 4 + 20 + 98 + + + + + + auto + 0 + 90 + + + 255 + 246 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 1 + 21 + 100 + + + 2 + 21 + 101 + + + 3 + 21 + 102 + + + 4 + 21 + 103 + + + 5 + 21 + 104 + + + + + + auto + 0 + 90 + + + 9 + 255 + 213 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 1 + 22 + 105 + + + 2 + 22 + 106 + + + 5 + 22 + 108 + + + + + + auto + 0 + 90 + + + 255 + 3 + 210 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + true + 100 + Static + + + + static + + + + + + + RAZER BLACKWIDOW CHROMA V2 + 545 + 5426 + 1 + 676600611 + 2 + To be filled by O.E.M. + + + + + + 6 + 12 + 4195328 + + + + + + auto + 0 + 90 + + + 132 + 255 + + + never + 5 + + 4294967295 + 0 + 100 + false + +
+ + + true + 100 + Static + + + a682ad33-2e22-46b9-b215-e07cb7e67aaa + TestColor + 3 + + 0 + 0 + \ No newline at end of file diff --git a/ChromaEffectsImporter/packages.config b/ChromaEffectsImporter/packages.config new file mode 100755 index 0000000..d9b9084 --- /dev/null +++ b/ChromaEffectsImporter/packages.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file