mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-13 22:48:34 +00:00
Added full keymap to winit backend, fixed keyboard example
This commit is contained in:
parent
e51af80da7
commit
2d9efba59b
@ -116,8 +116,7 @@ fn main() {
|
||||
// `winit::VirtualKeyCode`. So we can query if a key
|
||||
// is down based on it's virtual key code,
|
||||
|
||||
let home_key_idx = 65; // Hardcoded for imgui-examples only, instead use `winit::event::VirtualKeyCode::Home`
|
||||
if ui.io().keys_down[home_key_idx as usize] {
|
||||
if ui.is_key_down(Key::Home) {
|
||||
home_counter += 1;
|
||||
}
|
||||
ui.text(format!("Home has been pressed for {} frames", home_counter));
|
||||
@ -134,7 +133,7 @@ fn main() {
|
||||
// with arbitrary key indexes. For example, to check
|
||||
// if the F1 key is been pressed
|
||||
|
||||
if ui.is_key_index_released(37) {
|
||||
if ui.is_key_released(Key::F1) {
|
||||
// Index is hardcoded for imgui-examples only, instead do this:
|
||||
//if ui.is_key_index_released(winit::event::VirtualKeyCode::F1 as i32) {
|
||||
f1_release_count += 1;
|
||||
|
||||
@ -220,21 +220,96 @@ fn to_imgui_key(keycode: VirtualKeyCode) -> Option<Key> {
|
||||
VirtualKeyCode::Space => Some(Key::Space),
|
||||
VirtualKeyCode::Return => Some(Key::Enter),
|
||||
VirtualKeyCode::Escape => Some(Key::Escape),
|
||||
VirtualKeyCode::NumpadEnter => Some(Key::KeypadEnter),
|
||||
VirtualKeyCode::LControl => Some(Key::LeftCtrl),
|
||||
VirtualKeyCode::LShift => Some(Key::LeftShift),
|
||||
VirtualKeyCode::LAlt => Some(Key::LeftAlt),
|
||||
VirtualKeyCode::LWin => Some(Key::LeftSuper),
|
||||
VirtualKeyCode::RControl => Some(Key::RightCtrl),
|
||||
VirtualKeyCode::RShift => Some(Key::RightShift),
|
||||
VirtualKeyCode::RAlt => Some(Key::RightAlt),
|
||||
VirtualKeyCode::RWin => Some(Key::RightSuper),
|
||||
//VirtualKeyCode::Menu => Some(Key::Menu), // TODO: find out if there is a Menu key in winit
|
||||
VirtualKeyCode::Key0 => Some(Key::Alpha0),
|
||||
VirtualKeyCode::Key1 => Some(Key::Alpha1),
|
||||
VirtualKeyCode::Key2 => Some(Key::Alpha2),
|
||||
VirtualKeyCode::Key3 => Some(Key::Alpha3),
|
||||
VirtualKeyCode::Key4 => Some(Key::Alpha4),
|
||||
VirtualKeyCode::Key5 => Some(Key::Alpha5),
|
||||
VirtualKeyCode::Key6 => Some(Key::Alpha6),
|
||||
VirtualKeyCode::Key7 => Some(Key::Alpha7),
|
||||
VirtualKeyCode::Key8 => Some(Key::Alpha8),
|
||||
VirtualKeyCode::Key9 => Some(Key::Alpha9),
|
||||
VirtualKeyCode::A => Some(Key::A),
|
||||
VirtualKeyCode::B => Some(Key::B),
|
||||
VirtualKeyCode::C => Some(Key::C),
|
||||
VirtualKeyCode::D => Some(Key::D),
|
||||
VirtualKeyCode::E => Some(Key::E),
|
||||
VirtualKeyCode::F => Some(Key::F),
|
||||
VirtualKeyCode::G => Some(Key::G),
|
||||
VirtualKeyCode::H => Some(Key::H),
|
||||
VirtualKeyCode::I => Some(Key::I),
|
||||
VirtualKeyCode::J => Some(Key::J),
|
||||
VirtualKeyCode::K => Some(Key::K),
|
||||
VirtualKeyCode::L => Some(Key::L),
|
||||
VirtualKeyCode::M => Some(Key::M),
|
||||
VirtualKeyCode::N => Some(Key::N),
|
||||
VirtualKeyCode::O => Some(Key::O),
|
||||
VirtualKeyCode::P => Some(Key::P),
|
||||
VirtualKeyCode::Q => Some(Key::Q),
|
||||
VirtualKeyCode::R => Some(Key::R),
|
||||
VirtualKeyCode::S => Some(Key::S),
|
||||
VirtualKeyCode::T => Some(Key::T),
|
||||
VirtualKeyCode::U => Some(Key::U),
|
||||
VirtualKeyCode::V => Some(Key::V),
|
||||
VirtualKeyCode::W => Some(Key::W),
|
||||
VirtualKeyCode::X => Some(Key::X),
|
||||
VirtualKeyCode::Y => Some(Key::Y),
|
||||
VirtualKeyCode::Z => Some(Key::Z),
|
||||
VirtualKeyCode::LControl => Some(Key::LeftCtrl),
|
||||
VirtualKeyCode::RControl => Some(Key::RightCtrl),
|
||||
VirtualKeyCode::LShift => Some(Key::LeftShift),
|
||||
VirtualKeyCode::RShift => Some(Key::RightShift),
|
||||
VirtualKeyCode::LAlt => Some(Key::LeftAlt),
|
||||
VirtualKeyCode::RAlt => Some(Key::RightAlt),
|
||||
VirtualKeyCode::LWin => Some(Key::LeftSuper),
|
||||
VirtualKeyCode::RWin => Some(Key::RightSuper),
|
||||
VirtualKeyCode::F1 => Some(Key::F1),
|
||||
VirtualKeyCode::F2 => Some(Key::F2),
|
||||
VirtualKeyCode::F3 => Some(Key::F3),
|
||||
VirtualKeyCode::F4 => Some(Key::F4),
|
||||
VirtualKeyCode::F5 => Some(Key::F5),
|
||||
VirtualKeyCode::F6 => Some(Key::F6),
|
||||
VirtualKeyCode::F7 => Some(Key::F7),
|
||||
VirtualKeyCode::F8 => Some(Key::F8),
|
||||
VirtualKeyCode::F9 => Some(Key::F9),
|
||||
VirtualKeyCode::F10 => Some(Key::F10),
|
||||
VirtualKeyCode::F11 => Some(Key::F11),
|
||||
VirtualKeyCode::F12 => Some(Key::F12),
|
||||
VirtualKeyCode::Apostrophe => Some(Key::Apostrophe),
|
||||
VirtualKeyCode::Comma => Some(Key::Comma),
|
||||
VirtualKeyCode::Minus => Some(Key::Minus),
|
||||
VirtualKeyCode::Period => Some(Key::Period),
|
||||
VirtualKeyCode::Slash => Some(Key::Slash),
|
||||
VirtualKeyCode::Semicolon => Some(Key::Semicolon),
|
||||
VirtualKeyCode::Equals => Some(Key::Equal),
|
||||
VirtualKeyCode::LBracket => Some(Key::LeftBracket),
|
||||
VirtualKeyCode::Backslash => Some(Key::Backslash),
|
||||
VirtualKeyCode::RBracket => Some(Key::RightBracket),
|
||||
VirtualKeyCode::Grave => Some(Key::GraveAccent),
|
||||
VirtualKeyCode::Capital => Some(Key::CapsLock),
|
||||
VirtualKeyCode::Scroll => Some(Key::ScrollLock),
|
||||
VirtualKeyCode::Numlock => Some(Key::NumLock),
|
||||
VirtualKeyCode::Snapshot => Some(Key::PrintScreen),
|
||||
VirtualKeyCode::Pause => Some(Key::Pause),
|
||||
VirtualKeyCode::Numpad0 => Some(Key::Keypad0),
|
||||
VirtualKeyCode::Numpad1 => Some(Key::Keypad1),
|
||||
VirtualKeyCode::Numpad2 => Some(Key::Keypad2),
|
||||
VirtualKeyCode::Numpad3 => Some(Key::Keypad3),
|
||||
VirtualKeyCode::Numpad4 => Some(Key::Keypad4),
|
||||
VirtualKeyCode::Numpad5 => Some(Key::Keypad5),
|
||||
VirtualKeyCode::Numpad6 => Some(Key::Keypad6),
|
||||
VirtualKeyCode::Numpad7 => Some(Key::Keypad7),
|
||||
VirtualKeyCode::Numpad8 => Some(Key::Keypad8),
|
||||
VirtualKeyCode::Numpad9 => Some(Key::Keypad9),
|
||||
VirtualKeyCode::NumpadDecimal => Some(Key::KeypadDecimal),
|
||||
VirtualKeyCode::NumpadDivide => Some(Key::KeypadDivide),
|
||||
VirtualKeyCode::NumpadMultiply => Some(Key::KeypadMultiply),
|
||||
VirtualKeyCode::NumpadSubtract => Some(Key::KeypadSubtract),
|
||||
VirtualKeyCode::NumpadAdd => Some(Key::KeypadAdd),
|
||||
VirtualKeyCode::NumpadEnter => Some(Key::KeypadEnter),
|
||||
VirtualKeyCode::NumpadEquals => Some(Key::KeypadEqual),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user