刚学了2天rust,基本语法看了一下,有了总体框架和概念。现在我想写个秒表小demo
现在我想:
1、当我按下键盘上的F1键,秒表从0开始计时,再次按下F1,暂停计时。
2、秒表在命令行打印显示毫秒即可。
我找了两个全局热键库和一个时间库:
全局热键库
https://crates.io/crates/taur...
https://crates.io/crates/live...
时间库
https://crates.io/crates/asyn...
有的库文档也没有,所以代码开了个头:
use std::time::Duration;
fn main() {
let mut current_time=1;
println!("current time is {}", current_time);
}
然后进行不下去了,大佬能否帮我看看应该怎么写这几行代码。万分感谢。
写了一个demo,基本实现了你的需求,但是有一些小问题尚未解决,你参考一下吧
问题的原因找到了,就是库
device_query
的问题,按下F1的时候会产生两个事件:f1被按下;f1弹起来。device_query
捕捉到了这个事件,但是并没有提供接口让调用者把它们区分开来,所以会出现连续捕捉到两个f1的情况,此时只要sleep
一小会就能绕过这个问题。先这样吧,有时间的话你可以去完善一下这个demo。