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" />