[PastePlain]Support Ctrl+V as activation (#24448)

This commit is contained in:
Jaime Bernardo
2023-03-03 09:52:49 +00:00
committed by GitHub
parent 1fac3d3d1c
commit fa98fbd9f1
3 changed files with 14 additions and 0 deletions

View File

@@ -125,6 +125,10 @@ public:
return powertoys_gpo::gpo_rule_configured_not_configured;
}
// Some actions like PastePlain generate new inputs, which we don't want to catch again.
// The flag was purposefully chose to not collide with other keyboard manager flags.
const static inline ULONG_PTR CENTRALIZED_KEYBOARD_HOOK_DONT_TRIGGER_FLAG = 0x110;
protected:
HANDLE CreateDefaultEvent(const wchar_t* eventName)
{

View File

@@ -311,6 +311,8 @@ private:
INPUT input_event = {};
input_event.type = INPUT_KEYBOARD;
input_event.ki.wVk = 0x56; // V
// Avoid triggering detection by the centralized keyboard hook. Allows using Control+V as activation.
input_event.ki.dwExtraInfo = CENTRALIZED_KEYBOARD_HOOK_DONT_TRIGGER_FLAG;
inputs.push_back(input_event);
}
@@ -319,6 +321,8 @@ private:
input_event.type = INPUT_KEYBOARD;
input_event.ki.wVk = 0x56; // V
input_event.ki.dwFlags = KEYEVENTF_KEYUP;
// Avoid triggering detection by the centralized keyboard hook. Allows using Control+V as activation.
input_event.ki.dwExtraInfo = CENTRALIZED_KEYBOARD_HOOK_DONT_TRIGGER_FLAG;
inputs.push_back(input_event);
}