Add Ctrl+Shift+V shortcut on Windows. Fix #333
This commit is contained in:
parent
889e2b8f8c
commit
0cd245153f
|
@ -566,6 +566,38 @@ void send_multi_vkey_with_delay(int32_t vk, int32_t count, int32_t delay) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void trigger_shift_paste() {
|
||||
std::vector<INPUT> vec;
|
||||
|
||||
INPUT input = { 0 };
|
||||
|
||||
input.type = INPUT_KEYBOARD;
|
||||
input.ki.wScan = 0;
|
||||
input.ki.time = 0;
|
||||
input.ki.dwExtraInfo = 0;
|
||||
input.ki.wVk = VK_CONTROL;
|
||||
input.ki.dwFlags = 0; // 0 for key press
|
||||
vec.push_back(input);
|
||||
|
||||
input.ki.wVk = VK_SHIFT; // SHIFT KEY
|
||||
vec.push_back(input);
|
||||
|
||||
input.ki.wVk = 0x56; // V KEY
|
||||
vec.push_back(input);
|
||||
|
||||
input.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
|
||||
vec.push_back(input);
|
||||
|
||||
input.ki.wVk = VK_SHIFT; // SHIFT KEY
|
||||
vec.push_back(input);
|
||||
|
||||
input.ki.wVk = VK_CONTROL;
|
||||
vec.push_back(input);
|
||||
|
||||
SendInput(vec.size(), vec.data(), sizeof(INPUT));
|
||||
}
|
||||
|
||||
void trigger_paste() {
|
||||
std::vector<INPUT> vec;
|
||||
|
||||
|
|
|
@ -87,6 +87,11 @@ extern "C" void delete_string(int32_t count, int32_t delay);
|
|||
*/
|
||||
extern "C" void trigger_paste();
|
||||
|
||||
/*
|
||||
* Send the Paste keyboard shortcut (CTRL+SHIFT+V)
|
||||
*/
|
||||
extern "C" void trigger_shift_paste();
|
||||
|
||||
/*
|
||||
* Send the copy keyboard shortcut (CTRL+C)
|
||||
*/
|
||||
|
|
|
@ -65,6 +65,7 @@ extern "C" {
|
|||
pub fn send_multi_vkey(vk: i32, count: i32);
|
||||
pub fn delete_string(count: i32, delay: i32);
|
||||
pub fn trigger_paste();
|
||||
pub fn trigger_shift_paste();
|
||||
pub fn trigger_copy();
|
||||
|
||||
// PROCESSES
|
||||
|
|
|
@ -51,6 +51,9 @@ impl super::KeyboardManager for WindowsKeyboardManager {
|
|||
trigger_paste();
|
||||
}
|
||||
},
|
||||
PasteShortcut::CtrlShiftV => {
|
||||
trigger_shift_paste();
|
||||
},
|
||||
_ => {
|
||||
error!("Windows backend does not support this Paste Shortcut, please open an issue on GitHub if you need it.")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user