1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2026-01-02 10:43:31 +00:00

Updated Nuget packages

Fixed keyboard hook
This commit is contained in:
SpoinkyNL 2017-01-24 18:27:51 +01:00
parent e8467ddf58
commit 182d710d16
10 changed files with 109 additions and 103 deletions

View File

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14 # Visual Studio 14
VisualStudioVersion = 14.0.25123.0 VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis", "Artemis\Artemis.csproj", "{ED9997A2-E54C-4E9F-9350-62BE672C3ABE}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis", "Artemis\Artemis.csproj", "{ED9997A2-E54C-4E9F-9350-62BE672C3ABE}"
EndProject EndProject

View File

@ -135,16 +135,16 @@
<HintPath>..\packages\Betwixt.1.4.1\lib\net35\Betwixt.dll</HintPath> <HintPath>..\packages\Betwixt.1.4.1\lib\net35\Betwixt.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Caliburn.Micro, Version=3.0.2.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL"> <Reference Include="Caliburn.Micro, Version=3.0.3.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL">
<HintPath>..\packages\Caliburn.Micro.Core.3.0.2\lib\net45\Caliburn.Micro.dll</HintPath> <HintPath>..\packages\Caliburn.Micro.Core.3.0.3\lib\net45\Caliburn.Micro.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Caliburn.Micro.Platform, Version=3.0.2.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL"> <Reference Include="Caliburn.Micro.Platform, Version=3.0.3.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL">
<HintPath>..\packages\Caliburn.Micro.3.0.2\lib\net45\Caliburn.Micro.Platform.dll</HintPath> <HintPath>..\packages\Caliburn.Micro.3.0.3\lib\net45\Caliburn.Micro.Platform.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Caliburn.Micro.Platform.Core, Version=3.0.2.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL"> <Reference Include="Caliburn.Micro.Platform.Core, Version=3.0.3.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f, processorArchitecture=MSIL">
<HintPath>..\packages\Caliburn.Micro.3.0.2\lib\net45\Caliburn.Micro.Platform.Core.dll</HintPath> <HintPath>..\packages\Caliburn.Micro.3.0.3\lib\net45\Caliburn.Micro.Platform.Core.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> <Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
@ -159,8 +159,9 @@
<HintPath>..\packages\CSCore.1.1.0\lib\net35-client\CSCore.dll</HintPath> <HintPath>..\packages\CSCore.1.1.0\lib\net35-client\CSCore.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="CUE.NET, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="CUE.NET, Version=1.1.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\CUE.NET.1.1.0.2\lib\net45\CUE.NET.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\CUE.NET.1.1.1\lib\net45\CUE.NET.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="DeltaCompressionDotNet, Version=1.1.0.0, Culture=neutral, PublicKeyToken=1d14d6e5194e7f4a, processorArchitecture=MSIL"> <Reference Include="DeltaCompressionDotNet, Version=1.1.0.0, Culture=neutral, PublicKeyToken=1d14d6e5194e7f4a, processorArchitecture=MSIL">
@ -176,7 +177,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="DynamicExpresso.Core, Version=1.3.3.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DynamicExpresso.Core, Version=1.3.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DynamicExpresso.Core.1.3.3.4\lib\net40\DynamicExpresso.Core.dll</HintPath> <HintPath>..\packages\DynamicExpresso.Core.1.3.3.5\lib\net40\DynamicExpresso.Core.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="GongSolutions.Wpf.DragDrop, Version=0.1.4.3, Culture=neutral, PublicKeyToken=d19974ea350ccea1, processorArchitecture=MSIL"> <Reference Include="GongSolutions.Wpf.DragDrop, Version=0.1.4.3, Culture=neutral, PublicKeyToken=d19974ea350ccea1, processorArchitecture=MSIL">
@ -188,15 +189,15 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\squirrel.windows.1.4.4\lib\Net45\ICSharpCode.SharpZipLib.dll</HintPath> <HintPath>..\packages\squirrel.windows.1.5.1\lib\Net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=2.0.7.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.5\lib\net45-full\log4net.dll</HintPath> <HintPath>..\packages\log4net.2.0.7\lib\net45-full\log4net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="MahApps.Metro, Version=1.3.0.0, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL"> <Reference Include="MahApps.Metro, Version=1.4.1.0, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
<HintPath>..\packages\MahApps.Metro.1.3.0\lib\net45\MahApps.Metro.dll</HintPath> <HintPath>..\packages\MahApps.Metro.1.4.1\lib\net45\MahApps.Metro.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> <Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
@ -244,7 +245,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\squirrel.windows.1.4.4\lib\Net45\NuGet.Squirrel.dll</HintPath> <HintPath>..\packages\squirrel.windows.1.5.1\lib\Net45\NuGet.Squirrel.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Open.WinKeyboardHook, Version=1.0.11.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Open.WinKeyboardHook, Version=1.0.11.0, Culture=neutral, processorArchitecture=MSIL">
@ -252,7 +253,7 @@
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Process.NET, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Process.NET, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Process.NET.1.0.5\lib\Process.NET.dll</HintPath> <HintPath>..\packages\Process.NET.1.0.8\lib\Process.NET.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="SharpDX, Version=3.1.1.0, Culture=neutral, PublicKeyToken=b4dcf0f35e5521f1, processorArchitecture=MSIL"> <Reference Include="SharpDX, Version=3.1.1.0, Culture=neutral, PublicKeyToken=b4dcf0f35e5521f1, processorArchitecture=MSIL">
@ -271,8 +272,8 @@
<HintPath>..\packages\SpotifyAPI-NET.2.12.0\lib\SpotifyAPI.dll</HintPath> <HintPath>..\packages\SpotifyAPI-NET.2.12.0\lib\SpotifyAPI.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Squirrel, Version=1.4.3.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Squirrel, Version=1.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\squirrel.windows.1.4.4\lib\Net45\Squirrel.dll</HintPath> <HintPath>..\packages\squirrel.windows.1.5.1\lib\Net45\Squirrel.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
@ -286,7 +287,7 @@
<Reference Include="System.Web" /> <Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\MahApps.Metro.1.3.0\lib\net45\System.Windows.Interactivity.dll</HintPath> <HintPath>..\packages\MahApps.Metro.1.4.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
@ -1033,12 +1034,12 @@
<Folder Include="Resources\Lua\" /> <Folder Include="Resources\Lua\" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\CUE.NET.1.1.0.2\build\net45\CUE.NET.targets" Condition="Exists('..\packages\CUE.NET.1.1.0.2\build\net45\CUE.NET.targets')" /> <Import Project="..\packages\CUE.NET.1.1.1\build\net45\CUE.NET.targets" Condition="Exists('..\packages\CUE.NET.1.1.1\build\net45\CUE.NET.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\CUE.NET.1.1.0.2\build\net45\CUE.NET.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CUE.NET.1.1.0.2\build\net45\CUE.NET.targets'))" /> <Error Condition="!Exists('..\packages\CUE.NET.1.1.1\build\net45\CUE.NET.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CUE.NET.1.1.1\build\net45\CUE.NET.targets'))" />
</Target> </Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
@ -9,6 +10,7 @@ using Artemis.Settings;
using Artemis.Utilities; using Artemis.Utilities;
using Artemis.Utilities.Converters; using Artemis.Utilities.Converters;
using Artemis.Utilities.DataReaders; using Artemis.Utilities.DataReaders;
using Artemis.Utilities.Keyboard;
using Artemis.ViewModels; using Artemis.ViewModels;
using Caliburn.Micro; using Caliburn.Micro;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -29,6 +31,7 @@ namespace Artemis
Initialize(); Initialize();
BindSpecialValues(); BindSpecialValues();
KeyboardHook.SetupKeyboardHook();
} }
private void BindSpecialValues() private void BindSpecialValues()

View File

@ -27,7 +27,7 @@ namespace Artemis.DeviceProviders.Corsair
Logger.Debug("Attempted to enable Corsair headset. CanUse: {0}", CanUse); Logger.Debug("Attempted to enable Corsair headset. CanUse: {0}", CanUse);
if (CanUse) if (CanUse)
CueSDK.UpdateMode = UpdateMode.Manual; CueSDK.HeadsetSDK.UpdateMode = UpdateMode.Manual;
return CanUse; return CanUse;
} }

View File

@ -8,8 +8,8 @@ using Artemis.Properties;
using Artemis.Utilities; using Artemis.Utilities;
using CUE.NET; using CUE.NET;
using CUE.NET.Brushes; using CUE.NET.Brushes;
using CUE.NET.Devices.Generic;
using CUE.NET.Devices.Generic.Enums; using CUE.NET.Devices.Generic.Enums;
using CUE.NET.Devices.Keyboard.Keys;
using CUE.NET.Exceptions; using CUE.NET.Exceptions;
using CUE.NET.Helper; using CUE.NET.Helper;
using Ninject.Extensions.Logging; using Ninject.Extensions.Logging;
@ -47,7 +47,7 @@ namespace Artemis.DeviceProviders.Corsair
if (!CueSDK.IsInitialized) if (!CueSDK.IsInitialized)
CueSDK.Initialize(); CueSDK.Initialize();
CueSDK.UpdateMode = UpdateMode.Manual; CueSDK.KeyboardSDK.UpdateMode = UpdateMode.Manual;
_keyboard = CueSDK.KeyboardSDK; _keyboard = CueSDK.KeyboardSDK;
switch (_keyboard.DeviceInfo.Model) switch (_keyboard.DeviceInfo.Model)
{ {
@ -136,25 +136,25 @@ namespace Artemis.DeviceProviders.Corsair
public override KeyMatch? GetKeyPosition(Keys keyCode) public override KeyMatch? GetKeyPosition(Keys keyCode)
{ {
var widthMultiplier = Width/_keyboard.Brush.RenderedRectangle.Width; var widthMultiplier = Width / _keyboard.KeyboardRectangle.Width;
var heightMultiplier = Height/_keyboard.Brush.RenderedRectangle.Height; var heightMultiplier = Height / _keyboard.KeyboardRectangle.Height;
CorsairLed cueLed = null; CorsairKey cueKey = null;
try try
{ {
cueLed = _keyboard.Leds.FirstOrDefault(k => k.Id.ToString() == keyCode.ToString()) ?? cueKey = _keyboard.Keys.FirstOrDefault(k => k.KeyId.ToString() == keyCode.ToString()) ??
_keyboard.Leds.FirstOrDefault(k => k.Id == KeyMap.FormsKeys[keyCode]); _keyboard.Keys.FirstOrDefault(k => k.KeyId == KeyMap.FormsKeys[keyCode]);
} }
catch (Exception) catch (Exception)
{ {
// ignored // ignored
} }
if (cueLed == null) if (cueKey == null)
return null; return null;
var center = cueLed.LedRectangle.GetCenter(); var center = cueKey.KeyRectangle.GetCenter();
return new KeyMatch(keyCode, (int) (center.X*widthMultiplier), (int) (center.Y*heightMultiplier)); return new KeyMatch(keyCode, (int) (center.X * widthMultiplier), (int) (center.Y * heightMultiplier));
} }
} }
} }

View File

@ -27,7 +27,7 @@ namespace Artemis.DeviceProviders.Corsair
Logger.Debug("Attempted to enable Corsair mice. CanUse: {0}", CanUse); Logger.Debug("Attempted to enable Corsair mice. CanUse: {0}", CanUse);
if (CanUse) if (CanUse)
CueSDK.UpdateMode = UpdateMode.Manual; CueSDK.MouseSDK.UpdateMode = UpdateMode.Manual;
return CanUse; return CanUse;
} }

View File

@ -27,7 +27,7 @@ namespace Artemis.DeviceProviders.Corsair
Logger.Debug("Attempted to enable Corsair mousemat. CanUse: {0}", CanUse); Logger.Debug("Attempted to enable Corsair mousemat. CanUse: {0}", CanUse);
if (CanUse) if (CanUse)
CueSDK.UpdateMode = UpdateMode.Manual; CueSDK.MousematSDK.UpdateMode = UpdateMode.Manual;
return CanUse; return CanUse;
} }

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using CUE.NET.Devices.Generic.Enums; using CUE.NET.Devices.Keyboard.Enums;
namespace Artemis.DeviceProviders.Corsair.Utilities namespace Artemis.DeviceProviders.Corsair.Utilities
{ {
@ -8,64 +8,64 @@ namespace Artemis.DeviceProviders.Corsair.Utilities
{ {
static KeyMap() static KeyMap()
{ {
FormsKeys = new Dictionary<Keys, CorsairLedId> FormsKeys = new Dictionary<Keys, CorsairKeyboardKeyId>
{ {
{Keys.Scroll, CorsairLedId.ScrollLock}, {Keys.Scroll, CorsairKeyboardKeyId.ScrollLock},
{Keys.Pause, CorsairLedId.PauseBreak}, {Keys.Pause, CorsairKeyboardKeyId.PauseBreak},
{Keys.Back, CorsairLedId.Backspace}, {Keys.Back, CorsairKeyboardKeyId.Backspace},
{Keys.Oemtilde, CorsairLedId.GraveAccentAndTilde}, {Keys.Oemtilde, CorsairKeyboardKeyId.GraveAccentAndTilde},
{Keys.OemMinus, CorsairLedId.MinusAndUnderscore}, {Keys.OemMinus, CorsairKeyboardKeyId.MinusAndUnderscore},
{Keys.Oemplus, CorsairLedId.EqualsAndPlus}, {Keys.Oemplus, CorsairKeyboardKeyId.EqualsAndPlus},
{Keys.OemOpenBrackets, CorsairLedId.BracketLeft}, {Keys.OemOpenBrackets, CorsairKeyboardKeyId.BracketLeft},
{Keys.Oem6, CorsairLedId.BracketRight}, {Keys.Oem6, CorsairKeyboardKeyId.BracketRight},
{Keys.Return, CorsairLedId.Enter}, {Keys.Return, CorsairKeyboardKeyId.Enter},
{Keys.Next, CorsairLedId.PageDown}, {Keys.Next, CorsairKeyboardKeyId.PageDown},
{Keys.Capital, CorsairLedId.CapsLock}, {Keys.Capital, CorsairKeyboardKeyId.CapsLock},
{Keys.Oem1, CorsairLedId.SemicolonAndColon}, {Keys.Oem1, CorsairKeyboardKeyId.SemicolonAndColon},
{Keys.Oem7, CorsairLedId.ApostropheAndDoubleQuote}, {Keys.Oem7, CorsairKeyboardKeyId.ApostropheAndDoubleQuote},
{Keys.OemBackslash, CorsairLedId.Backslash}, {Keys.OemBackslash, CorsairKeyboardKeyId.Backslash},
{Keys.LShiftKey, CorsairLedId.LeftShift}, {Keys.LShiftKey, CorsairKeyboardKeyId.LeftShift},
{Keys.Oem5, CorsairLedId.NonUsBackslash}, {Keys.Oem5, CorsairKeyboardKeyId.NonUsBackslash},
{Keys.Oemcomma, CorsairLedId.CommaAndLessThan}, {Keys.Oemcomma, CorsairKeyboardKeyId.CommaAndLessThan},
{Keys.OemPeriod, CorsairLedId.PeriodAndBiggerThan}, {Keys.OemPeriod, CorsairKeyboardKeyId.PeriodAndBiggerThan},
{Keys.OemQuestion, CorsairLedId.SlashAndQuestionMark}, {Keys.OemQuestion, CorsairKeyboardKeyId.SlashAndQuestionMark},
{Keys.RShiftKey, CorsairLedId.RightShift}, {Keys.RShiftKey, CorsairKeyboardKeyId.RightShift},
{Keys.LControlKey, CorsairLedId.LeftCtrl}, {Keys.LControlKey, CorsairKeyboardKeyId.LeftCtrl},
{Keys.LWin, CorsairLedId.LeftGui}, {Keys.LWin, CorsairKeyboardKeyId.LeftGui},
{Keys.LMenu, CorsairLedId.LeftAlt}, {Keys.LMenu, CorsairKeyboardKeyId.LeftAlt},
{Keys.RMenu, CorsairLedId.RightAlt}, {Keys.RMenu, CorsairKeyboardKeyId.RightAlt},
{Keys.RWin, CorsairLedId.RightGui}, {Keys.RWin, CorsairKeyboardKeyId.RightGui},
{Keys.Apps, CorsairLedId.Application}, {Keys.Apps, CorsairKeyboardKeyId.Application},
{Keys.RControlKey, CorsairLedId.RightCtrl}, {Keys.RControlKey, CorsairKeyboardKeyId.RightCtrl},
{Keys.Left, CorsairLedId.LeftArrow}, {Keys.Left, CorsairKeyboardKeyId.LeftArrow},
{Keys.Down, CorsairLedId.DownArrow}, {Keys.Down, CorsairKeyboardKeyId.DownArrow},
{Keys.Right, CorsairLedId.RightArrow}, {Keys.Right, CorsairKeyboardKeyId.RightArrow},
{Keys.Up, CorsairLedId.UpArrow}, {Keys.Up, CorsairKeyboardKeyId.UpArrow},
{Keys.NumPad0, CorsairLedId.Keypad0}, {Keys.NumPad0, CorsairKeyboardKeyId.Keypad0},
{Keys.NumPad1, CorsairLedId.Keypad1}, {Keys.NumPad1, CorsairKeyboardKeyId.Keypad1},
{Keys.NumPad2, CorsairLedId.Keypad2}, {Keys.NumPad2, CorsairKeyboardKeyId.Keypad2},
{Keys.NumPad3, CorsairLedId.Keypad3}, {Keys.NumPad3, CorsairKeyboardKeyId.Keypad3},
{Keys.NumPad4, CorsairLedId.Keypad4}, {Keys.NumPad4, CorsairKeyboardKeyId.Keypad4},
{Keys.NumPad5, CorsairLedId.Keypad5}, {Keys.NumPad5, CorsairKeyboardKeyId.Keypad5},
{Keys.NumPad6, CorsairLedId.Keypad6}, {Keys.NumPad6, CorsairKeyboardKeyId.Keypad6},
{Keys.NumPad7, CorsairLedId.Keypad7}, {Keys.NumPad7, CorsairKeyboardKeyId.Keypad7},
{Keys.NumPad8, CorsairLedId.Keypad8}, {Keys.NumPad8, CorsairKeyboardKeyId.Keypad8},
{Keys.NumPad9, CorsairLedId.Keypad9}, {Keys.NumPad9, CorsairKeyboardKeyId.Keypad9},
{Keys.Divide, CorsairLedId.KeypadSlash}, {Keys.Divide, CorsairKeyboardKeyId.KeypadSlash},
{Keys.Multiply, CorsairLedId.KeypadAsterisk}, {Keys.Multiply, CorsairKeyboardKeyId.KeypadAsterisk},
{Keys.Subtract, CorsairLedId.KeypadMinus}, {Keys.Subtract, CorsairKeyboardKeyId.KeypadMinus},
{Keys.Add, CorsairLedId.KeypadPlus}, {Keys.Add, CorsairKeyboardKeyId.KeypadPlus},
{Keys.Decimal, CorsairLedId.KeypadPeriodAndDelete}, {Keys.Decimal, CorsairKeyboardKeyId.KeypadPeriodAndDelete},
{Keys.MediaStop, CorsairLedId.Stop}, {Keys.MediaStop, CorsairKeyboardKeyId.Stop},
{Keys.MediaPreviousTrack, CorsairLedId.ScanPreviousTrack}, {Keys.MediaPreviousTrack, CorsairKeyboardKeyId.ScanPreviousTrack},
{Keys.MediaNextTrack, CorsairLedId.ScanNextTrack}, {Keys.MediaNextTrack, CorsairKeyboardKeyId.ScanNextTrack},
{Keys.MediaPlayPause, CorsairLedId.PlayPause}, {Keys.MediaPlayPause, CorsairKeyboardKeyId.PlayPause},
{Keys.VolumeMute, CorsairLedId.Mute}, {Keys.VolumeMute, CorsairKeyboardKeyId.Mute},
{Keys.VolumeUp, CorsairLedId.VolumeUp}, {Keys.VolumeUp, CorsairKeyboardKeyId.VolumeUp},
{Keys.VolumeDown, CorsairLedId.VolumeDown} {Keys.VolumeDown, CorsairKeyboardKeyId.VolumeDown}
}; };
} }
public static Dictionary<Keys, CorsairLedId> FormsKeys { get; set; } public static Dictionary<Keys, CorsairKeyboardKeyId> FormsKeys { get; set; }
} }
} }

View File

@ -6,13 +6,15 @@ namespace Artemis.Utilities.Keyboard
{ {
public static class KeyboardHook public static class KeyboardHook
{ {
private static KeyboardInterceptor _interceptor;
public delegate void KeyDownCallbackHandler(KeyEventArgs e); public delegate void KeyDownCallbackHandler(KeyEventArgs e);
static KeyboardHook() public static void SetupKeyboardHook()
{ {
var interceptor = new KeyboardInterceptor(); _interceptor = new KeyboardInterceptor();
interceptor.KeyDown += VirtualKeyboardOnKeyDown; _interceptor.KeyDown += VirtualKeyboardOnKeyDown;
interceptor.StartCapturing(); _interceptor.StartCapturing();
} }
private static async void VirtualKeyboardOnKeyDown(object sender, KeyEventArgs keyEventArgs) private static async void VirtualKeyboardOnKeyDown(object sender, KeyEventArgs keyEventArgs)

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Betwixt" version="1.4.1" targetFramework="net461" /> <package id="Betwixt" version="1.4.1" targetFramework="net461" />
<package id="Caliburn.Micro" version="3.0.2" targetFramework="net461" /> <package id="Caliburn.Micro" version="3.0.3" targetFramework="net461" />
<package id="Caliburn.Micro.Core" version="3.0.2" targetFramework="net461" /> <package id="Caliburn.Micro.Core" version="3.0.3" targetFramework="net461" />
<package id="Castle.Core" version="3.3.3" targetFramework="net452" /> <package id="Castle.Core" version="3.3.3" targetFramework="net452" />
<package id="Colore" version="5.1.0" targetFramework="net461" /> <package id="Colore" version="5.1.0" targetFramework="net461" />
<package id="CSCore" version="1.1.0" targetFramework="net461" /> <package id="CSCore" version="1.1.0" targetFramework="net461" />
<package id="CUE.NET" version="1.1.0.2" targetFramework="net461" /> <package id="CUE.NET" version="1.1.1" targetFramework="net461" />
<package id="DeltaCompressionDotNet" version="1.1.0" targetFramework="net461" /> <package id="DeltaCompressionDotNet" version="1.1.0" targetFramework="net461" />
<package id="DynamicExpresso.Core" version="1.3.3.4" targetFramework="net461" /> <package id="DynamicExpresso.Core" version="1.3.3.5" targetFramework="net461" />
<package id="gong-wpf-dragdrop" version="0.1.4.3" targetFramework="net461" /> <package id="gong-wpf-dragdrop" version="0.1.4.3" targetFramework="net461" />
<package id="Hardcodet.NotifyIcon.Wpf" version="1.0.8" targetFramework="net452" /> <package id="Hardcodet.NotifyIcon.Wpf" version="1.0.8" targetFramework="net452" />
<package id="log4net" version="2.0.5" targetFramework="net452" /> <package id="log4net" version="2.0.7" targetFramework="net461" />
<package id="MahApps.Metro" version="1.3.0" targetFramework="net461" /> <package id="MahApps.Metro" version="1.4.1" targetFramework="net461" />
<package id="MahApps.Metro.Resources" version="0.6.1.0" targetFramework="net452" /> <package id="MahApps.Metro.Resources" version="0.6.1.0" targetFramework="net452" />
<package id="Mono.Cecil" version="0.9.6.4" targetFramework="net461" /> <package id="Mono.Cecil" version="0.9.6.4" targetFramework="net461" />
<package id="MoonSharp" version="2.0.0.0" targetFramework="net461" /> <package id="MoonSharp" version="2.0.0.0" targetFramework="net461" />
@ -24,11 +24,11 @@
<package id="NLog" version="4.4.1" targetFramework="net461" /> <package id="NLog" version="4.4.1" targetFramework="net461" />
<package id="NLog.Schema" version="4.4.1" targetFramework="net461" /> <package id="NLog.Schema" version="4.4.1" targetFramework="net461" />
<package id="Open.WinKeyboardHook" version="1.0.11" targetFramework="net461" /> <package id="Open.WinKeyboardHook" version="1.0.11" targetFramework="net461" />
<package id="Process.NET" version="1.0.5" targetFramework="net461" /> <package id="Process.NET" version="1.0.8" targetFramework="net461" />
<package id="SharpDX" version="3.1.1" targetFramework="net461" /> <package id="SharpDX" version="3.1.1" targetFramework="net461" />
<package id="SharpDX.Direct3D9" version="3.1.1" targetFramework="net461" /> <package id="SharpDX.Direct3D9" version="3.1.1" targetFramework="net461" />
<package id="Splat" version="2.0.0" targetFramework="net461" /> <package id="Splat" version="2.0.0" targetFramework="net461" />
<package id="SpotifyAPI-NET" version="2.12.0" targetFramework="net461" /> <package id="SpotifyAPI-NET" version="2.12.0" targetFramework="net461" />
<package id="squirrel.windows" version="1.4.4" targetFramework="net461" /> <package id="squirrel.windows" version="1.5.1" targetFramework="net461" />
<package id="WpfExceptionViewer" version="1.0.0.0" targetFramework="net452" /> <package id="WpfExceptionViewer" version="1.0.0.0" targetFramework="net452" />
</packages> </packages>