aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDzmitry Malyshau <kvark@mozilla.com>2018-04-18 22:45:08 -0400
committerDzmitry Malyshau <kvark@mozilla.com>2018-04-19 08:53:00 -0400
commit7af725bff0faacadb6f6e4ff4a88157d8fed0562 (patch)
tree3e64af2a21c8ab5c722cc6c33a6746a676412559
parent7fa295d8e614b316ada1561be572774197edeb48 (diff)
downloadservo-7af725bff0faacadb6f6e4ff4a88157d8fed0562.tar.gz
servo-7af725bff0faacadb6f6e4ff4a88157d8fed0562.zip
Small key utils refactor
-rw-r--r--.travis.yml1
-rw-r--r--appveyor.yml1
-rw-r--r--ports/servo/glutin_app/keyutils.rs197
3 files changed, 101 insertions, 98 deletions
diff --git a/.travis.yml b/.travis.yml
index 9c53e9cfbf6..278c18bd260 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,6 +22,7 @@ matrix:
- curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none -y
- source ~/.profile
script:
+ # see https://github.com/servo/servo/issues/20664
#- ./mach cargo check -p compositing --no-default-features
- ./mach build -d --verbose
- ./mach test-unit
diff --git a/appveyor.yml b/appveyor.yml
index 3396dd1cd23..dfb979fe4fb 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -60,6 +60,7 @@ install:
build_script:
- mach clean-nightlies --keep 2 --force
+ # see https://github.com/servo/servo/issues/20664
#- mach cargo check -p compositing --no-default-features
- mach build -d -v
- mach test-unit
diff --git a/ports/servo/glutin_app/keyutils.rs b/ports/servo/glutin_app/keyutils.rs
index 8ff8fee3fad..4f7047b96d9 100644
--- a/ports/servo/glutin_app/keyutils.rs
+++ b/ports/servo/glutin_app/keyutils.rs
@@ -132,114 +132,115 @@ pub fn char_to_script_key(c: char) -> Option<constellation_msg::Key> {
}
pub fn winit_key_to_script_key(key: VirtualKeyCode) -> Result<constellation_msg::Key, ()> {
+ use winit::VirtualKeyCode::*;
// TODO(negge): add more key mappings
- match key {
- VirtualKeyCode::A => Ok(Key::A),
- VirtualKeyCode::B => Ok(Key::B),
- VirtualKeyCode::C => Ok(Key::C),
- VirtualKeyCode::D => Ok(Key::D),
- VirtualKeyCode::E => Ok(Key::E),
- VirtualKeyCode::F => Ok(Key::F),
- VirtualKeyCode::G => Ok(Key::G),
- VirtualKeyCode::H => Ok(Key::H),
- VirtualKeyCode::I => Ok(Key::I),
- VirtualKeyCode::J => Ok(Key::J),
- VirtualKeyCode::K => Ok(Key::K),
- VirtualKeyCode::L => Ok(Key::L),
- VirtualKeyCode::M => Ok(Key::M),
- VirtualKeyCode::N => Ok(Key::N),
- VirtualKeyCode::O => Ok(Key::O),
- VirtualKeyCode::P => Ok(Key::P),
- VirtualKeyCode::Q => Ok(Key::Q),
- VirtualKeyCode::R => Ok(Key::R),
- VirtualKeyCode::S => Ok(Key::S),
- VirtualKeyCode::T => Ok(Key::T),
- VirtualKeyCode::U => Ok(Key::U),
- VirtualKeyCode::V => Ok(Key::V),
- VirtualKeyCode::W => Ok(Key::W),
- VirtualKeyCode::X => Ok(Key::X),
- VirtualKeyCode::Y => Ok(Key::Y),
- VirtualKeyCode::Z => Ok(Key::Z),
+ Ok(match key {
+ A => Key::A,
+ B => Key::B,
+ C => Key::C,
+ D => Key::D,
+ E => Key::E,
+ F => Key::F,
+ G => Key::G,
+ H => Key::H,
+ I => Key::I,
+ J => Key::J,
+ K => Key::K,
+ L => Key::L,
+ M => Key::M,
+ N => Key::N,
+ O => Key::O,
+ P => Key::P,
+ Q => Key::Q,
+ R => Key::R,
+ S => Key::S,
+ T => Key::T,
+ U => Key::U,
+ V => Key::V,
+ W => Key::W,
+ X => Key::X,
+ Y => Key::Y,
+ Z => Key::Z,
- VirtualKeyCode::Numpad0 => Ok(Key::Kp0),
- VirtualKeyCode::Numpad1 => Ok(Key::Kp1),
- VirtualKeyCode::Numpad2 => Ok(Key::Kp2),
- VirtualKeyCode::Numpad3 => Ok(Key::Kp3),
- VirtualKeyCode::Numpad4 => Ok(Key::Kp4),
- VirtualKeyCode::Numpad5 => Ok(Key::Kp5),
- VirtualKeyCode::Numpad6 => Ok(Key::Kp6),
- VirtualKeyCode::Numpad7 => Ok(Key::Kp7),
- VirtualKeyCode::Numpad8 => Ok(Key::Kp8),
- VirtualKeyCode::Numpad9 => Ok(Key::Kp9),
+ Numpad0 => Key::Kp0,
+ Numpad1 => Key::Kp1,
+ Numpad2 => Key::Kp2,
+ Numpad3 => Key::Kp3,
+ Numpad4 => Key::Kp4,
+ Numpad5 => Key::Kp5,
+ Numpad6 => Key::Kp6,
+ Numpad7 => Key::Kp7,
+ Numpad8 => Key::Kp8,
+ Numpad9 => Key::Kp9,
- VirtualKeyCode::Key0 => Ok(Key::Num0),
- VirtualKeyCode::Key1 => Ok(Key::Num1),
- VirtualKeyCode::Key2 => Ok(Key::Num2),
- VirtualKeyCode::Key3 => Ok(Key::Num3),
- VirtualKeyCode::Key4 => Ok(Key::Num4),
- VirtualKeyCode::Key5 => Ok(Key::Num5),
- VirtualKeyCode::Key6 => Ok(Key::Num6),
- VirtualKeyCode::Key7 => Ok(Key::Num7),
- VirtualKeyCode::Key8 => Ok(Key::Num8),
- VirtualKeyCode::Key9 => Ok(Key::Num9),
+ Key0 => Key::Num0,
+ Key1 => Key::Num1,
+ Key2 => Key::Num2,
+ Key3 => Key::Num3,
+ Key4 => Key::Num4,
+ Key5 => Key::Num5,
+ Key6 => Key::Num6,
+ Key7 => Key::Num7,
+ Key8 => Key::Num8,
+ Key9 => Key::Num9,
- VirtualKeyCode::Return => Ok(Key::Enter),
- VirtualKeyCode::Space => Ok(Key::Space),
- VirtualKeyCode::Escape => Ok(Key::Escape),
- VirtualKeyCode::Equals => Ok(Key::Equal),
- VirtualKeyCode::Minus => Ok(Key::Minus),
- VirtualKeyCode::Back => Ok(Key::Backspace),
- VirtualKeyCode::PageDown => Ok(Key::PageDown),
- VirtualKeyCode::PageUp => Ok(Key::PageUp),
+ Return => Key::Enter,
+ Space => Key::Space,
+ Escape => Key::Escape,
+ Equals => Key::Equal,
+ Minus => Key::Minus,
+ Back => Key::Backspace,
+ PageDown => Key::PageDown,
+ PageUp => Key::PageUp,
- VirtualKeyCode::Insert => Ok(Key::Insert),
- VirtualKeyCode::Home => Ok(Key::Home),
- VirtualKeyCode::Delete => Ok(Key::Delete),
- VirtualKeyCode::End => Ok(Key::End),
+ Insert => Key::Insert,
+ Home => Key::Home,
+ Delete => Key::Delete,
+ End => Key::End,
- VirtualKeyCode::Left => Ok(Key::Left),
- VirtualKeyCode::Up => Ok(Key::Up),
- VirtualKeyCode::Right => Ok(Key::Right),
- VirtualKeyCode::Down => Ok(Key::Down),
+ Left => Key::Left,
+ Up => Key::Up,
+ Right => Key::Right,
+ Down => Key::Down,
- VirtualKeyCode::LShift => Ok(Key::LeftShift),
- VirtualKeyCode::LControl => Ok(Key::LeftControl),
- VirtualKeyCode::LAlt => Ok(Key::LeftAlt),
- VirtualKeyCode::LWin => Ok(Key::LeftSuper),
- VirtualKeyCode::RShift => Ok(Key::RightShift),
- VirtualKeyCode::RControl => Ok(Key::RightControl),
- VirtualKeyCode::RAlt => Ok(Key::RightAlt),
- VirtualKeyCode::RWin => Ok(Key::RightSuper),
+ LShift => Key::LeftShift,
+ LControl => Key::LeftControl,
+ LAlt => Key::LeftAlt,
+ LWin => Key::LeftSuper,
+ RShift => Key::RightShift,
+ RControl => Key::RightControl,
+ RAlt => Key::RightAlt,
+ RWin => Key::RightSuper,
- VirtualKeyCode::Apostrophe => Ok(Key::Apostrophe),
- VirtualKeyCode::Backslash => Ok(Key::Backslash),
- VirtualKeyCode::Comma => Ok(Key::Comma),
- VirtualKeyCode::Grave => Ok(Key::GraveAccent),
- VirtualKeyCode::LBracket => Ok(Key::LeftBracket),
- VirtualKeyCode::Period => Ok(Key::Period),
- VirtualKeyCode::RBracket => Ok(Key::RightBracket),
- VirtualKeyCode::Semicolon => Ok(Key::Semicolon),
- VirtualKeyCode::Slash => Ok(Key::Slash),
- VirtualKeyCode::Tab => Ok(Key::Tab),
- VirtualKeyCode::Subtract => Ok(Key::Minus),
+ Apostrophe => Key::Apostrophe,
+ Backslash => Key::Backslash,
+ Comma => Key::Comma,
+ Grave => Key::GraveAccent,
+ LBracket => Key::LeftBracket,
+ Period => Key::Period,
+ RBracket => Key::RightBracket,
+ Semicolon => Key::Semicolon,
+ Slash => Key::Slash,
+ Tab => Key::Tab,
+ Subtract => Key::Minus,
- VirtualKeyCode::F1 => Ok(Key::F1),
- VirtualKeyCode::F2 => Ok(Key::F2),
- VirtualKeyCode::F3 => Ok(Key::F3),
- VirtualKeyCode::F4 => Ok(Key::F4),
- VirtualKeyCode::F5 => Ok(Key::F5),
- VirtualKeyCode::F6 => Ok(Key::F6),
- VirtualKeyCode::F7 => Ok(Key::F7),
- VirtualKeyCode::F8 => Ok(Key::F8),
- VirtualKeyCode::F9 => Ok(Key::F9),
- VirtualKeyCode::F10 => Ok(Key::F10),
- VirtualKeyCode::F11 => Ok(Key::F11),
- VirtualKeyCode::F12 => Ok(Key::F12),
+ F1 => Key::F1,
+ F2 => Key::F2,
+ F3 => Key::F3,
+ F4 => Key::F4,
+ F5 => Key::F5,
+ F6 => Key::F6,
+ F7 => Key::F7,
+ F8 => Key::F8,
+ F9 => Key::F9,
+ F10 => Key::F10,
+ F11 => Key::F11,
+ F12 => Key::F12,
- VirtualKeyCode::NavigateBackward => Ok(Key::NavigateBackward),
- VirtualKeyCode::NavigateForward => Ok(Key::NavigateForward),
- _ => Err(()),
- }
+ NavigateBackward => Key::NavigateBackward,
+ NavigateForward => Key::NavigateForward,
+ _ => return Err(()),
+ })
}
pub fn winit_mods_to_script_mods(modifiers: WinitKeyModifiers) -> constellation_msg::KeyModifiers {