diff --git a/ClipForge/ClipForge.csproj b/ClipForge/ClipForge.csproj
index af21841..41618fa 100644
--- a/ClipForge/ClipForge.csproj
+++ b/ClipForge/ClipForge.csproj
@@ -18,12 +18,12 @@
4A55954F2A73A9D620442C7DFBFC7C95A71D8D24
SHA256
True
- C:\Users\Blade\Desktop\Clipforge Packaged\V1\
+ C:\Users\Blade\Desktop\Clipforge Packaged\V0.1\
False
True
Auto
x64
- J:\Projects\ClipForge\ClipForge\bin\x64\Release\net8.0-windows10.0.19041.0
+ C:\Users\Blade\Desktop\Clipforge Packaged
0
diff --git a/ClipForge/MainWindow.xaml b/ClipForge/MainWindow.xaml
index 3e3959c..cf2712b 100644
--- a/ClipForge/MainWindow.xaml
+++ b/ClipForge/MainWindow.xaml
@@ -371,22 +371,24 @@
FontWeight="SemiBold"
VerticalAlignment="Center"/>
-
-
-
+
-
-
+
diff --git a/ClipForge/MainWindow.xaml.cs b/ClipForge/MainWindow.xaml.cs
index 4320aad..510dacf 100644
--- a/ClipForge/MainWindow.xaml.cs
+++ b/ClipForge/MainWindow.xaml.cs
@@ -1,10 +1,12 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media.Animation;
using Microsoft.Win32;
using System;
using System.Linq;
using System.Runtime.InteropServices;
+using Windows.System;
using WinRT.Interop;
namespace ClipForge
@@ -16,6 +18,7 @@ namespace ClipForge
private ClipLibraryService _clipLibrary;
private SettingsService _settingsService;
private ThumbnailService _thumbnailService;
+ private bool _isRecordingHotkey;
private delegate IntPtr WinProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);
private WinProc _newWndProc;
@@ -41,6 +44,13 @@ namespace ClipForge
private static extern IntPtr SendMessage(IntPtr hWnd, uint msg,
IntPtr wParam, IntPtr lParam);
+ [DllImport("user32.dll")]
+ private static extern short GetAsyncKeyState(int vk);
+
+ private const int VK_SHIFT = 0x10;
+ private const int VK_CONTROL = 0x11;
+ private const int VK_MENU = 0x12; // Alt
+ private const int VK_LWIN = 0x5B;
private const int GWLP_WNDPROC = -4;
private const uint WM_HOTKEY = 0x0312;
private const int GWL_EXSTYLE = -20;
@@ -78,7 +88,10 @@ namespace ClipForge
_hotkeyService = new GlobalHotkeyService();
_hotkeyService.ClipRequested += OnClipRequested;
- _hotkeyService.Initialize(hwnd);
+ var mod = _settingsService.Settings.HotkeyModifiers;
+ var vk = _settingsService.Settings.HotkeyVirtualKey;
+ if (mod == 0 && vk == 0) { mod = 1; vk = 0x78; }
+ _hotkeyService.Initialize(hwnd, (uint)mod, (uint)vk);
ClipGrid.ItemsSource = _clipLibrary.Clips;
UpdateClipCount();
diff --git a/ClipForge/Package.appxmanifest b/ClipForge/Package.appxmanifest
index ca70092..c877d90 100644
--- a/ClipForge/Package.appxmanifest
+++ b/ClipForge/Package.appxmanifest
@@ -11,7 +11,7 @@
+ Version="0.1.0.0" />