我目前在 Rust 应用程序中使用 sdl2 (0.35.2) 来检测关键事件,但它似乎只触发 Event::Quit 而没有其他。我有一个像这样的非常简单的例子
use sdl2;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
fn main() {
let sdl_context = sdl2::init().unwrap();
let mut event_pump = sdl_context.event_pump().unwrap();
'event_loop:loop {
for event in event_pump.poll_iter() {
match event {
Event::Quit { .. } => {
println!("Quit"); break 'event_loop;
},
Event::KeyDown { keycode:Some(Keycode::Escape), .. } => {
println!("Escape"); break 'event_loop;
},
Event::KeyDown { .. } => {
println!("KeyDown Triggered");
},
_ => {}
}
}
}
}
但是两个 Event:KeyDown 匹配都不会触发,只能通过
Ctrl+C
获取 Event::Quit 来触发。我正在 Debian 的基本终端中执行此操作。