mirror of
https://github.com/0PandaDEV/Qopy.git
synced 2025-04-21 13:14:04 +02:00
better hotkey handeling
This commit is contained in:
parent
1b6e700c7b
commit
2446f7320f
1 changed files with 36 additions and 17 deletions
|
@ -6,24 +6,43 @@ pub fn setup(app_handle: tauri::AppHandle) {
|
||||||
let (tx, rx) = mpsc::channel();
|
let (tx, rx) = mpsc::channel();
|
||||||
|
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
listen(move |event| match event.event_type {
|
listen(move |event| {
|
||||||
EventType::KeyPress(Key::MetaLeft | Key::MetaRight) => {
|
tx.send(event).unwrap();
|
||||||
let _ = tx.send(true);
|
})
|
||||||
|
.unwrap();
|
||||||
|
});
|
||||||
|
|
||||||
|
std::thread::spawn(move || {
|
||||||
|
let mut meta_pressed = false;
|
||||||
|
|
||||||
|
while let Ok(event) = rx.recv() {
|
||||||
|
match event.event_type {
|
||||||
|
EventType::KeyPress(Key::MetaLeft) | EventType::KeyPress(Key::MetaRight) => {
|
||||||
|
meta_pressed = true;
|
||||||
|
println!("Meta key pressed");
|
||||||
}
|
}
|
||||||
EventType::KeyRelease(Key::KeyV) => {
|
EventType::KeyRelease(Key::MetaLeft) | EventType::KeyRelease(Key::MetaRight) => {
|
||||||
if rx.try_recv().is_ok() {
|
meta_pressed = false;
|
||||||
|
println!("Meta key released");
|
||||||
|
}
|
||||||
|
EventType::KeyPress(Key::KeyV) => {
|
||||||
|
println!("V key pressed");
|
||||||
|
if meta_pressed {
|
||||||
|
println!("Meta+V detected");
|
||||||
let window = app_handle.get_window("main").unwrap();
|
let window = app_handle.get_window("main").unwrap();
|
||||||
let is_visible = window.is_visible().unwrap();
|
let is_visible = window.is_visible().unwrap();
|
||||||
if is_visible {
|
if is_visible {
|
||||||
|
println!("Hiding window");
|
||||||
window.hide().unwrap();
|
window.hide().unwrap();
|
||||||
} else {
|
} else {
|
||||||
|
println!("Showing window");
|
||||||
window.show().unwrap();
|
window.show().unwrap();
|
||||||
window.set_focus().unwrap();
|
window.set_focus().unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
})
|
}
|
||||||
.unwrap();
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue