20 个版本
0.6.0 | 2024年8月15日 |
---|---|
0.5.4 | 2024年5月27日 |
0.5.1 | 2024年3月7日 |
0.4.1 | 2023年11月24日 |
0.1.2 | 2023年2月12日 |
#183 在 GUI
18,345 每月下载量
用于 20 个包(直接使用6个)
81KB
2K SLoC
global_hotkey 允许您为桌面应用程序注册全局热键。
支持平台
- Windows
- macOS
- Linux (仅X11)
平台特定说明
- 在 Windows 上,必须在线程上运行 win32 事件循环。它不需要是主线程,但您必须在与事件循环相同的线程上创建全局热键管理器。
- 在 macOS 上,必须在主线程上运行事件循环,因此您也需要在主线程上创建全局热键管理器。
示例
use global_hotkey::{GlobalHotKeyManager, hotkey::{HotKey, Modifiers, Code}};
// initialize the hotkeys manager
let manager = GlobalHotKeyManager::new().unwrap();
// construct the hotkey
let hotkey = HotKey::new(Some(Modifiers::SHIFT), Code::KeyD);
// register it
manager.register(hotkey);
处理全局热键事件
您还可以使用 GlobalHotKeyEvent::receiver
监听菜单事件,以获取热键按下事件。
use global_hotkey::GlobalHotKeyEvent;
if let Ok(event) = GlobalHotKeyEvent::receiver().try_recv() {
println!("{:?}", event);
}
许可证
Apache-2.0/MIT
依赖项
~1–10MB
~98K SLoC