use cotis_utils::interactivity::keyboard::KeyboardKey;
pub(crate) fn collect_pressed_chars() -> Vec<char> {
let mut chars = Vec::new();
loop {
let code = unsafe { raylib::ffi::GetCharPressed() };
if code <= 0 {
break;
}
if let Some(c) = char::from_u32(code as u32) {
chars.push(c);
}
}
chars
}
pub(crate) fn into_raylib_key(key: KeyboardKey) -> raylib::prelude::KeyboardKey {
match key {
KeyboardKey::KeyNull => raylib::prelude::KeyboardKey::KEY_NULL,
KeyboardKey::KeyApostrophe => raylib::prelude::KeyboardKey::KEY_APOSTROPHE,
KeyboardKey::KeyComma => raylib::prelude::KeyboardKey::KEY_COMMA,
KeyboardKey::KeyMinus => raylib::prelude::KeyboardKey::KEY_MINUS,
KeyboardKey::KeyPeriod => raylib::prelude::KeyboardKey::KEY_PERIOD,
KeyboardKey::KeySlash => raylib::prelude::KeyboardKey::KEY_SLASH,
KeyboardKey::KeyZero => raylib::prelude::KeyboardKey::KEY_ZERO,
KeyboardKey::KeyOne => raylib::prelude::KeyboardKey::KEY_ONE,
KeyboardKey::KeyTwo => raylib::prelude::KeyboardKey::KEY_TWO,
KeyboardKey::KeyThree => raylib::prelude::KeyboardKey::KEY_THREE,
KeyboardKey::KeyFour => raylib::prelude::KeyboardKey::KEY_FOUR,
KeyboardKey::KeyFive => raylib::prelude::KeyboardKey::KEY_FIVE,
KeyboardKey::KeySix => raylib::prelude::KeyboardKey::KEY_SIX,
KeyboardKey::KeySeven => raylib::prelude::KeyboardKey::KEY_SEVEN,
KeyboardKey::KeyEight => raylib::prelude::KeyboardKey::KEY_EIGHT,
KeyboardKey::KeyNine => raylib::prelude::KeyboardKey::KEY_NINE,
KeyboardKey::KeySemicolon => raylib::prelude::KeyboardKey::KEY_SEMICOLON,
KeyboardKey::KeyEqual => raylib::prelude::KeyboardKey::KEY_EQUAL,
KeyboardKey::KeyA => raylib::prelude::KeyboardKey::KEY_A,
KeyboardKey::KeyB => raylib::prelude::KeyboardKey::KEY_B,
KeyboardKey::KeyC => raylib::prelude::KeyboardKey::KEY_C,
KeyboardKey::KeyD => raylib::prelude::KeyboardKey::KEY_D,
KeyboardKey::KeyE => raylib::prelude::KeyboardKey::KEY_E,
KeyboardKey::KeyF => raylib::prelude::KeyboardKey::KEY_F,
KeyboardKey::KeyG => raylib::prelude::KeyboardKey::KEY_G,
KeyboardKey::KeyH => raylib::prelude::KeyboardKey::KEY_H,
KeyboardKey::KeyI => raylib::prelude::KeyboardKey::KEY_I,
KeyboardKey::KeyJ => raylib::prelude::KeyboardKey::KEY_J,
KeyboardKey::KeyK => raylib::prelude::KeyboardKey::KEY_K,
KeyboardKey::KeyL => raylib::prelude::KeyboardKey::KEY_L,
KeyboardKey::KeyM => raylib::prelude::KeyboardKey::KEY_M,
KeyboardKey::KeyN => raylib::prelude::KeyboardKey::KEY_N,
KeyboardKey::KeyO => raylib::prelude::KeyboardKey::KEY_O,
KeyboardKey::KeyP => raylib::prelude::KeyboardKey::KEY_P,
KeyboardKey::KeyQ => raylib::prelude::KeyboardKey::KEY_Q,
KeyboardKey::KeyR => raylib::prelude::KeyboardKey::KEY_R,
KeyboardKey::KeyS => raylib::prelude::KeyboardKey::KEY_S,
KeyboardKey::KeyT => raylib::prelude::KeyboardKey::KEY_T,
KeyboardKey::KeyU => raylib::prelude::KeyboardKey::KEY_U,
KeyboardKey::KeyV => raylib::prelude::KeyboardKey::KEY_V,
KeyboardKey::KeyW => raylib::prelude::KeyboardKey::KEY_W,
KeyboardKey::KeyX => raylib::prelude::KeyboardKey::KEY_X,
KeyboardKey::KeyY => raylib::prelude::KeyboardKey::KEY_Y,
KeyboardKey::KeyZ => raylib::prelude::KeyboardKey::KEY_Z,
KeyboardKey::KeyLeftBracket => raylib::prelude::KeyboardKey::KEY_LEFT_BRACKET,
KeyboardKey::KeyBackslash => raylib::prelude::KeyboardKey::KEY_BACKSLASH,
KeyboardKey::KeyRightBracket => raylib::prelude::KeyboardKey::KEY_RIGHT_BRACKET,
KeyboardKey::KeyGrave => raylib::prelude::KeyboardKey::KEY_GRAVE,
KeyboardKey::KeySpace => raylib::prelude::KeyboardKey::KEY_SPACE,
KeyboardKey::KeyEscape => raylib::prelude::KeyboardKey::KEY_ESCAPE,
KeyboardKey::KeyEnter => raylib::prelude::KeyboardKey::KEY_ENTER,
KeyboardKey::KeyTab => raylib::prelude::KeyboardKey::KEY_TAB,
KeyboardKey::KeyBackspace => raylib::prelude::KeyboardKey::KEY_BACKSPACE,
KeyboardKey::KeyInsert => raylib::prelude::KeyboardKey::KEY_INSERT,
KeyboardKey::KeyDelete => raylib::prelude::KeyboardKey::KEY_DELETE,
KeyboardKey::KeyRight => raylib::prelude::KeyboardKey::KEY_RIGHT,
KeyboardKey::KeyLeft => raylib::prelude::KeyboardKey::KEY_LEFT,
KeyboardKey::KeyDown => raylib::prelude::KeyboardKey::KEY_DOWN,
KeyboardKey::KeyUp => raylib::prelude::KeyboardKey::KEY_UP,
KeyboardKey::KeyPageUp => raylib::prelude::KeyboardKey::KEY_PAGE_UP,
KeyboardKey::KeyPageDown => raylib::prelude::KeyboardKey::KEY_PAGE_DOWN,
KeyboardKey::KeyHome => raylib::prelude::KeyboardKey::KEY_HOME,
KeyboardKey::KeyEnd => raylib::prelude::KeyboardKey::KEY_END,
KeyboardKey::KeyCapsLock => raylib::prelude::KeyboardKey::KEY_CAPS_LOCK,
KeyboardKey::KeyScrollLock => raylib::prelude::KeyboardKey::KEY_SCROLL_LOCK,
KeyboardKey::KeyNumLock => raylib::prelude::KeyboardKey::KEY_NUM_LOCK,
KeyboardKey::KeyPrintScreen => raylib::prelude::KeyboardKey::KEY_PRINT_SCREEN,
KeyboardKey::KeyPause => raylib::prelude::KeyboardKey::KEY_PAUSE,
KeyboardKey::KeyF1 => raylib::prelude::KeyboardKey::KEY_F1,
KeyboardKey::KeyF2 => raylib::prelude::KeyboardKey::KEY_F2,
KeyboardKey::KeyF3 => raylib::prelude::KeyboardKey::KEY_F3,
KeyboardKey::KeyF4 => raylib::prelude::KeyboardKey::KEY_F4,
KeyboardKey::KeyF5 => raylib::prelude::KeyboardKey::KEY_F5,
KeyboardKey::KeyF6 => raylib::prelude::KeyboardKey::KEY_F6,
KeyboardKey::KeyF7 => raylib::prelude::KeyboardKey::KEY_F7,
KeyboardKey::KeyF8 => raylib::prelude::KeyboardKey::KEY_F8,
KeyboardKey::KeyF9 => raylib::prelude::KeyboardKey::KEY_F9,
KeyboardKey::KeyF10 => raylib::prelude::KeyboardKey::KEY_F10,
KeyboardKey::KeyF11 => raylib::prelude::KeyboardKey::KEY_F11,
KeyboardKey::KeyF12 => raylib::prelude::KeyboardKey::KEY_F12,
KeyboardKey::KeyLeftShift => raylib::prelude::KeyboardKey::KEY_LEFT_SHIFT,
KeyboardKey::KeyLeftControl => raylib::prelude::KeyboardKey::KEY_LEFT_CONTROL,
KeyboardKey::KeyLeftAlt => raylib::prelude::KeyboardKey::KEY_LEFT_ALT,
KeyboardKey::KeyLeftSuper => raylib::prelude::KeyboardKey::KEY_LEFT_SUPER,
KeyboardKey::KeyRightShift => raylib::prelude::KeyboardKey::KEY_RIGHT_SHIFT,
KeyboardKey::KeyRightControl => raylib::prelude::KeyboardKey::KEY_RIGHT_CONTROL,
KeyboardKey::KeyRightAlt => raylib::prelude::KeyboardKey::KEY_RIGHT_ALT,
KeyboardKey::KeyRightSuper => raylib::prelude::KeyboardKey::KEY_RIGHT_SUPER,
KeyboardKey::KeyKbMenu => raylib::prelude::KeyboardKey::KEY_KB_MENU,
KeyboardKey::KeyKp0 => raylib::prelude::KeyboardKey::KEY_KP_0,
KeyboardKey::KeyKp1 => raylib::prelude::KeyboardKey::KEY_KP_1,
KeyboardKey::KeyKp2 => raylib::prelude::KeyboardKey::KEY_KP_2,
KeyboardKey::KeyKp3 => raylib::prelude::KeyboardKey::KEY_KP_3,
KeyboardKey::KeyKp4 => raylib::prelude::KeyboardKey::KEY_KP_4,
KeyboardKey::KeyKp5 => raylib::prelude::KeyboardKey::KEY_KP_5,
KeyboardKey::KeyKp6 => raylib::prelude::KeyboardKey::KEY_KP_6,
KeyboardKey::KeyKp7 => raylib::prelude::KeyboardKey::KEY_KP_7,
KeyboardKey::KeyKp8 => raylib::prelude::KeyboardKey::KEY_KP_8,
KeyboardKey::KeyKp9 => raylib::prelude::KeyboardKey::KEY_KP_9,
KeyboardKey::KeyKpDecimal => raylib::prelude::KeyboardKey::KEY_KP_DECIMAL,
KeyboardKey::KeyKpDivide => raylib::prelude::KeyboardKey::KEY_KP_DIVIDE,
KeyboardKey::KeyKpMultiply => raylib::prelude::KeyboardKey::KEY_KP_MULTIPLY,
KeyboardKey::KeyKpSubtract => raylib::prelude::KeyboardKey::KEY_KP_SUBTRACT,
KeyboardKey::KeyKpAdd => raylib::prelude::KeyboardKey::KEY_KP_ADD,
KeyboardKey::KeyKpEnter => raylib::prelude::KeyboardKey::KEY_KP_ENTER,
KeyboardKey::KeyKpEqual => raylib::prelude::KeyboardKey::KEY_KP_EQUAL,
KeyboardKey::KeyBack => raylib::prelude::KeyboardKey::KEY_BACK,
KeyboardKey::KeyMenu => raylib::prelude::KeyboardKey::KEY_MENU,
KeyboardKey::KeyVolumeUp => raylib::prelude::KeyboardKey::KEY_VOLUME_UP,
KeyboardKey::KeyVolumeDown => raylib::prelude::KeyboardKey::KEY_VOLUME_DOWN,
}
}