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() {
|
void trigger_paste() {
|
||||||
std::vector<INPUT> vec;
|
std::vector<INPUT> vec;
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,11 @@ extern "C" void delete_string(int32_t count, int32_t delay);
|
||||||
*/
|
*/
|
||||||
extern "C" void trigger_paste();
|
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)
|
* Send the copy keyboard shortcut (CTRL+C)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -65,6 +65,7 @@ extern "C" {
|
||||||
pub fn send_multi_vkey(vk: i32, count: i32);
|
pub fn send_multi_vkey(vk: i32, count: i32);
|
||||||
pub fn delete_string(count: i32, delay: i32);
|
pub fn delete_string(count: i32, delay: i32);
|
||||||
pub fn trigger_paste();
|
pub fn trigger_paste();
|
||||||
|
pub fn trigger_shift_paste();
|
||||||
pub fn trigger_copy();
|
pub fn trigger_copy();
|
||||||
|
|
||||||
// PROCESSES
|
// PROCESSES
|
||||||
|
|
|
@ -51,6 +51,9 @@ impl super::KeyboardManager for WindowsKeyboardManager {
|
||||||
trigger_paste();
|
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.")
|
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