#[derive(Debug, Default, PartialEq, Eq, Clone, Copy)]
pub struct KeyDefinition {
pub key: &'static str,
pub key_code: i64,
pub code: &'static str,
pub text: Option<&'static str>,
}
pub const USKEYBOARD_LAYOUT: [KeyDefinition; 244] = [
KeyDefinition {
key: "0",
key_code: 48,
code: "Digit0",
text: None,
},
KeyDefinition {
key: "1",
key_code: 49,
code: "Digit1",
text: None,
},
KeyDefinition {
key: "2",
key_code: 50,
code: "Digit2",
text: None,
},
KeyDefinition {
key: "3",
key_code: 51,
code: "Digit3",
text: None,
},
KeyDefinition {
key: "4",
key_code: 52,
code: "Digit4",
text: None,
},
KeyDefinition {
key: "5",
key_code: 53,
code: "Digit5",
text: None,
},
KeyDefinition {
key: "6",
key_code: 54,
code: "Digit6",
text: None,
},
KeyDefinition {
key: "7",
key_code: 55,
code: "Digit7",
text: None,
},
KeyDefinition {
key: "8",
key_code: 56,
code: "Digit8",
text: None,
},
KeyDefinition {
key: "9",
key_code: 57,
code: "Digit9",
text: None,
},
KeyDefinition {
key: "Power",
key_code: 0,
code: "Power",
text: None,
},
KeyDefinition {
key: "Eject",
key_code: 0,
code: "Eject",
text: None,
},
KeyDefinition {
key: "Cancel",
key_code: 3,
code: "Abort",
text: None,
},
KeyDefinition {
key: "Help",
key_code: 6,
code: "Help",
text: None,
},
KeyDefinition {
key: "Backspace",
key_code: 8,
code: "Backspace",
text: None,
},
KeyDefinition {
key: "Tab",
key_code: 9,
code: "Tab",
text: None,
},
KeyDefinition {
key: "Clear",
key_code: 12,
code: "Numpad5",
text: None,
},
KeyDefinition {
key: "Enter",
key_code: 13,
code: "Enter",
text: Some("\r"),
},
KeyDefinition {
key: "Shift",
key_code: 16,
code: "ShiftLeft",
text: None,
},
KeyDefinition {
key: "Shift",
key_code: 16,
code: "ShiftRight",
text: None,
},
KeyDefinition {
key: "Control",
key_code: 17,
code: "ControlLeft",
text: None,
},
KeyDefinition {
key: "Control",
key_code: 17,
code: "ControlRight",
text: None,
},
KeyDefinition {
key: "Alt",
key_code: 18,
code: "AltLeft",
text: None,
},
KeyDefinition {
key: "Alt",
key_code: 18,
code: "AltRight",
text: None,
},
KeyDefinition {
key: "Pause",
key_code: 19,
code: "Pause",
text: None,
},
KeyDefinition {
key: "CapsLock",
key_code: 20,
code: "CapsLock",
text: None,
},
KeyDefinition {
key: "Escape",
key_code: 27,
code: "Escape",
text: None,
},
KeyDefinition {
key: "Convert",
key_code: 28,
code: "Convert",
text: None,
},
KeyDefinition {
key: "NonConvert",
key_code: 29,
code: "NonConvert",
text: None,
},
KeyDefinition {
key: " ",
key_code: 32,
code: "Space",
text: None,
},
KeyDefinition {
key: "PageUp",
key_code: 33,
code: "Numpad9",
text: None,
},
KeyDefinition {
key: "PageUp",
key_code: 33,
code: "PageUp",
text: None,
},
KeyDefinition {
key: "PageDown",
key_code: 34,
code: "Numpad3",
text: None,
},
KeyDefinition {
key: "PageDown",
key_code: 34,
code: "PageDown",
text: None,
},
KeyDefinition {
key: "End",
key_code: 35,
code: "End",
text: None,
},
KeyDefinition {
key: "End",
key_code: 35,
code: "Numpad1",
text: None,
},
KeyDefinition {
key: "Home",
key_code: 36,
code: "Home",
text: None,
},
KeyDefinition {
key: "Home",
key_code: 36,
code: "Numpad7",
text: None,
},
KeyDefinition {
key: "ArrowLeft",
key_code: 37,
code: "ArrowLeft",
text: None,
},
KeyDefinition {
key: "ArrowLeft",
key_code: 37,
code: "Numpad4",
text: None,
},
KeyDefinition {
key: "ArrowUp",
key_code: 38,
code: "Numpad8",
text: None,
},
KeyDefinition {
key: "ArrowUp",
key_code: 38,
code: "ArrowUp",
text: None,
},
KeyDefinition {
key: "ArrowRight",
key_code: 39,
code: "ArrowRight",
text: None,
},
KeyDefinition {
key: "ArrowRight",
key_code: 39,
code: "Numpad6",
text: None,
},
KeyDefinition {
key: "ArrowDown",
key_code: 40,
code: "Numpad2",
text: None,
},
KeyDefinition {
key: "ArrowDown",
key_code: 40,
code: "ArrowDown",
text: None,
},
KeyDefinition {
key: "Select",
key_code: 41,
code: "Select",
text: None,
},
KeyDefinition {
key: "Execute",
key_code: 43,
code: "Open",
text: None,
},
KeyDefinition {
key: "PrintScreen",
key_code: 44,
code: "PrintScreen",
text: None,
},
KeyDefinition {
key: "Insert",
key_code: 45,
code: "Insert",
text: None,
},
KeyDefinition {
key: "Insert",
key_code: 45,
code: "Numpad0",
text: None,
},
KeyDefinition {
key: "Delete",
key_code: 46,
code: "Delete",
text: None,
},
KeyDefinition {
key: "