#keyboard #winapi #keyboard-events #listen #global #press #keyboard-listener

keyboard_listener_windows

您可以使用此库在Windows上监听键盘的按下和释放操作

4 个版本

0.2.0 2024年3月11日
0.1.2 2024年2月28日
0.1.1 2024年2月27日
0.1.0 2024年2月27日

#110 in Windows API

MIT 协议

11KB
250

keyboard_listener_windows

这是一个简单的库,用于在Windows上全局监听键盘操作。

此库是 caret rdev 的子集。
如果您不需要仅在Windows上监听,应使用 crate rdev

安装

$ cargo add keyboard_listener_windows

监听全局事件

示例

use std::time::Duration;
use keyboard_listener_windows::{start_listen, stop_listen, Event};

fn main() {
    start_listen(callback);
    println!("start listen");

    // you can stop listen any time
    std::thread::spawn(||{
        std::thread::sleep(Duration::new(5,0));
        stop_listen();
        println!("stop listen")
    }).join().unwrap();
}

fn callback(event: Event) {
    println!("Keyboard event: {:?}", event);
}

示例输出

start listen
Keyboard event: Event { timestamp: 1709032907009, is_key_down: true, key: "KeyA" }
Keyboard event: Event { timestamp: 1709032907036, is_key_down: true, key: "KeyS" }
Keyboard event: Event { timestamp: 1709032907140, is_key_down: true, key: "KeyD" }
Keyboard event: Event { timestamp: 1709032907216, is_key_down: false, key: "KeyA" }
Keyboard event: Event { timestamp: 1709032907373, is_key_down: false, key: "KeyS" }
Keyboard event: Event { timestamp: 1709032907456, is_key_down: false, key: "KeyD" }
stop listen

您可以克隆此仓库,然后使用 cargo 运行此示例

$ cd example/listen && cargo run

OK,以上就是所有内容,如果您需要更多功能,请使用 crate rdev

依赖项

~235KB