mirror of
https://github.com/lisk77/comet.git
synced 2025-10-25 14:28:48 +00:00
46 lines
No EOL
950 B
Rust
46 lines
No EOL
950 B
Rust
use winit::event::{ElementState, KeyEvent, WindowEvent};
|
|
use winit::keyboard::{ KeyCode, PhysicalKey };
|
|
|
|
pub type Key = KeyCode;
|
|
|
|
pub fn key_pressed(event: &WindowEvent, key_code: Key) -> bool {
|
|
match event {
|
|
WindowEvent::KeyboardInput {
|
|
event: KeyEvent {
|
|
state: ElementState::Pressed,
|
|
physical_key: PhysicalKey::Code(code),
|
|
..
|
|
},
|
|
..
|
|
} => *code == key_code,
|
|
_ => false,
|
|
}
|
|
}
|
|
|
|
pub fn key_released(event: &WindowEvent, key_code: Key) -> bool {
|
|
match event {
|
|
WindowEvent::KeyboardInput {
|
|
event: KeyEvent {
|
|
state: ElementState::Released,
|
|
physical_key: PhysicalKey::Code(code),
|
|
..
|
|
},
|
|
..
|
|
} => *code == key_code,
|
|
_ => false,
|
|
}
|
|
}
|
|
|
|
pub fn key_press(event: &WindowEvent, key_code: Key) -> bool {
|
|
match event {
|
|
WindowEvent::KeyboardInput {
|
|
event: KeyEvent {
|
|
state: ElementState::Pressed,
|
|
physical_key: PhysicalKey::Code(code),
|
|
..
|
|
},
|
|
..
|
|
} => *code == key_code,
|
|
_ => false,
|
|
}
|
|
} |