mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
[Launcher] Use a keyboard hook in the runner to invoke the Launcher (#6660)
* Added a keyboard hook to the runner * Update RootKeyboardHook * Enable reading the whole JsonObject property * Renamed RootKeyboardHook to CentralizedKeyboardHook * Fixed build break, changed callback return type to bool * Added Hotkey struct which somehow went missing + Cherry-pick fixes * Reorganized the kb hook * Basic version works * Various fixes * Finishing touches * Fix potential threading issue * int -> size_t * Add default initializers to the Hotkey struct * Added a suggested comment * Unified a constant * Use C# classes instead of native calls for sync * Added a claryfing comment * Use std::move * Renamed a method * Possible fix for compilation errors * Fix a regression * Show a message on failure * Added DISABLE_LOWLEVEL_HOOK support * Allow running Launcher as standalone * Rename string constants
This commit is contained in:
13
src/runner/centralized_kb_hook.h
Normal file
13
src/runner/centralized_kb_hook.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include "../modules/interface/powertoy_module_interface.h"
|
||||
|
||||
namespace CentralizedKeyboardHook
|
||||
{
|
||||
using Hotkey = PowertoyModuleIface::Hotkey;
|
||||
|
||||
void Start() noexcept;
|
||||
void Stop() noexcept;
|
||||
void SetHotkeyAction(const std::wstring& moduleName, const Hotkey& hotkey, std::function<bool()>&& action) noexcept;
|
||||
void ClearModuleHotkeys(const std::wstring& moduleName) noexcept;
|
||||
};
|
||||
Reference in New Issue
Block a user