Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何在用户不按Enter键的情况下获得键盘输入?_Rust - Fatal编程技术网

Rust 如何在用户不按Enter键的情况下获得键盘输入?

Rust 如何在用户不按Enter键的情况下获得键盘输入?,rust,Rust,我会使用ncurses,但我希望它在Windows上运行。在C++中,我可以从Culio使用 kbHIT()/和 GETCHEL()/Cux>首先检查是否有字符被按下,然后得到它。p> 我想要一些类似的生锈的东西。使用板条箱,您可以查询键盘状态,而不需要活动窗口。您只需在您的Cargo.toml文件中添加对此板条箱的依赖项: [dependencies] device_query = "0.1.0" 用法很简单,类似于kbhit()和getch()。不同之处在于,您将收到一组按键(),如果没有

我会使用ncurses,但我希望它在Windows上运行。在C++中,我可以从Culio使用<代码> kbHIT()/<代码>和<代码> GETCHEL()/Cux>首先检查是否有字符被按下,然后得到它。p> 我想要一些类似的生锈的东西。

使用板条箱,您可以查询键盘状态,而不需要活动窗口。您只需在您的
Cargo.toml
文件中添加对此板条箱的依赖项:

[dependencies]
device_query = "0.1.0"
用法很简单,类似于
kbhit()
getch()
。不同之处在于,您将收到一组按键(),如果没有按键,此
Vec
将为空。单个调用涵盖了
kbhit()
getch()
组合的功能

use device_query::{DeviceQuery, DeviceState, Keycode};

fn main() {
    let device_state = DeviceState::new();
    loop {
        let keys: Vec<Keycode> = device_state.get_keys();
        for key in keys.iter() {
            println!("Pressed key: {:?}", key);
        }
    }
}

FFI到
kbhit()
getch()
?@ааачэээаааааааааааааа。例如,查看
nix
板条箱。另请参见
let keys: Vec<Keycode> = device_state.get_keys();
if !keys.is_empty(){
    println!("kbhit");
}