core: Add missing support for Tab keycode

This commit is contained in:
Tempy111 2021-02-21 18:36:02 +00:00 committed by Mike Welsh
parent b2b066063c
commit 00e1f36984
3 changed files with 29 additions and 24 deletions

View File

@ -142,13 +142,25 @@ impl ClipEvent {
pub enum KeyCode {
Unknown = 0,
Backspace = 8,
Tab = 9,
Return = 13,
Shift = 16,
Control = 17,
Alt = 18,
Pause = 19,
CapsLock = 20,
Escape = 27,
Space = 32,
PgUp = 33,
PgDown = 34,
End = 35,
Home = 36,
Left = 37,
Up = 38,
Right = 39,
Down = 40,
Insert = 45,
Delete = 46,
Key0 = 48,
Key1 = 49,
Key2 = 50,
@ -185,17 +197,6 @@ pub enum KeyCode {
X = 88,
Y = 89,
Z = 90,
Semicolon = 186,
Equals = 187,
Comma = 188,
Minus = 189,
Period = 190,
Slash = 191,
Grave = 192,
LBracket = 219,
Backslash = 220,
RBracket = 221,
Apostrophe = 222,
Numpad0 = 96,
Numpad1 = 97,
Numpad2 = 98,
@ -211,18 +212,6 @@ pub enum KeyCode {
NumpadMinus = 109,
NumpadPeriod = 110,
NumpadSlash = 111,
PgUp = 33,
PgDown = 34,
End = 35,
Home = 36,
Left = 37,
Up = 38,
Right = 39,
Down = 40,
Insert = 45,
Delete = 46,
Pause = 19,
ScrollLock = 145,
F1 = 112,
F2 = 113,
F3 = 114,
@ -235,6 +224,18 @@ pub enum KeyCode {
F10 = 121,
F11 = 122,
F12 = 123,
ScrollLock = 145,
Semicolon = 186,
Equals = 187,
Comma = 188,
Minus = 189,
Period = 190,
Slash = 191,
Grave = 192,
LBracket = 219,
Backslash = 220,
RBracket = 221,
Apostrophe = 222,
}
/// Key codes for SWF4 keyPress button handlers. These are annoyingly different than
@ -372,6 +373,7 @@ pub fn key_code_to_button_key_code(key_code: KeyCode) -> Option<ButtonKeyCode> {
KeyCode::PgUp => ButtonKeyCode::PgUp,
KeyCode::PgDown => ButtonKeyCode::PgDown,
KeyCode::Escape => ButtonKeyCode::Escape,
KeyCode::Tab => ButtonKeyCode::Tab,
_ => return None,
};
Some(out)

View File

@ -82,6 +82,7 @@ impl UiBackend for DesktopUiBackend {
match key {
KeyCode::Unknown => false,
KeyCode::Backspace => self.keys_down.contains(&VirtualKeyCode::Back),
KeyCode::Tab => self.keys_down.contains(&VirtualKeyCode::Tab),
KeyCode::Return => self.keys_down.contains(&VirtualKeyCode::Return),
KeyCode::Shift => {
self.keys_down.contains(&VirtualKeyCode::LShift)
@ -241,6 +242,7 @@ impl UiBackend for DesktopUiBackend {
fn winit_to_ruffle_key_code(key_code: VirtualKeyCode) -> Option<KeyCode> {
Some(match key_code {
VirtualKeyCode::Back => KeyCode::Backspace,
VirtualKeyCode::Tab => KeyCode::Tab,
VirtualKeyCode::Return => KeyCode::Return,
VirtualKeyCode::LShift | VirtualKeyCode::RShift => KeyCode::Shift,
VirtualKeyCode::LControl | VirtualKeyCode::RControl => KeyCode::Control,
@ -357,7 +359,6 @@ fn winit_key_to_char(key_code: VirtualKeyCode, is_shift_down: bool) -> Option<ch
(VirtualKeyCode::Key7, _) => '7',
(VirtualKeyCode::Key8, _) => '8',
(VirtualKeyCode::Key9, _) => '9',
(VirtualKeyCode::A, false) => 'a',
(VirtualKeyCode::A, true) => 'A',
(VirtualKeyCode::B, false) => 'b',

View File

@ -69,6 +69,7 @@ impl UiBackend for WebUiBackend {
match key {
KeyCode::Unknown => false,
KeyCode::Backspace => self.keys_down.contains("Backspace"),
KeyCode::Tab => self.keys_down.contains("Tab"),
KeyCode::Return => self.keys_down.contains("Enter"),
KeyCode::Shift => {
self.keys_down.contains("ShiftLeft") || self.keys_down.contains("ShiftRight")
@ -215,6 +216,7 @@ impl UiBackend for WebUiBackend {
pub fn web_to_ruffle_key_code(key_code: &str) -> Option<KeyCode> {
Some(match key_code {
"Backspace" => KeyCode::Backspace,
"Tab" => KeyCode::Tab,
"Enter" => KeyCode::Return,
"ShiftLeft" | "ShiftRight" => KeyCode::Shift,
"ControlLeft" | "ControlRight" => KeyCode::Control,