#unix #key #windows #getch

getch-rs

getch for Windows and Unix

6个版本

0.2.0 2024年2月3日
0.1.4 2023年8月25日
0.1.3 2023年4月27日
0.1.0 2023年2月1日

#374 in 硬件支持

Download history 73/week @ 2024-03-11 44/week @ 2024-03-18 15/week @ 2024-03-25 96/week @ 2024-04-01 28/week @ 2024-04-08 57/week @ 2024-04-15 57/week @ 2024-04-22 37/week @ 2024-04-29 33/week @ 2024-05-06 40/week @ 2024-05-13 58/week @ 2024-05-20 49/week @ 2024-05-27 55/week @ 2024-06-03 27/week @ 2024-06-10 42/week @ 2024-06-17 39/week @ 2024-06-24

170 每月下载量
用于 sisterm

MIT 许可证

15KB
279

getch-rs

Actions Status Crates.io Documentation License

getch for Windows and Unix.

用法

Cargo.toml

[dependencies]
getch-rs = "0.2"

main.rs

use getch_rs::Getch;

fn main() {
    let g = Getch::new();

    if let Ok(key) = g.getch() {
        println!("{:?}", key);
    }
}

示例

$ cargo run --example getch

贡献

本项目欢迎你的PR和问题。例如,修复bug,添加功能,重构等。


lib.rs:

getch-rs

getch 是一个C语言函数,用于捕获键盘的单个字符输入,无需用户按下Enter键。此函数将在用户提供输入之前暂停程序执行。通常用于基于控制台的程序,在需要菜单选择或等待按键输入的情况下非常有用。

示例

use getch_rs::{Getch, Key};

fn main() {
    let g = Getch::new();

    println!("press `q` to exit");

    loop {
        match g.getch() {
            Ok(Key::Char('q')) => break,
            Ok(key) => println!("{:?}", key),
            Err(e) => println!("{}", e),
        }
    }
}

依赖项

~2MB
~35K SLoC