diff --git a/Cargo.toml b/Cargo.toml index 44e9ccc..0781636 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ keywords = ["linux", "input"] [dependencies] libc = "0.2" -nix = "0.10" +nix = { version = "0.23", default-features = false } uinput-sys = "0.1" custom_derive = "0.1" diff --git a/src/device/builder.rs b/src/device/builder.rs index 251f01c..41002f0 100644 --- a/src/device/builder.rs +++ b/src/device/builder.rs @@ -2,7 +2,7 @@ use std::path::Path; use std::{mem, slice}; use std::ffi::CString; use libc::c_int; -use nix::{self, fcntl, unistd}; +use nix::{fcntl, unistd}; use nix::errno::Errno; use nix::sys::stat; use ffi::*; @@ -23,7 +23,7 @@ impl Builder { /// Create a builder from the specified path. pub fn open>(path: P) -> Res { Ok(Builder { - fd: try!(fcntl::open(path.as_ref(), fcntl::OFlag::O_WRONLY | fcntl::OFlag::O_NONBLOCK, stat::Mode::empty())), + fd: fcntl::open(path.as_ref(), fcntl::OFlag::O_WRONLY | fcntl::OFlag::O_NONBLOCK, stat::Mode::empty())?, def: unsafe { mem::zeroed() }, abs: None, }) @@ -32,16 +32,16 @@ impl Builder { #[cfg(feature = "udev")] /// Create a builder from the default path taken from udev. pub fn default() -> Res { - let context = try!(udev::Context::new()); - let mut enumerator = try!(udev::Enumerator::new(&context)); + let context = udev::Context::new()?; + let mut enumerator = udev::Enumerator::new(&context)?; - try!(enumerator.match_subsystem("misc")); - try!(enumerator.match_sysname("uinput")); + enumerator.match_subsystem("misc")?; + enumerator.match_sysname("uinput")?; - let device = try!(try!(enumerator.scan_devices()) - .next().ok_or(Error::NotFound)); + let device = enumerator.scan_devices()? + .next().ok_or(Error::NotFound)?; - Builder::open(try!(device.devnode().ok_or(Error::NotFound))) + Builder::open(device.devnode().ok_or(Error::NotFound)?) } #[cfg(not(feature = "udev"))] @@ -52,11 +52,11 @@ impl Builder { /// Set the name. pub fn name>(mut self, value: T) -> Res { - let string = try!(CString::new(value.as_ref())); + let string = CString::new(value.as_ref())?; let bytes = string.as_bytes_with_nul(); if bytes.len() > UINPUT_MAX_NAME_SIZE as usize { - try!(Err(nix::Error::from_errno(Errno::EINVAL))); + return Err(nix::Error::EINVAL.into()) } (&mut self.def.name)[..bytes.len()] @@ -95,7 +95,7 @@ impl Builder { match value.into() { Event::All => { - try!(self.event(Event::Keyboard(event::Keyboard::All))) + self.event(Event::Keyboard(event::Keyboard::All))? .event(Event::Controller(event::Controller::All)) } @@ -105,43 +105,43 @@ impl Builder { let mut builder = self; for item in event::keyboard::Key::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::KeyPad::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Misc::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::InputAssist::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Function::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Braille::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Numeric::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::TouchPad::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Camera::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::keyboard::Attendant::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } Ok(builder) @@ -149,8 +149,8 @@ impl Builder { value => { unsafe { - try!(Errno::result(ui_set_evbit(self.fd, value.kind()))); - try!(Errno::result(ui_set_keybit(self.fd, value.code()))); + Errno::result(ui_set_evbit(self.fd, value.kind()))?; + Errno::result(ui_set_keybit(self.fd, value.code()))?; } Ok(self) @@ -164,35 +164,35 @@ impl Builder { let mut builder = self; for item in event::controller::Misc::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::Mouse::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::JoyStick::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::GamePad::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::Digi::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::Wheel::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::DPad::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } for item in event::controller::TriggerHappy::iter_variants() { - builder = try!(builder.event(item)); + builder = builder.event(item)?; } Ok(builder) @@ -200,8 +200,8 @@ impl Builder { value => { unsafe { - try!(Errno::result(ui_set_evbit(self.fd, value.kind()))); - try!(Errno::result(ui_set_keybit(self.fd, value.code()))); + Errno::result(ui_set_evbit(self.fd, value.kind()))?; + Errno::result(ui_set_keybit(self.fd, value.code()))?; } Ok(self) @@ -211,8 +211,8 @@ impl Builder { Event::Relative(value) => { unsafe { - try!(Errno::result(ui_set_evbit(self.fd, value.kind()))); - try!(Errno::result(ui_set_relbit(self.fd, value.code()))); + Errno::result(ui_set_evbit(self.fd, value.kind()))?; + Errno::result(ui_set_relbit(self.fd, value.code()))?; } Ok(self) @@ -220,8 +220,8 @@ impl Builder { Event::Absolute(value) => { unsafe { - try!(Errno::result(ui_set_evbit(self.fd, value.kind()))); - try!(Errno::result(ui_set_absbit(self.fd, value.code()))); + Errno::result(ui_set_evbit(self.fd, value.kind()))?; + Errno::result(ui_set_absbit(self.fd, value.code()))?; } self.abs = Some(value.code()); @@ -261,8 +261,8 @@ impl Builder { let ptr = &self.def as *const _ as *const u8; let size = mem::size_of_val(&self.def); - try!(unistd::write(self.fd, slice::from_raw_parts(ptr, size))); - try!(Errno::result(ui_dev_create(self.fd))); + unistd::write(self.fd, slice::from_raw_parts(ptr, size))?; + Errno::result(ui_dev_create(self.fd))?; } Ok(Device::new(self.fd)) diff --git a/src/device/device.rs b/src/device/device.rs index a6ce048..f661f33 100644 --- a/src/device/device.rs +++ b/src/device/device.rs @@ -15,7 +15,7 @@ impl Device { /// Wrap a file descriptor in a `Device`. pub fn new(fd: c_int) -> Self { Device { - fd: fd + fd } } @@ -34,7 +34,7 @@ impl Device { let ptr = &event as *const _ as *const u8; let size = mem::size_of_val(&event); - try!(unistd::write(self.fd, slice::from_raw_parts(ptr, size))); + unistd::write(self.fd, slice::from_raw_parts(ptr, size))?; } Ok(()) @@ -63,8 +63,8 @@ impl Device { /// Send a press and release event. pub fn click(&mut self, event: &T) -> Res<()> { - try!(self.press(event)); - try!(self.release(event)); + self.press(event)?; + self.release(event)?; Ok(()) } diff --git a/src/device/mod.rs b/src/device/mod.rs index 31a22b9..5dfa6f0 100644 --- a/src/device/mod.rs +++ b/src/device/mod.rs @@ -1,5 +1,6 @@ mod builder; pub use self::builder::Builder; +#[allow(clippy::module_inception)] mod device; pub use self::device::Device; diff --git a/src/error.rs b/src/error.rs index f1d4be4..f26d2d9 100644 --- a/src/error.rs +++ b/src/error.rs @@ -44,25 +44,18 @@ impl From for Error { impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { - f.write_str(error::Error::description(self)) - } -} - -impl error::Error for Error { - fn description(&self) -> &str { - match self { - &Error::Nix(ref err) => - err.description(), + match *self { + Error::Nix(ref err) => write!(f, "{}", err), - &Error::Nul(ref err) => - err.description(), + Error::Nul(ref err) => write!(f, "{}", err), #[cfg(feature = "udev")] - &Error::Udev(ref err) => - err.description(), + Error::Udev(ref err) => write!(f, "{}", err), - &Error::NotFound => - "Device not found.", + Error::NotFound => write!(f, "Device not found.") } } } + +impl error::Error for Error { +} diff --git a/src/event/absolute.rs b/src/event/absolute.rs index c00fa24..8d27fb3 100644 --- a/src/event/absolute.rs +++ b/src/event/absolute.rs @@ -12,9 +12,9 @@ pub enum Absolute { Multi(Multi), } -impl Into for Absolute { - fn into(self) -> Event { - Event::Absolute(self) +impl From for Event { + fn from(val: Absolute) -> Self { + Event::Absolute(val) } } @@ -28,12 +28,12 @@ impl Kind for Absolute { impl Code for Absolute { fn code(&self) -> c_int { - match self { - &Absolute::Position(ref v) => v.code(), - &Absolute::Wheel(ref v) => v.code(), - &Absolute::Hat(ref v) => v.code(), - &Absolute::Digi(ref v) => v.code(), - &Absolute::Multi(ref v) => v.code(), + match *self { + Absolute::Position(ref v) => v.code(), + Absolute::Wheel(ref v) => v.code(), + Absolute::Hat(ref v) => v.code(), + Absolute::Digi(ref v) => v.code(), + Absolute::Multi(ref v) => v.code(), } } } @@ -50,9 +50,9 @@ custom_derive! { } } -impl Into for Position { - fn into(self) -> Event { - Event::Absolute(Absolute::Position(self)) +impl From for Event { + fn from(val: Position) -> Self { + Event::Absolute(Absolute::Position(val)) } } @@ -66,13 +66,13 @@ impl Kind for Position { impl Code for Position { fn code(&self) -> c_int { - match self { - &Position::X => ABS_X, - &Position::Y => ABS_Y, - &Position::Z => ABS_Z, - &Position::RX => ABS_RX, - &Position::RY => ABS_RY, - &Position::RZ => ABS_RZ, + match *self { + Position::X => ABS_X, + Position::Y => ABS_Y, + Position::Z => ABS_Z, + Position::RX => ABS_RX, + Position::RY => ABS_RY, + Position::RZ => ABS_RZ, } } } @@ -88,9 +88,9 @@ custom_derive! { } } -impl Into for Wheel { - fn into(self) -> Event { - Event::Absolute(Absolute::Wheel(self)) +impl From for Event { + fn from(val: Wheel) -> Self { + Event::Absolute(Absolute::Wheel(val)) } } @@ -104,12 +104,12 @@ impl Kind for Wheel { impl Code for Wheel { fn code(&self) -> c_int { - match self { - &Wheel::Throttle => ABS_THROTTLE, - &Wheel::Rudder => ABS_RUDDER, - &Wheel::Position => ABS_WHEEL, - &Wheel::Gas => ABS_GAS, - &Wheel::Brake => ABS_BRAKE, + match *self { + Wheel::Throttle => ABS_THROTTLE, + Wheel::Rudder => ABS_RUDDER, + Wheel::Position => ABS_WHEEL, + Wheel::Gas => ABS_GAS, + Wheel::Brake => ABS_BRAKE, } } } @@ -128,9 +128,9 @@ custom_derive! { } } -impl Into for Hat { - fn into(self) -> Event { - Event::Absolute(Absolute::Hat(self)) +impl From for Event { + fn from(val: Hat) -> Self { + Event::Absolute(Absolute::Hat(val)) } } @@ -144,15 +144,15 @@ impl Kind for Hat { impl Code for Hat { fn code(&self) -> c_int { - match self { - &Hat::X0 => ABS_HAT0X, - &Hat::Y0 => ABS_HAT0Y, - &Hat::X1 => ABS_HAT1X, - &Hat::Y1 => ABS_HAT1Y, - &Hat::X2 => ABS_HAT2X, - &Hat::Y2 => ABS_HAT2Y, - &Hat::X3 => ABS_HAT3X, - &Hat::Y3 => ABS_HAT3Y, + match *self { + Hat::X0 => ABS_HAT0X, + Hat::Y0 => ABS_HAT0Y, + Hat::X1 => ABS_HAT1X, + Hat::Y1 => ABS_HAT1Y, + Hat::X2 => ABS_HAT2X, + Hat::Y2 => ABS_HAT2Y, + Hat::X3 => ABS_HAT3X, + Hat::Y3 => ABS_HAT3Y, } } } @@ -169,9 +169,9 @@ custom_derive! { } } -impl Into for Digi { - fn into(self) -> Event { - Event::Absolute(Absolute::Digi(self)) +impl From for Event { + fn from(val: Digi) -> Self { + Event::Absolute(Absolute::Digi(val)) } } @@ -185,13 +185,13 @@ impl Kind for Digi { impl Code for Digi { fn code(&self) -> c_int { - match self { - &Digi::Pressure => ABS_PRESSURE, - &Digi::Distance => ABS_DISTANCE, - &Digi::TiltX => ABS_TILT_X, - &Digi::TiltY => ABS_TILT_Y, - &Digi::ToolWidth => ABS_TOOL_WIDTH, - &Digi::Volume => ABS_VOLUME, + match *self { + Digi::Pressure => ABS_PRESSURE, + Digi::Distance => ABS_DISTANCE, + Digi::TiltX => ABS_TILT_X, + Digi::TiltY => ABS_TILT_Y, + Digi::ToolWidth => ABS_TOOL_WIDTH, + Digi::Volume => ABS_VOLUME, } } } @@ -217,12 +217,6 @@ custom_derive! { } } -impl Into for Multi { - fn into(self) -> Event { - Event::Absolute(Absolute::Multi(self)) - } -} - impl super::Position for Multi { } impl Kind for Multi { @@ -233,22 +227,22 @@ impl Kind for Multi { impl Code for Multi { fn code(&self) -> c_int { - match self { - &Multi::Slot => ABS_MT_SLOT, - &Multi::TouchMajor => ABS_MT_TOUCH_MAJOR, - &Multi::TouchMinor => ABS_MT_TOUCH_MINOR, - &Multi::WidthMajor => ABS_MT_WIDTH_MAJOR, - &Multi::WidthMinor => ABS_MT_WIDTH_MINOR, - &Multi::Orientation => ABS_MT_ORIENTATION, - &Multi::PositionX => ABS_MT_POSITION_X, - &Multi::PositionY => ABS_MT_POSITION_Y, - &Multi::ToolType => ABS_MT_TOOL_TYPE, - &Multi::BlobId => ABS_MT_BLOB_ID, - &Multi::TrackingId => ABS_MT_TRACKING_ID, - &Multi::Pressure => ABS_MT_PRESSURE, - &Multi::Distance => ABS_MT_DISTANCE, - &Multi::ToolX => ABS_MT_TOOL_X, - &Multi::ToolY => ABS_MT_TOOL_Y, + match *self { + Multi::Slot => ABS_MT_SLOT, + Multi::TouchMajor => ABS_MT_TOUCH_MAJOR, + Multi::TouchMinor => ABS_MT_TOUCH_MINOR, + Multi::WidthMajor => ABS_MT_WIDTH_MAJOR, + Multi::WidthMinor => ABS_MT_WIDTH_MINOR, + Multi::Orientation => ABS_MT_ORIENTATION, + Multi::PositionX => ABS_MT_POSITION_X, + Multi::PositionY => ABS_MT_POSITION_Y, + Multi::ToolType => ABS_MT_TOOL_TYPE, + Multi::BlobId => ABS_MT_BLOB_ID, + Multi::TrackingId => ABS_MT_TRACKING_ID, + Multi::Pressure => ABS_MT_PRESSURE, + Multi::Distance => ABS_MT_DISTANCE, + Multi::ToolX => ABS_MT_TOOL_X, + Multi::ToolY => ABS_MT_TOOL_Y, } } } diff --git a/src/event/controller.rs b/src/event/controller.rs index eae78b8..ddaf460 100644 --- a/src/event/controller.rs +++ b/src/event/controller.rs @@ -16,9 +16,9 @@ pub enum Controller { TriggerHappy(TriggerHappy), } -impl Into for Controller { - fn into(self) -> Event { - Event::Controller(self) +impl From for Event { + fn from(val: Controller) -> Self { + Event::Controller(val) } } @@ -33,17 +33,17 @@ impl Kind for Controller { impl Code for Controller { fn code(&self) -> c_int { - match self { - &Controller::All => unreachable!(), - - &Controller::Misc(ref v) => v.code(), - &Controller::Mouse(ref v) => v.code(), - &Controller::JoyStick(ref v) => v.code(), - &Controller::GamePad(ref v) => v.code(), - &Controller::Digi(ref v) => v.code(), - &Controller::Wheel(ref v) => v.code(), - &Controller::DPad(ref v) => v.code(), - &Controller::TriggerHappy(ref v) => v.code(), + match *self { + Controller::All => unreachable!(), + + Controller::Misc(ref v) => v.code(), + Controller::Mouse(ref v) => v.code(), + Controller::JoyStick(ref v) => v.code(), + Controller::GamePad(ref v) => v.code(), + Controller::Digi(ref v) => v.code(), + Controller::Wheel(ref v) => v.code(), + Controller::DPad(ref v) => v.code(), + Controller::TriggerHappy(ref v) => v.code(), } } } @@ -64,9 +64,9 @@ custom_derive! { } } -impl Into for Misc { - fn into(self) -> Event { - Event::Controller(Controller::Misc(self)) +impl From for Event { + fn from(val: Misc) -> Self { + Event::Controller(Controller::Misc(val)) } } @@ -78,17 +78,17 @@ impl Kind for Misc { impl Code for Misc { fn code(&self) -> c_int { - match self { - &Misc::_0 => BTN_0, - &Misc::_1 => BTN_1, - &Misc::_2 => BTN_2, - &Misc::_3 => BTN_3, - &Misc::_4 => BTN_4, - &Misc::_5 => BTN_5, - &Misc::_6 => BTN_6, - &Misc::_7 => BTN_7, - &Misc::_8 => BTN_8, - &Misc::_9 => BTN_9, + match *self { + Misc::_0 => BTN_0, + Misc::_1 => BTN_1, + Misc::_2 => BTN_2, + Misc::_3 => BTN_3, + Misc::_4 => BTN_4, + Misc::_5 => BTN_5, + Misc::_6 => BTN_6, + Misc::_7 => BTN_7, + Misc::_8 => BTN_8, + Misc::_9 => BTN_9, } } } @@ -107,23 +107,23 @@ custom_derive! { } } -impl Into for Mouse { - fn into(self) -> Event { - Event::Controller(Controller::Mouse(self)) +impl From for Event { + fn from(val: Mouse) -> Self { + Event::Controller(Controller::Mouse(val)) } } impl Code for Mouse { fn code(&self) -> c_int { - match self { - &Mouse::Left => BTN_LEFT, - &Mouse::Right => BTN_RIGHT, - &Mouse::Middle => BTN_MIDDLE, - &Mouse::Side => BTN_SIDE, - &Mouse::Extra => BTN_EXTRA, - &Mouse::Forward => BTN_FORWARD, - &Mouse::Back => BTN_BACK, - &Mouse::Task => BTN_TASK, + match *self { + Mouse::Left => BTN_LEFT, + Mouse::Right => BTN_RIGHT, + Mouse::Middle => BTN_MIDDLE, + Mouse::Side => BTN_SIDE, + Mouse::Extra => BTN_EXTRA, + Mouse::Forward => BTN_FORWARD, + Mouse::Back => BTN_BACK, + Mouse::Task => BTN_TASK, } } } @@ -147,9 +147,9 @@ custom_derive! { } } -impl Into for JoyStick { - fn into(self) -> Event { - Event::Controller(Controller::JoyStick(self)) +impl From for Event { + fn from(val: JoyStick) -> Self { + Event::Controller(Controller::JoyStick(val)) } } @@ -164,20 +164,20 @@ impl Kind for JoyStick { impl Code for JoyStick { fn code(&self) -> c_int { - match self { - &JoyStick::Trigger => BTN_TRIGGER, - &JoyStick::Thumb => BTN_THUMB, - &JoyStick::Thumb2 => BTN_THUMB2, - &JoyStick::Top => BTN_TOP, - &JoyStick::Top2 => BTN_TOP2, - &JoyStick::Pinkie => BTN_PINKIE, - &JoyStick::Base => BTN_BASE, - &JoyStick::Base2 => BTN_BASE2, - &JoyStick::Base3 => BTN_BASE3, - &JoyStick::Base4 => BTN_BASE4, - &JoyStick::Base5 => BTN_BASE5, - &JoyStick::Base6 => BTN_BASE6, - &JoyStick::Dead => BTN_DEAD, + match *self { + JoyStick::Trigger => BTN_TRIGGER, + JoyStick::Thumb => BTN_THUMB, + JoyStick::Thumb2 => BTN_THUMB2, + JoyStick::Top => BTN_TOP, + JoyStick::Top2 => BTN_TOP2, + JoyStick::Pinkie => BTN_PINKIE, + JoyStick::Base => BTN_BASE, + JoyStick::Base2 => BTN_BASE2, + JoyStick::Base3 => BTN_BASE3, + JoyStick::Base4 => BTN_BASE4, + JoyStick::Base5 => BTN_BASE5, + JoyStick::Base6 => BTN_BASE6, + JoyStick::Dead => BTN_DEAD, } } } @@ -207,9 +207,9 @@ custom_derive! { } } -impl Into for GamePad { - fn into(self) -> Event { - Event::Controller(Controller::GamePad(self)) +impl From for Event { + fn from(val: GamePad) -> Self { + Event::Controller(Controller::GamePad(val)) } } @@ -224,26 +224,26 @@ impl Kind for GamePad { impl Code for GamePad { fn code(&self) -> c_int { - match self { - &GamePad::South => BTN_SOUTH, - &GamePad::A => BTN_A, - &GamePad::East => BTN_EAST, - &GamePad::B => BTN_B, - &GamePad::C => BTN_C, - &GamePad::North => BTN_NORTH, - &GamePad::X => BTN_X, - &GamePad::West => BTN_WEST, - &GamePad::Y => BTN_Y, - &GamePad::Z => BTN_Z, - &GamePad::TL => BTN_TL, - &GamePad::TR => BTN_TR, - &GamePad::TL2 => BTN_TL2, - &GamePad::TR2 => BTN_TR2, - &GamePad::Select => BTN_SELECT, - &GamePad::Start => BTN_START, - &GamePad::Mode => BTN_MODE, - &GamePad::ThumbL => BTN_THUMBL, - &GamePad::ThumbR => BTN_THUMBR, + match *self { + GamePad::South => BTN_SOUTH, + GamePad::A => BTN_A, + GamePad::East => BTN_EAST, + GamePad::B => BTN_B, + GamePad::C => BTN_C, + GamePad::North => BTN_NORTH, + GamePad::X => BTN_X, + GamePad::West => BTN_WEST, + GamePad::Y => BTN_Y, + GamePad::Z => BTN_Z, + GamePad::TL => BTN_TL, + GamePad::TR => BTN_TR, + GamePad::TL2 => BTN_TL2, + GamePad::TR2 => BTN_TR2, + GamePad::Select => BTN_SELECT, + GamePad::Start => BTN_START, + GamePad::Mode => BTN_MODE, + GamePad::ThumbL => BTN_THUMBL, + GamePad::ThumbR => BTN_THUMBR, } } } @@ -269,9 +269,9 @@ custom_derive! { } } -impl Into for Digi { - fn into(self) -> Event { - Event::Controller(Controller::Digi(self)) +impl From for Event { + fn from(val: Digi) -> Self { + Event::Controller(Controller::Digi(val)) } } @@ -286,22 +286,22 @@ impl Kind for Digi { impl Code for Digi { fn code(&self) -> c_int { - match self { - &Digi::Pen => BTN_TOOL_PEN, - &Digi::Rubber => BTN_TOOL_RUBBER, - &Digi::Brush => BTN_TOOL_BRUSH, - &Digi::Pencil => BTN_TOOL_PENCIL, - &Digi::AirBrush => BTN_TOOL_AIRBRUSH, - &Digi::Finger => BTN_TOOL_FINGER, - &Digi::Mouse => BTN_TOOL_MOUSE, - &Digi::Lens => BTN_TOOL_LENS, - &Digi::QuintTap => BTN_TOOL_QUINTTAP, - &Digi::Touch => BTN_TOUCH, - &Digi::Stylus => BTN_STYLUS, - &Digi::Stylus2 => BTN_STYLUS2, - &Digi::DoubleTap => BTN_TOOL_DOUBLETAP, - &Digi::TripleTap => BTN_TOOL_TRIPLETAP, - &Digi::QuadTap => BTN_TOOL_QUADTAP, + match *self { + Digi::Pen => BTN_TOOL_PEN, + Digi::Rubber => BTN_TOOL_RUBBER, + Digi::Brush => BTN_TOOL_BRUSH, + Digi::Pencil => BTN_TOOL_PENCIL, + Digi::AirBrush => BTN_TOOL_AIRBRUSH, + Digi::Finger => BTN_TOOL_FINGER, + Digi::Mouse => BTN_TOOL_MOUSE, + Digi::Lens => BTN_TOOL_LENS, + Digi::QuintTap => BTN_TOOL_QUINTTAP, + Digi::Touch => BTN_TOUCH, + Digi::Stylus => BTN_STYLUS, + Digi::Stylus2 => BTN_STYLUS2, + Digi::DoubleTap => BTN_TOOL_DOUBLETAP, + Digi::TripleTap => BTN_TOOL_TRIPLETAP, + Digi::QuadTap => BTN_TOOL_QUADTAP, } } } @@ -314,9 +314,9 @@ custom_derive! { } } -impl Into for Wheel { - fn into(self) -> Event { - Event::Controller(Controller::Wheel(self)) +impl From for Event { + fn from(val: Wheel) -> Self { + Event::Controller(Controller::Wheel(val)) } } @@ -331,9 +331,9 @@ impl Kind for Wheel { impl Code for Wheel { fn code(&self) -> c_int { - match self { - &Wheel::GearDown => BTN_GEAR_DOWN, - &Wheel::GearUp => BTN_GEAR_UP, + match *self { + Wheel::GearDown => BTN_GEAR_DOWN, + Wheel::GearUp => BTN_GEAR_UP, } } } @@ -348,9 +348,9 @@ custom_derive! { } } -impl Into for DPad { - fn into(self) -> Event { - Event::Controller(Controller::DPad(self)) +impl From for Event { + fn from(val: DPad) -> Self { + Event::Controller(Controller::DPad(val)) } } @@ -365,11 +365,11 @@ impl Kind for DPad { impl Code for DPad { fn code(&self) -> c_int { - match self { - &DPad::Up => BTN_DPAD_UP, - &DPad::Down => BTN_DPAD_DOWN, - &DPad::Left => BTN_DPAD_LEFT, - &DPad::Right => BTN_DPAD_RIGHT, + match *self { + DPad::Up => BTN_DPAD_UP, + DPad::Down => BTN_DPAD_DOWN, + DPad::Left => BTN_DPAD_LEFT, + DPad::Right => BTN_DPAD_RIGHT, } } } @@ -420,9 +420,9 @@ custom_derive! { } } -impl Into for TriggerHappy { - fn into(self) -> Event { - Event::Controller(Controller::TriggerHappy(self)) +impl From for Event { + fn from(val: TriggerHappy) -> Self { + Event::Controller(Controller::TriggerHappy(val)) } } @@ -437,47 +437,47 @@ impl Kind for TriggerHappy { impl Code for TriggerHappy { fn code(&self) -> c_int { - match self { - &TriggerHappy::_1 => BTN_TRIGGER_HAPPY1, - &TriggerHappy::_2 => BTN_TRIGGER_HAPPY2, - &TriggerHappy::_3 => BTN_TRIGGER_HAPPY3, - &TriggerHappy::_4 => BTN_TRIGGER_HAPPY4, - &TriggerHappy::_5 => BTN_TRIGGER_HAPPY5, - &TriggerHappy::_6 => BTN_TRIGGER_HAPPY6, - &TriggerHappy::_7 => BTN_TRIGGER_HAPPY7, - &TriggerHappy::_8 => BTN_TRIGGER_HAPPY8, - &TriggerHappy::_9 => BTN_TRIGGER_HAPPY9, - &TriggerHappy::_10 => BTN_TRIGGER_HAPPY10, - &TriggerHappy::_11 => BTN_TRIGGER_HAPPY11, - &TriggerHappy::_12 => BTN_TRIGGER_HAPPY12, - &TriggerHappy::_13 => BTN_TRIGGER_HAPPY13, - &TriggerHappy::_14 => BTN_TRIGGER_HAPPY14, - &TriggerHappy::_15 => BTN_TRIGGER_HAPPY15, - &TriggerHappy::_16 => BTN_TRIGGER_HAPPY16, - &TriggerHappy::_17 => BTN_TRIGGER_HAPPY17, - &TriggerHappy::_18 => BTN_TRIGGER_HAPPY18, - &TriggerHappy::_19 => BTN_TRIGGER_HAPPY19, - &TriggerHappy::_20 => BTN_TRIGGER_HAPPY20, - &TriggerHappy::_21 => BTN_TRIGGER_HAPPY21, - &TriggerHappy::_22 => BTN_TRIGGER_HAPPY22, - &TriggerHappy::_23 => BTN_TRIGGER_HAPPY23, - &TriggerHappy::_24 => BTN_TRIGGER_HAPPY24, - &TriggerHappy::_25 => BTN_TRIGGER_HAPPY25, - &TriggerHappy::_26 => BTN_TRIGGER_HAPPY26, - &TriggerHappy::_27 => BTN_TRIGGER_HAPPY27, - &TriggerHappy::_28 => BTN_TRIGGER_HAPPY28, - &TriggerHappy::_29 => BTN_TRIGGER_HAPPY29, - &TriggerHappy::_30 => BTN_TRIGGER_HAPPY30, - &TriggerHappy::_31 => BTN_TRIGGER_HAPPY31, - &TriggerHappy::_32 => BTN_TRIGGER_HAPPY32, - &TriggerHappy::_33 => BTN_TRIGGER_HAPPY33, - &TriggerHappy::_34 => BTN_TRIGGER_HAPPY34, - &TriggerHappy::_35 => BTN_TRIGGER_HAPPY35, - &TriggerHappy::_36 => BTN_TRIGGER_HAPPY36, - &TriggerHappy::_37 => BTN_TRIGGER_HAPPY37, - &TriggerHappy::_38 => BTN_TRIGGER_HAPPY38, - &TriggerHappy::_39 => BTN_TRIGGER_HAPPY39, - &TriggerHappy::_40 => BTN_TRIGGER_HAPPY40, + match *self { + TriggerHappy::_1 => BTN_TRIGGER_HAPPY1, + TriggerHappy::_2 => BTN_TRIGGER_HAPPY2, + TriggerHappy::_3 => BTN_TRIGGER_HAPPY3, + TriggerHappy::_4 => BTN_TRIGGER_HAPPY4, + TriggerHappy::_5 => BTN_TRIGGER_HAPPY5, + TriggerHappy::_6 => BTN_TRIGGER_HAPPY6, + TriggerHappy::_7 => BTN_TRIGGER_HAPPY7, + TriggerHappy::_8 => BTN_TRIGGER_HAPPY8, + TriggerHappy::_9 => BTN_TRIGGER_HAPPY9, + TriggerHappy::_10 => BTN_TRIGGER_HAPPY10, + TriggerHappy::_11 => BTN_TRIGGER_HAPPY11, + TriggerHappy::_12 => BTN_TRIGGER_HAPPY12, + TriggerHappy::_13 => BTN_TRIGGER_HAPPY13, + TriggerHappy::_14 => BTN_TRIGGER_HAPPY14, + TriggerHappy::_15 => BTN_TRIGGER_HAPPY15, + TriggerHappy::_16 => BTN_TRIGGER_HAPPY16, + TriggerHappy::_17 => BTN_TRIGGER_HAPPY17, + TriggerHappy::_18 => BTN_TRIGGER_HAPPY18, + TriggerHappy::_19 => BTN_TRIGGER_HAPPY19, + TriggerHappy::_20 => BTN_TRIGGER_HAPPY20, + TriggerHappy::_21 => BTN_TRIGGER_HAPPY21, + TriggerHappy::_22 => BTN_TRIGGER_HAPPY22, + TriggerHappy::_23 => BTN_TRIGGER_HAPPY23, + TriggerHappy::_24 => BTN_TRIGGER_HAPPY24, + TriggerHappy::_25 => BTN_TRIGGER_HAPPY25, + TriggerHappy::_26 => BTN_TRIGGER_HAPPY26, + TriggerHappy::_27 => BTN_TRIGGER_HAPPY27, + TriggerHappy::_28 => BTN_TRIGGER_HAPPY28, + TriggerHappy::_29 => BTN_TRIGGER_HAPPY29, + TriggerHappy::_30 => BTN_TRIGGER_HAPPY30, + TriggerHappy::_31 => BTN_TRIGGER_HAPPY31, + TriggerHappy::_32 => BTN_TRIGGER_HAPPY32, + TriggerHappy::_33 => BTN_TRIGGER_HAPPY33, + TriggerHappy::_34 => BTN_TRIGGER_HAPPY34, + TriggerHappy::_35 => BTN_TRIGGER_HAPPY35, + TriggerHappy::_36 => BTN_TRIGGER_HAPPY36, + TriggerHappy::_37 => BTN_TRIGGER_HAPPY37, + TriggerHappy::_38 => BTN_TRIGGER_HAPPY38, + TriggerHappy::_39 => BTN_TRIGGER_HAPPY39, + TriggerHappy::_40 => BTN_TRIGGER_HAPPY40, } } } diff --git a/src/event/keyboard.rs b/src/event/keyboard.rs index f7ed3d3..ff79c39 100644 --- a/src/event/keyboard.rs +++ b/src/event/keyboard.rs @@ -18,9 +18,9 @@ pub enum Keyboard { Attendant(Attendant), } -impl Into for Keyboard { - fn into(self) -> Event { - Event::Keyboard(self) +impl From for Event { + fn from(val: Keyboard) -> Self { + Event::Keyboard(val) } } @@ -35,19 +35,19 @@ impl Kind for Keyboard { impl Code for Keyboard { fn code(&self) -> c_int { - match self { - &Keyboard::All => unreachable!(), + match *self { + Keyboard::All => unreachable!(), - &Keyboard::Key(ref v) => v.code(), - &Keyboard::KeyPad(ref v) => v.code(), - &Keyboard::Misc(ref v) => v.code(), - &Keyboard::InputAssist(ref v) => v.code(), - &Keyboard::Function(ref v) => v.code(), - &Keyboard::Braille(ref v) => v.code(), - &Keyboard::Numeric(ref v) => v.code(), - &Keyboard::TouchPad(ref v) => v.code(), - &Keyboard::Camera(ref v) => v.code(), - &Keyboard::Attendant(ref v) => v.code(), + Keyboard::Key(ref v) => v.code(), + Keyboard::KeyPad(ref v) => v.code(), + Keyboard::Misc(ref v) => v.code(), + Keyboard::InputAssist(ref v) => v.code(), + Keyboard::Function(ref v) => v.code(), + Keyboard::Braille(ref v) => v.code(), + Keyboard::Numeric(ref v) => v.code(), + Keyboard::TouchPad(ref v) => v.code(), + Keyboard::Camera(ref v) => v.code(), + Keyboard::Attendant(ref v) => v.code(), } } } @@ -160,9 +160,9 @@ custom_derive! { } } -impl Into for Key { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Key(self)) +impl From for Event { + fn from(val: Key) -> Self { + Event::Keyboard(Keyboard::Key(val)) } } @@ -177,109 +177,109 @@ impl Kind for Key { impl Code for Key { fn code(&self) -> c_int { - match self { - &Key::Reserved => KEY_RESERVED, - &Key::Esc => KEY_ESC, - &Key::_1 => KEY_1, - &Key::_2 => KEY_2, - &Key::_3 => KEY_3, - &Key::_4 => KEY_4, - &Key::_5 => KEY_5, - &Key::_6 => KEY_6, - &Key::_7 => KEY_7, - &Key::_8 => KEY_8, - &Key::_9 => KEY_9, - &Key::_0 => KEY_10, - &Key::Minus => KEY_MINUS, - &Key::Equal => KEY_EQUAL, - &Key::BackSpace => KEY_BACKSPACE, - &Key::Tab => KEY_TAB, - &Key::Q => KEY_Q, - &Key::W => KEY_W, - &Key::E => KEY_E, - &Key::R => KEY_R, - &Key::T => KEY_T, - &Key::Y => KEY_Y, - &Key::U => KEY_U, - &Key::I => KEY_I, - &Key::O => KEY_O, - &Key::P => KEY_P, - &Key::LeftBrace => KEY_LEFTBRACE, - &Key::RightBrace => KEY_RIGHTBRACE, - &Key::Enter => KEY_ENTER, - &Key::LeftControl => KEY_LEFTCTRL, - &Key::A => KEY_A, - &Key::S => KEY_S, - &Key::D => KEY_D, - &Key::F => KEY_F, - &Key::G => KEY_G, - &Key::H => KEY_H, - &Key::J => KEY_J, - &Key::K => KEY_K, - &Key::L => KEY_L, - &Key::SemiColon => KEY_SEMICOLON, - &Key::Apostrophe => KEY_APOSTROPHE, - &Key::Grave => KEY_GRAVE, - &Key::LeftShift => KEY_LEFTSHIFT, - &Key::BackSlash => KEY_BACKSLASH, - &Key::Z => KEY_Z, - &Key::X => KEY_X, - &Key::C => KEY_C, - &Key::V => KEY_V, - &Key::B => KEY_B, - &Key::N => KEY_N, - &Key::M => KEY_M, - &Key::Comma => KEY_COMMA, - &Key::Dot => KEY_DOT, - &Key::Slash => KEY_SLASH, - &Key::RightShift => KEY_RIGHTSHIFT, - &Key::LeftAlt => KEY_LEFTALT, - &Key::Space => KEY_SPACE, - &Key::CapsLock => KEY_CAPSLOCK, - &Key::F1 => KEY_F1, - &Key::F2 => KEY_F2, - &Key::F3 => KEY_F3, - &Key::F4 => KEY_F4, - &Key::F5 => KEY_F5, - &Key::F6 => KEY_F6, - &Key::F7 => KEY_F7, - &Key::F8 => KEY_F8, - &Key::F9 => KEY_F9, - &Key::F10 => KEY_F10, - &Key::NumLock => KEY_NUMLOCK, - &Key::ScrollLock => KEY_SCROLLLOCK, - &Key::F11 => KEY_F11, - &Key::F12 => KEY_F12, - &Key::RightControl => KEY_RIGHTCTRL, - &Key::SysRq => KEY_SYSRQ, - &Key::RightAlt => KEY_RIGHTALT, - &Key::LineFeed => KEY_LINEFEED, - &Key::Home => KEY_HOME, - &Key::Up => KEY_UP, - &Key::PageUp => KEY_PAGEUP, - &Key::Left => KEY_LEFT, - &Key::Right => KEY_RIGHT, - &Key::End => KEY_END, - &Key::Down => KEY_DOWN, - &Key::PageDown => KEY_PAGEDOWN, - &Key::Insert => KEY_INSERT, - &Key::Delete => KEY_DELETE, - &Key::LeftMeta => KEY_LEFTMETA, - &Key::RightMeta => KEY_RIGHTMETA, - &Key::ScrollUp => KEY_SCROLLUP, - &Key::ScrollDown => KEY_SCROLLDOWN, - &Key::F13 => KEY_F13, - &Key::F14 => KEY_F14, - &Key::F15 => KEY_F15, - &Key::F16 => KEY_F16, - &Key::F17 => KEY_F17, - &Key::F18 => KEY_F18, - &Key::F19 => KEY_F19, - &Key::F20 => KEY_F20, - &Key::F21 => KEY_F21, - &Key::F22 => KEY_F22, - &Key::F23 => KEY_F23, - &Key::F24 => KEY_F24, + match *self { + Key::Reserved => KEY_RESERVED, + Key::Esc => KEY_ESC, + Key::_1 => KEY_1, + Key::_2 => KEY_2, + Key::_3 => KEY_3, + Key::_4 => KEY_4, + Key::_5 => KEY_5, + Key::_6 => KEY_6, + Key::_7 => KEY_7, + Key::_8 => KEY_8, + Key::_9 => KEY_9, + Key::_0 => KEY_10, + Key::Minus => KEY_MINUS, + Key::Equal => KEY_EQUAL, + Key::BackSpace => KEY_BACKSPACE, + Key::Tab => KEY_TAB, + Key::Q => KEY_Q, + Key::W => KEY_W, + Key::E => KEY_E, + Key::R => KEY_R, + Key::T => KEY_T, + Key::Y => KEY_Y, + Key::U => KEY_U, + Key::I => KEY_I, + Key::O => KEY_O, + Key::P => KEY_P, + Key::LeftBrace => KEY_LEFTBRACE, + Key::RightBrace => KEY_RIGHTBRACE, + Key::Enter => KEY_ENTER, + Key::LeftControl => KEY_LEFTCTRL, + Key::A => KEY_A, + Key::S => KEY_S, + Key::D => KEY_D, + Key::F => KEY_F, + Key::G => KEY_G, + Key::H => KEY_H, + Key::J => KEY_J, + Key::K => KEY_K, + Key::L => KEY_L, + Key::SemiColon => KEY_SEMICOLON, + Key::Apostrophe => KEY_APOSTROPHE, + Key::Grave => KEY_GRAVE, + Key::LeftShift => KEY_LEFTSHIFT, + Key::BackSlash => KEY_BACKSLASH, + Key::Z => KEY_Z, + Key::X => KEY_X, + Key::C => KEY_C, + Key::V => KEY_V, + Key::B => KEY_B, + Key::N => KEY_N, + Key::M => KEY_M, + Key::Comma => KEY_COMMA, + Key::Dot => KEY_DOT, + Key::Slash => KEY_SLASH, + Key::RightShift => KEY_RIGHTSHIFT, + Key::LeftAlt => KEY_LEFTALT, + Key::Space => KEY_SPACE, + Key::CapsLock => KEY_CAPSLOCK, + Key::F1 => KEY_F1, + Key::F2 => KEY_F2, + Key::F3 => KEY_F3, + Key::F4 => KEY_F4, + Key::F5 => KEY_F5, + Key::F6 => KEY_F6, + Key::F7 => KEY_F7, + Key::F8 => KEY_F8, + Key::F9 => KEY_F9, + Key::F10 => KEY_F10, + Key::NumLock => KEY_NUMLOCK, + Key::ScrollLock => KEY_SCROLLLOCK, + Key::F11 => KEY_F11, + Key::F12 => KEY_F12, + Key::RightControl => KEY_RIGHTCTRL, + Key::SysRq => KEY_SYSRQ, + Key::RightAlt => KEY_RIGHTALT, + Key::LineFeed => KEY_LINEFEED, + Key::Home => KEY_HOME, + Key::Up => KEY_UP, + Key::PageUp => KEY_PAGEUP, + Key::Left => KEY_LEFT, + Key::Right => KEY_RIGHT, + Key::End => KEY_END, + Key::Down => KEY_DOWN, + Key::PageDown => KEY_PAGEDOWN, + Key::Insert => KEY_INSERT, + Key::Delete => KEY_DELETE, + Key::LeftMeta => KEY_LEFTMETA, + Key::RightMeta => KEY_RIGHTMETA, + Key::ScrollUp => KEY_SCROLLUP, + Key::ScrollDown => KEY_SCROLLDOWN, + Key::F13 => KEY_F13, + Key::F14 => KEY_F14, + Key::F15 => KEY_F15, + Key::F16 => KEY_F16, + Key::F17 => KEY_F17, + Key::F18 => KEY_F18, + Key::F19 => KEY_F19, + Key::F20 => KEY_F20, + Key::F21 => KEY_F21, + Key::F22 => KEY_F22, + Key::F23 => KEY_F23, + Key::F24 => KEY_F24, } } } @@ -312,9 +312,9 @@ custom_derive! { } } -impl Into for KeyPad { - fn into(self) -> Event { - Event::Keyboard(Keyboard::KeyPad(self)) +impl From for Event { + fn from(val: KeyPad) -> Self { + Event::Keyboard(Keyboard::KeyPad(val)) } } @@ -329,29 +329,29 @@ impl Kind for KeyPad { impl Code for KeyPad { fn code(&self) -> c_int { - match self { - &KeyPad::Asterisk => KEY_KPASTERISK, - &KeyPad::_7 => KEY_KP7, - &KeyPad::_8 => KEY_KP8, - &KeyPad::_9 => KEY_KP9, - &KeyPad::Minus => KEY_KPMINUS, - &KeyPad::_4 => KEY_KP4, - &KeyPad::_5 => KEY_KP5, - &KeyPad::_6 => KEY_KP6, - &KeyPad::Plus => KEY_KPPLUS, - &KeyPad::_1 => KEY_KP1, - &KeyPad::_2 => KEY_KP2, - &KeyPad::_3 => KEY_KP3, - &KeyPad::_0 => KEY_KP0, - &KeyPad::Dot => KEY_KPDOT, - &KeyPad::AltComma => KEY_KPJPCOMMA, - &KeyPad::Enter => KEY_KPENTER, - &KeyPad::Slash => KEY_KPSLASH, - &KeyPad::Equal => KEY_KPEQUAL, - &KeyPad::PlusMinus => KEY_KPPLUSMINUS, - &KeyPad::Comma => KEY_KPCOMMA, - &KeyPad::LeftParen => KEY_KPLEFTPAREN, - &KeyPad::RightParen => KEY_KPRIGHTPAREN, + match *self { + KeyPad::Asterisk => KEY_KPASTERISK, + KeyPad::_7 => KEY_KP7, + KeyPad::_8 => KEY_KP8, + KeyPad::_9 => KEY_KP9, + KeyPad::Minus => KEY_KPMINUS, + KeyPad::_4 => KEY_KP4, + KeyPad::_5 => KEY_KP5, + KeyPad::_6 => KEY_KP6, + KeyPad::Plus => KEY_KPPLUS, + KeyPad::_1 => KEY_KP1, + KeyPad::_2 => KEY_KP2, + KeyPad::_3 => KEY_KP3, + KeyPad::_0 => KEY_KP0, + KeyPad::Dot => KEY_KPDOT, + KeyPad::AltComma => KEY_KPJPCOMMA, + KeyPad::Enter => KEY_KPENTER, + KeyPad::Slash => KEY_KPSLASH, + KeyPad::Equal => KEY_KPEQUAL, + KeyPad::PlusMinus => KEY_KPPLUSMINUS, + KeyPad::Comma => KEY_KPCOMMA, + KeyPad::LeftParen => KEY_KPLEFTPAREN, + KeyPad::RightParen => KEY_KPRIGHTPAREN, } } } @@ -594,9 +594,9 @@ custom_derive! { } } -impl Into for Misc { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Misc(self)) +impl From for Event { + fn from(val: Misc) -> Self { + Event::Keyboard(Keyboard::Misc(val)) } } @@ -611,239 +611,239 @@ impl Kind for Misc { impl Code for Misc { fn code(&self) -> c_int { - match self { - &Misc::ZenkakuHankaku => KEY_ZENKAKUHANKAKU, - &Misc::ND102 => KEY_102ND, - &Misc::RO => KEY_RO, - &Misc::Katakana => KEY_KATAKANA, - &Misc::Hiragana => KEY_HIRAGANA, - &Misc::Henkan => KEY_HENKAN, - &Misc::KatakanaHiragana => KEY_KATAKANAHIRAGANA, - &Misc::Muhenkan => KEY_MUHENKAN, - &Misc::Macro => KEY_MACRO, - &Misc::Mute => KEY_MUTE, - &Misc::VolumeDown => KEY_VOLUMEDOWN, - &Misc::VolumeUp => KEY_VOLUMEUP, - &Misc::Power => KEY_POWER, - &Misc::Pause => KEY_PAUSE, - &Misc::Scale => KEY_SCALE, - &Misc::Hangeul => KEY_HANGEUL, - &Misc::Hanguel => KEY_HANGUEL, - &Misc::Hanja => KEY_HANJA, - &Misc::Yen => KEY_YEN, - &Misc::Compose => KEY_COMPOSE, - &Misc::Stop => KEY_STOP, - &Misc::Again => KEY_AGAIN, - &Misc::Props => KEY_PROPS, - &Misc::Undo => KEY_UNDO, - &Misc::Front => KEY_FRONT, - &Misc::Copy => KEY_COPY, - &Misc::Open => KEY_OPEN, - &Misc::Paste => KEY_PASTE, - &Misc::Find => KEY_FIND, - &Misc::Cut => KEY_CUT, - &Misc::Help => KEY_HELP, - &Misc::Menu => KEY_MENU, - &Misc::Calc => KEY_CALC, - &Misc::Setup => KEY_SETUP, - &Misc::Sleep => KEY_SLEEP, - &Misc::WakeUp => KEY_WAKEUP, - &Misc::File => KEY_FILE, - &Misc::SendFile => KEY_SENDFILE, - &Misc::DeleteFile => KEY_DELETEFILE, - &Misc::XFer => KEY_XFER, - &Misc::Prog1 => KEY_PROG1, - &Misc::Prog2 => KEY_PROG2, - &Misc::WWW => KEY_WWW, - &Misc::MSDOS => KEY_MSDOS, - &Misc::Coffee => KEY_COFFEE, - &Misc::ScreenLock => KEY_SCREENLOCK, - &Misc::RotateDisplay => KEY_ROTATE_DISPLAY, - &Misc::Direction => KEY_DIRECTION, - &Misc::CycleWindows => KEY_CYCLEWINDOWS, - &Misc::Mail => KEY_MAIL, - &Misc::Bookmarks => KEY_BOOKMARKS, - &Misc::Computer => KEY_COMPUTER, - &Misc::Back => KEY_BACK, - &Misc::Forward => KEY_FORWARD, - &Misc::CloseCD => KEY_CLOSECD, - &Misc::EjectCD => KEY_EJECTCD, - &Misc::EjectCloseCD => KEY_EJECTCLOSECD, - &Misc::NextSong => KEY_NEXTSONG, - &Misc::PlayPause => KEY_PLAYPAUSE, - &Misc::PreviousSong => KEY_PREVIOUSSONG, - &Misc::StopCD => KEY_STOPCD, - &Misc::Record => KEY_RECORD, - &Misc::Rewind => KEY_REWIND, - &Misc::Phone => KEY_PHONE, - &Misc::Iso => KEY_ISO, - &Misc::Config => KEY_CONFIG, - &Misc::HomePage => KEY_HOMEPAGE, - &Misc::Refresh => KEY_REFRESH, - &Misc::Exit => KEY_EXIT, - &Misc::Move => KEY_MOVE, - &Misc::Edit => KEY_EDIT, - &Misc::New => KEY_NEW, - &Misc::Redo => KEY_REDO, - &Misc::PlayCD => KEY_PLAYCD, - &Misc::PauseCD => KEY_PAUSECD, - &Misc::Prog3 => KEY_PROG3, - &Misc::Prog4 => KEY_PROG4, - &Misc::DashBoard => KEY_DASHBOARD, - &Misc::Suspend => KEY_SUSPEND, - &Misc::Close => KEY_CLOSE, - &Misc::Play => KEY_PLAY, - &Misc::FastForward => KEY_FASTFORWARD, - &Misc::BassBoost => KEY_BASSBOOST, - &Misc::Print => KEY_PRINT, - &Misc::HP => KEY_HP, - &Misc::Camera => KEY_CAMERA, - &Misc::Sound => KEY_SOUND, - &Misc::Question => KEY_QUESTION, - &Misc::Email => KEY_EMAIL, - &Misc::Chat => KEY_CHAT, - &Misc::Search => KEY_SEARCH, - &Misc::Connect => KEY_CONNECT, - &Misc::Finance => KEY_FINANCE, - &Misc::Sport => KEY_SPORT, - &Misc::Shop => KEY_SHOP, - &Misc::AltErase => KEY_ALTERASE, - &Misc::Cancel => KEY_CANCEL, - &Misc::BrightnessDown => KEY_BRIGHTNESSDOWN, - &Misc::BrightnessUp => KEY_BRIGHTNESSUP, - &Misc::Media => KEY_MEDIA, - &Misc::SwitchVideoMode => KEY_SWITCHVIDEOMODE, - &Misc::IllumToggle => KEY_KBDILLUMTOGGLE, - &Misc::IllumDown => KEY_KBDILLUMDOWN, - &Misc::IllumUp => KEY_KBDILLUMUP, - &Misc::Send => KEY_SEND, - &Misc::Reply => KEY_REPLY, - &Misc::ForwardEmail => KEY_FORWARDMAIL, - &Misc::Save => KEY_SAVE, - &Misc::Documents => KEY_DOCUMENTS, - &Misc::Battery => KEY_BATTERY, - &Misc::Bluetooth => KEY_BLUETOOTH, - &Misc::WLAN => KEY_WLAN, - &Misc::UWB => KEY_UWB, - &Misc::Unknown => KEY_UNKNOWN, - &Misc::VideoNext => KEY_VIDEO_NEXT, - &Misc::VideoPrev => KEY_VIDEO_PREV, - &Misc::BrightnessCycle => KEY_BRIGHTNESS_CYCLE, - &Misc::BrightnessAuto => KEY_BRIGHTNESS_AUTO, - &Misc::BrightnessZero => KEY_BRIGHTNESS_ZERO, - &Misc::DisplayOff => KEY_DISPLAY_OFF, - &Misc::WWAN => KEY_WWAN, - &Misc::WIMAX => KEY_WIMAX, - &Misc::RFKILL => KEY_RFKILL, - &Misc::MicMute => KEY_MICMUTE, - &Misc::Ok => KEY_OK, - &Misc::Select => KEY_SELECT, - &Misc::Goto => KEY_GOTO, - &Misc::Clear => KEY_CLEAR, - &Misc::Power2 => KEY_POWER2, - &Misc::Option => KEY_OPTION, - &Misc::Info => KEY_INFO, - &Misc::Time => KEY_TIME, - &Misc::Vendor => KEY_VENDOR, - &Misc::Archive => KEY_ARCHIVE, - &Misc::Program => KEY_PROGRAM, - &Misc::Channel => KEY_CHANNEL, - &Misc::Favorites => KEY_FAVORITES, - &Misc::EPG => KEY_EPG, - &Misc::PVR => KEY_PVR, - &Misc::MHP => KEY_MHP, - &Misc::Language => KEY_LANGUAGE, - &Misc::Title => KEY_TITLE, - &Misc::Subtitle => KEY_SUBTITLE, - &Misc::Angle => KEY_ANGLE, - &Misc::Zoom => KEY_ZOOM, - &Misc::Mode => KEY_MODE, - &Misc::Keyboard => KEY_KEYBOARD, - &Misc::Screen => KEY_SCREEN, - &Misc::PC => KEY_PC, - &Misc::TV => KEY_TV, - &Misc::TV2 => KEY_TV2, - &Misc::VCR => KEY_VCR, - &Misc::VCR2 => KEY_VCR2, - &Misc::SAT => KEY_SAT, - &Misc::SAT2 => KEY_SAT2, - &Misc::CD => KEY_CD, - &Misc::Tape => KEY_TAPE, - &Misc::Radio => KEY_RADIO, - &Misc::Tuner => KEY_TUNER, - &Misc::Player => KEY_PLAYER, - &Misc::Text => KEY_TEXT, - &Misc::DVD => KEY_DVD, - &Misc::AUX => KEY_AUX, - &Misc::MP3 => KEY_MP3, - &Misc::Audio => KEY_AUDIO, - &Misc::Video => KEY_VIDEO, - &Misc::Directory => KEY_DIRECTORY, - &Misc::List => KEY_LIST, - &Misc::Memo => KEY_MEMO, - &Misc::Calendar => KEY_CALENDAR, - &Misc::Red => KEY_RED, - &Misc::Green => KEY_GREEN, - &Misc::Yellow => KEY_YELLOW, - &Misc::Blue => KEY_BLUE, - &Misc::ChannelUp => KEY_CHANNELUP, - &Misc::ChannelDown => KEY_CHANNELDOWN, - &Misc::First => KEY_FIRST, - &Misc::Last => KEY_LAST, - &Misc::AB => KEY_AB, - &Misc::Next => KEY_NEXT, - &Misc::Restart => KEY_RESTART, - &Misc::Slow => KEY_SLOW, - &Misc::Shuffle => KEY_SHUFFLE, - &Misc::Break => KEY_BREAK, - &Misc::Previous => KEY_PREVIOUS, - &Misc::Digits => KEY_DIGITS, - &Misc::TEEN => KEY_TEEN, - &Misc::TWEN => KEY_TWEN, - &Misc::VideoPhone => KEY_VIDEOPHONE, - &Misc::Games => KEY_GAMES, - &Misc::ZoomIn => KEY_ZOOMIN, - &Misc::ZoomOut => KEY_ZOOMOUT, - &Misc::ZoomReset => KEY_ZOOMRESET, - &Misc::WordProcessor => KEY_WORDPROCESSOR, - &Misc::Editor => KEY_EDITOR, - &Misc::SpreadSheet => KEY_SPREADSHEET, - &Misc::GraphicsEditor => KEY_GRAPHICSEDITOR, - &Misc::Presentation => KEY_PRESENTATION, - &Misc::Database => KEY_DATABASE, - &Misc::News => KEY_NEWS, - &Misc::VoiceMail => KEY_VOICEMAIL, - &Misc::AddressBook => KEY_ADDRESSBOOK, - &Misc::Messenger => KEY_MESSENGER, - &Misc::DisplayToggle => KEY_DISPLAYTOGGLE, - &Misc::BrightnessToggle => KEY_BRIGHTNESS_TOGGLE, - &Misc::SpellCheck => KEY_SPELLCHECK, - &Misc::LogOff => KEY_LOGOFF, - &Misc::Dollar => KEY_DOLLAR, - &Misc::Euro => KEY_EURO, - &Misc::FrameBack => KEY_FRAMEBACK, - &Misc::FrameForward => KEY_FRAMEFORWARD, - &Misc::ContextMenu => KEY_CONTEXT_MENU, - &Misc::MediaRepeat => KEY_MEDIA_REPEAT, - &Misc::Up10Channels => KEY_10CHANNELSUP, - &Misc::Down10Channels => KEY_10CHANNELSDOWN, - &Misc::Images => KEY_IMAGES, - &Misc::DeleteEOL => KEY_DEL_EOL, - &Misc::DeleteEOS => KEY_DEL_EOS, - &Misc::InsertLine => KEY_INS_LINE, - &Misc::DeleteLine => KEY_DEL_LINE, - &Misc::WPS => KEY_WPS_BUTTON, - &Misc::LightsToggle => KEY_LIGHTS_TOGGLE, - &Misc::ALSToggle => KEY_ALS_TOGGLE, - &Misc::ButtonConfig => KEY_BUTTONCONFIG, - &Misc::TaskManager => KEY_TASKMANAGER, - &Misc::Journal => KEY_JOURNAL, - &Misc::ControlPanel => KEY_CONTROLPANEL, - &Misc::AppSelect => KEY_APPSELECT, - &Misc::ScreenSaver => KEY_SCREENSAVER, - &Misc::VoiceCommand => KEY_VOICECOMMAND, - &Misc::BrighnessMin => KEY_BRIGHTNESS_MIN, - &Misc::BrightnessMax => KEY_BRIGHTNESS_MAX, + match *self { + Misc::ZenkakuHankaku => KEY_ZENKAKUHANKAKU, + Misc::ND102 => KEY_102ND, + Misc::RO => KEY_RO, + Misc::Katakana => KEY_KATAKANA, + Misc::Hiragana => KEY_HIRAGANA, + Misc::Henkan => KEY_HENKAN, + Misc::KatakanaHiragana => KEY_KATAKANAHIRAGANA, + Misc::Muhenkan => KEY_MUHENKAN, + Misc::Macro => KEY_MACRO, + Misc::Mute => KEY_MUTE, + Misc::VolumeDown => KEY_VOLUMEDOWN, + Misc::VolumeUp => KEY_VOLUMEUP, + Misc::Power => KEY_POWER, + Misc::Pause => KEY_PAUSE, + Misc::Scale => KEY_SCALE, + Misc::Hangeul => KEY_HANGEUL, + Misc::Hanguel => KEY_HANGUEL, + Misc::Hanja => KEY_HANJA, + Misc::Yen => KEY_YEN, + Misc::Compose => KEY_COMPOSE, + Misc::Stop => KEY_STOP, + Misc::Again => KEY_AGAIN, + Misc::Props => KEY_PROPS, + Misc::Undo => KEY_UNDO, + Misc::Front => KEY_FRONT, + Misc::Copy => KEY_COPY, + Misc::Open => KEY_OPEN, + Misc::Paste => KEY_PASTE, + Misc::Find => KEY_FIND, + Misc::Cut => KEY_CUT, + Misc::Help => KEY_HELP, + Misc::Menu => KEY_MENU, + Misc::Calc => KEY_CALC, + Misc::Setup => KEY_SETUP, + Misc::Sleep => KEY_SLEEP, + Misc::WakeUp => KEY_WAKEUP, + Misc::File => KEY_FILE, + Misc::SendFile => KEY_SENDFILE, + Misc::DeleteFile => KEY_DELETEFILE, + Misc::XFer => KEY_XFER, + Misc::Prog1 => KEY_PROG1, + Misc::Prog2 => KEY_PROG2, + Misc::WWW => KEY_WWW, + Misc::MSDOS => KEY_MSDOS, + Misc::Coffee => KEY_COFFEE, + Misc::ScreenLock => KEY_SCREENLOCK, + Misc::RotateDisplay => KEY_ROTATE_DISPLAY, + Misc::Direction => KEY_DIRECTION, + Misc::CycleWindows => KEY_CYCLEWINDOWS, + Misc::Mail => KEY_MAIL, + Misc::Bookmarks => KEY_BOOKMARKS, + Misc::Computer => KEY_COMPUTER, + Misc::Back => KEY_BACK, + Misc::Forward => KEY_FORWARD, + Misc::CloseCD => KEY_CLOSECD, + Misc::EjectCD => KEY_EJECTCD, + Misc::EjectCloseCD => KEY_EJECTCLOSECD, + Misc::NextSong => KEY_NEXTSONG, + Misc::PlayPause => KEY_PLAYPAUSE, + Misc::PreviousSong => KEY_PREVIOUSSONG, + Misc::StopCD => KEY_STOPCD, + Misc::Record => KEY_RECORD, + Misc::Rewind => KEY_REWIND, + Misc::Phone => KEY_PHONE, + Misc::Iso => KEY_ISO, + Misc::Config => KEY_CONFIG, + Misc::HomePage => KEY_HOMEPAGE, + Misc::Refresh => KEY_REFRESH, + Misc::Exit => KEY_EXIT, + Misc::Move => KEY_MOVE, + Misc::Edit => KEY_EDIT, + Misc::New => KEY_NEW, + Misc::Redo => KEY_REDO, + Misc::PlayCD => KEY_PLAYCD, + Misc::PauseCD => KEY_PAUSECD, + Misc::Prog3 => KEY_PROG3, + Misc::Prog4 => KEY_PROG4, + Misc::DashBoard => KEY_DASHBOARD, + Misc::Suspend => KEY_SUSPEND, + Misc::Close => KEY_CLOSE, + Misc::Play => KEY_PLAY, + Misc::FastForward => KEY_FASTFORWARD, + Misc::BassBoost => KEY_BASSBOOST, + Misc::Print => KEY_PRINT, + Misc::HP => KEY_HP, + Misc::Camera => KEY_CAMERA, + Misc::Sound => KEY_SOUND, + Misc::Question => KEY_QUESTION, + Misc::Email => KEY_EMAIL, + Misc::Chat => KEY_CHAT, + Misc::Search => KEY_SEARCH, + Misc::Connect => KEY_CONNECT, + Misc::Finance => KEY_FINANCE, + Misc::Sport => KEY_SPORT, + Misc::Shop => KEY_SHOP, + Misc::AltErase => KEY_ALTERASE, + Misc::Cancel => KEY_CANCEL, + Misc::BrightnessDown => KEY_BRIGHTNESSDOWN, + Misc::BrightnessUp => KEY_BRIGHTNESSUP, + Misc::Media => KEY_MEDIA, + Misc::SwitchVideoMode => KEY_SWITCHVIDEOMODE, + Misc::IllumToggle => KEY_KBDILLUMTOGGLE, + Misc::IllumDown => KEY_KBDILLUMDOWN, + Misc::IllumUp => KEY_KBDILLUMUP, + Misc::Send => KEY_SEND, + Misc::Reply => KEY_REPLY, + Misc::ForwardEmail => KEY_FORWARDMAIL, + Misc::Save => KEY_SAVE, + Misc::Documents => KEY_DOCUMENTS, + Misc::Battery => KEY_BATTERY, + Misc::Bluetooth => KEY_BLUETOOTH, + Misc::WLAN => KEY_WLAN, + Misc::UWB => KEY_UWB, + Misc::Unknown => KEY_UNKNOWN, + Misc::VideoNext => KEY_VIDEO_NEXT, + Misc::VideoPrev => KEY_VIDEO_PREV, + Misc::BrightnessCycle => KEY_BRIGHTNESS_CYCLE, + Misc::BrightnessAuto => KEY_BRIGHTNESS_AUTO, + Misc::BrightnessZero => KEY_BRIGHTNESS_ZERO, + Misc::DisplayOff => KEY_DISPLAY_OFF, + Misc::WWAN => KEY_WWAN, + Misc::WIMAX => KEY_WIMAX, + Misc::RFKILL => KEY_RFKILL, + Misc::MicMute => KEY_MICMUTE, + Misc::Ok => KEY_OK, + Misc::Select => KEY_SELECT, + Misc::Goto => KEY_GOTO, + Misc::Clear => KEY_CLEAR, + Misc::Power2 => KEY_POWER2, + Misc::Option => KEY_OPTION, + Misc::Info => KEY_INFO, + Misc::Time => KEY_TIME, + Misc::Vendor => KEY_VENDOR, + Misc::Archive => KEY_ARCHIVE, + Misc::Program => KEY_PROGRAM, + Misc::Channel => KEY_CHANNEL, + Misc::Favorites => KEY_FAVORITES, + Misc::EPG => KEY_EPG, + Misc::PVR => KEY_PVR, + Misc::MHP => KEY_MHP, + Misc::Language => KEY_LANGUAGE, + Misc::Title => KEY_TITLE, + Misc::Subtitle => KEY_SUBTITLE, + Misc::Angle => KEY_ANGLE, + Misc::Zoom => KEY_ZOOM, + Misc::Mode => KEY_MODE, + Misc::Keyboard => KEY_KEYBOARD, + Misc::Screen => KEY_SCREEN, + Misc::PC => KEY_PC, + Misc::TV => KEY_TV, + Misc::TV2 => KEY_TV2, + Misc::VCR => KEY_VCR, + Misc::VCR2 => KEY_VCR2, + Misc::SAT => KEY_SAT, + Misc::SAT2 => KEY_SAT2, + Misc::CD => KEY_CD, + Misc::Tape => KEY_TAPE, + Misc::Radio => KEY_RADIO, + Misc::Tuner => KEY_TUNER, + Misc::Player => KEY_PLAYER, + Misc::Text => KEY_TEXT, + Misc::DVD => KEY_DVD, + Misc::AUX => KEY_AUX, + Misc::MP3 => KEY_MP3, + Misc::Audio => KEY_AUDIO, + Misc::Video => KEY_VIDEO, + Misc::Directory => KEY_DIRECTORY, + Misc::List => KEY_LIST, + Misc::Memo => KEY_MEMO, + Misc::Calendar => KEY_CALENDAR, + Misc::Red => KEY_RED, + Misc::Green => KEY_GREEN, + Misc::Yellow => KEY_YELLOW, + Misc::Blue => KEY_BLUE, + Misc::ChannelUp => KEY_CHANNELUP, + Misc::ChannelDown => KEY_CHANNELDOWN, + Misc::First => KEY_FIRST, + Misc::Last => KEY_LAST, + Misc::AB => KEY_AB, + Misc::Next => KEY_NEXT, + Misc::Restart => KEY_RESTART, + Misc::Slow => KEY_SLOW, + Misc::Shuffle => KEY_SHUFFLE, + Misc::Break => KEY_BREAK, + Misc::Previous => KEY_PREVIOUS, + Misc::Digits => KEY_DIGITS, + Misc::TEEN => KEY_TEEN, + Misc::TWEN => KEY_TWEN, + Misc::VideoPhone => KEY_VIDEOPHONE, + Misc::Games => KEY_GAMES, + Misc::ZoomIn => KEY_ZOOMIN, + Misc::ZoomOut => KEY_ZOOMOUT, + Misc::ZoomReset => KEY_ZOOMRESET, + Misc::WordProcessor => KEY_WORDPROCESSOR, + Misc::Editor => KEY_EDITOR, + Misc::SpreadSheet => KEY_SPREADSHEET, + Misc::GraphicsEditor => KEY_GRAPHICSEDITOR, + Misc::Presentation => KEY_PRESENTATION, + Misc::Database => KEY_DATABASE, + Misc::News => KEY_NEWS, + Misc::VoiceMail => KEY_VOICEMAIL, + Misc::AddressBook => KEY_ADDRESSBOOK, + Misc::Messenger => KEY_MESSENGER, + Misc::DisplayToggle => KEY_DISPLAYTOGGLE, + Misc::BrightnessToggle => KEY_BRIGHTNESS_TOGGLE, + Misc::SpellCheck => KEY_SPELLCHECK, + Misc::LogOff => KEY_LOGOFF, + Misc::Dollar => KEY_DOLLAR, + Misc::Euro => KEY_EURO, + Misc::FrameBack => KEY_FRAMEBACK, + Misc::FrameForward => KEY_FRAMEFORWARD, + Misc::ContextMenu => KEY_CONTEXT_MENU, + Misc::MediaRepeat => KEY_MEDIA_REPEAT, + Misc::Up10Channels => KEY_10CHANNELSUP, + Misc::Down10Channels => KEY_10CHANNELSDOWN, + Misc::Images => KEY_IMAGES, + Misc::DeleteEOL => KEY_DEL_EOL, + Misc::DeleteEOS => KEY_DEL_EOS, + Misc::InsertLine => KEY_INS_LINE, + Misc::DeleteLine => KEY_DEL_LINE, + Misc::WPS => KEY_WPS_BUTTON, + Misc::LightsToggle => KEY_LIGHTS_TOGGLE, + Misc::ALSToggle => KEY_ALS_TOGGLE, + Misc::ButtonConfig => KEY_BUTTONCONFIG, + Misc::TaskManager => KEY_TASKMANAGER, + Misc::Journal => KEY_JOURNAL, + Misc::ControlPanel => KEY_CONTROLPANEL, + Misc::AppSelect => KEY_APPSELECT, + Misc::ScreenSaver => KEY_SCREENSAVER, + Misc::VoiceCommand => KEY_VOICECOMMAND, + Misc::BrighnessMin => KEY_BRIGHTNESS_MIN, + Misc::BrightnessMax => KEY_BRIGHTNESS_MAX, } } } @@ -875,9 +875,9 @@ custom_derive! { } } -impl Into for Function { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Function(self)) +impl From for Event { + fn from(val: Function) -> Self { + Event::Keyboard(Keyboard::Function(val)) } } @@ -892,28 +892,28 @@ impl Kind for Function { impl Code for Function { fn code(&self) -> c_int { - match self { - &Function::Press => KEY_FN, - &Function::Esc => KEY_FN_ESC, - &Function::F1 => KEY_FN_F1, - &Function::F2 => KEY_FN_F2, - &Function::F3 => KEY_FN_F3, - &Function::F4 => KEY_FN_F4, - &Function::F5 => KEY_FN_F5, - &Function::F6 => KEY_FN_F6, - &Function::F7 => KEY_FN_F7, - &Function::F8 => KEY_FN_F8, - &Function::F9 => KEY_FN_F9, - &Function::F10 => KEY_FN_F10, - &Function::F11 => KEY_FN_F11, - &Function::F12 => KEY_FN_F12, - &Function::_1 => KEY_FN_1, - &Function::_2 => KEY_FN_2, - &Function::D => KEY_FN_D, - &Function::E => KEY_FN_E, - &Function::F => KEY_FN_F, - &Function::S => KEY_FN_S, - &Function::B => KEY_FN_B, + match *self { + Function::Press => KEY_FN, + Function::Esc => KEY_FN_ESC, + Function::F1 => KEY_FN_F1, + Function::F2 => KEY_FN_F2, + Function::F3 => KEY_FN_F3, + Function::F4 => KEY_FN_F4, + Function::F5 => KEY_FN_F5, + Function::F6 => KEY_FN_F6, + Function::F7 => KEY_FN_F7, + Function::F8 => KEY_FN_F8, + Function::F9 => KEY_FN_F9, + Function::F10 => KEY_FN_F10, + Function::F11 => KEY_FN_F11, + Function::F12 => KEY_FN_F12, + Function::_1 => KEY_FN_1, + Function::_2 => KEY_FN_2, + Function::D => KEY_FN_D, + Function::E => KEY_FN_E, + Function::F => KEY_FN_F, + Function::S => KEY_FN_S, + Function::B => KEY_FN_B, } } } @@ -934,9 +934,9 @@ custom_derive! { } } -impl Into for Braille { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Braille(self)) +impl From for Event { + fn from(val: Braille) -> Self { + Event::Keyboard(Keyboard::Braille(val)) } } @@ -951,17 +951,17 @@ impl Kind for Braille { impl Code for Braille { fn code(&self) -> c_int { - match self { - &Braille::Dot1 => KEY_BRL_DOT1, - &Braille::Dot2 => KEY_BRL_DOT2, - &Braille::Dot3 => KEY_BRL_DOT3, - &Braille::Dot4 => KEY_BRL_DOT4, - &Braille::Dot5 => KEY_BRL_DOT5, - &Braille::Dot6 => KEY_BRL_DOT6, - &Braille::Dot7 => KEY_BRL_DOT7, - &Braille::Dot8 => KEY_BRL_DOT8, - &Braille::Dot9 => KEY_BRL_DOT9, - &Braille::Dot10 => KEY_BRL_DOT10, + match *self { + Braille::Dot1 => KEY_BRL_DOT1, + Braille::Dot2 => KEY_BRL_DOT2, + Braille::Dot3 => KEY_BRL_DOT3, + Braille::Dot4 => KEY_BRL_DOT4, + Braille::Dot5 => KEY_BRL_DOT5, + Braille::Dot6 => KEY_BRL_DOT6, + Braille::Dot7 => KEY_BRL_DOT7, + Braille::Dot8 => KEY_BRL_DOT8, + Braille::Dot9 => KEY_BRL_DOT9, + Braille::Dot10 => KEY_BRL_DOT10, } } } @@ -988,9 +988,9 @@ custom_derive! { } } -impl Into for Numeric { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Numeric(self)) +impl From for Event { + fn from(val: Numeric) -> Self { + Event::Keyboard(Keyboard::Numeric(val)) } } @@ -1005,23 +1005,23 @@ impl Kind for Numeric { impl Code for Numeric { fn code(&self) -> c_int { - match self { - &Numeric::_0 => KEY_NUMERIC_0, - &Numeric::_1 => KEY_NUMERIC_1, - &Numeric::_2 => KEY_NUMERIC_2, - &Numeric::_3 => KEY_NUMERIC_3, - &Numeric::_4 => KEY_NUMERIC_4, - &Numeric::_5 => KEY_NUMERIC_5, - &Numeric::_6 => KEY_NUMERIC_6, - &Numeric::_7 => KEY_NUMERIC_7, - &Numeric::_8 => KEY_NUMERIC_8, - &Numeric::_9 => KEY_NUMERIC_9, - &Numeric::Star => KEY_NUMERIC_STAR, - &Numeric::Pound => KEY_NUMERIC_POUND, - &Numeric::A => KEY_NUMERIC_A, - &Numeric::B => KEY_NUMERIC_B, - &Numeric::C => KEY_NUMERIC_C, - &Numeric::D => KEY_NUMERIC_D, + match *self { + Numeric::_0 => KEY_NUMERIC_0, + Numeric::_1 => KEY_NUMERIC_1, + Numeric::_2 => KEY_NUMERIC_2, + Numeric::_3 => KEY_NUMERIC_3, + Numeric::_4 => KEY_NUMERIC_4, + Numeric::_5 => KEY_NUMERIC_5, + Numeric::_6 => KEY_NUMERIC_6, + Numeric::_7 => KEY_NUMERIC_7, + Numeric::_8 => KEY_NUMERIC_8, + Numeric::_9 => KEY_NUMERIC_9, + Numeric::Star => KEY_NUMERIC_STAR, + Numeric::Pound => KEY_NUMERIC_POUND, + Numeric::A => KEY_NUMERIC_A, + Numeric::B => KEY_NUMERIC_B, + Numeric::C => KEY_NUMERIC_C, + Numeric::D => KEY_NUMERIC_D, } } } @@ -1035,9 +1035,9 @@ custom_derive! { } } -impl Into for TouchPad { - fn into(self) -> Event { - Event::Keyboard(Keyboard::TouchPad(self)) +impl From for Event { + fn from(val: TouchPad) -> Self { + Event::Keyboard(Keyboard::TouchPad(val)) } } @@ -1052,10 +1052,10 @@ impl Kind for TouchPad { impl Code for TouchPad { fn code(&self) -> c_int { - match self { - &TouchPad::Toggle => KEY_TOUCHPAD_TOGGLE, - &TouchPad::On => KEY_TOUCHPAD_ON, - &TouchPad::Off => KEY_TOUCHPAD_OFF, + match *self { + TouchPad::Toggle => KEY_TOUCHPAD_TOGGLE, + TouchPad::On => KEY_TOUCHPAD_ON, + TouchPad::Off => KEY_TOUCHPAD_OFF, } } } @@ -1073,9 +1073,9 @@ custom_derive! { } } -impl Into for Camera { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Camera(self)) +impl From for Event { + fn from(val: Camera) -> Self { + Event::Keyboard(Keyboard::Camera(val)) } } @@ -1091,13 +1091,13 @@ impl Kind for Camera { impl Code for Camera { fn code(&self) -> c_int { match self { - &Camera::ZoomIn => KEY_CAMERA_ZOOMIN, - &Camera::ZoomOut => KEY_CAMERA_ZOOMOUT, - &Camera::Up => KEY_CAMERA_UP, - &Camera::Down => KEY_CAMERA_DOWN, - &Camera::Left => KEY_CAMERA_LEFT, - &Camera::Right => KEY_CAMERA_RIGHT, - &Camera::Focus => KEY_CAMERA_FOCUS, + Camera::ZoomIn => KEY_CAMERA_ZOOMIN, + Camera::ZoomOut => KEY_CAMERA_ZOOMOUT, + Camera::Up => KEY_CAMERA_UP, + Camera::Down => KEY_CAMERA_DOWN, + Camera::Left => KEY_CAMERA_LEFT, + Camera::Right => KEY_CAMERA_RIGHT, + Camera::Focus => KEY_CAMERA_FOCUS, } } } @@ -1111,9 +1111,9 @@ custom_derive! { } } -impl Into for Attendant { - fn into(self) -> Event { - Event::Keyboard(Keyboard::Attendant(self)) +impl From for Event { + fn from(val: Attendant) -> Self { + Event::Keyboard(Keyboard::Attendant(val)) } } @@ -1128,10 +1128,10 @@ impl Kind for Attendant { impl Code for Attendant { fn code(&self) -> c_int { - match self { - &Attendant::On => KEY_ATTENDANT_ON, - &Attendant::Off => KEY_ATTENDANT_OFF, - &Attendant::Toggle => KEY_ATTENDANT_TOGGLE, + match *self { + Attendant::On => KEY_ATTENDANT_ON, + Attendant::Off => KEY_ATTENDANT_OFF, + Attendant::Toggle => KEY_ATTENDANT_TOGGLE, } } } @@ -1148,9 +1148,9 @@ custom_derive! { } } -impl Into for InputAssist { - fn into(self) -> Event { - Event::Keyboard(Keyboard::InputAssist(self)) +impl From for Event { + fn from(val: InputAssist) -> Self { + Event::Keyboard(Keyboard::InputAssist(val)) } } @@ -1165,13 +1165,13 @@ impl Kind for InputAssist { impl Code for InputAssist { fn code(&self) -> c_int { - match self { - &InputAssist::Prev => KEY_KBDINPUTASSIST_PREV, - &InputAssist::Next => KEY_KBDINPUTASSIST_NEXT, - &InputAssist::PrevGroup => KEY_KBDINPUTASSIST_PREVGROUP, - &InputAssist::NextGroup => KEY_KBDINPUTASSIST_NEXTGROUP, - &InputAssist::Accept => KEY_KBDINPUTASSIST_ACCEPT, - &InputAssist::Cancel => KEY_KBDINPUTASSIST_CANCEL, + match *self { + InputAssist::Prev => KEY_KBDINPUTASSIST_PREV, + InputAssist::Next => KEY_KBDINPUTASSIST_NEXT, + InputAssist::PrevGroup => KEY_KBDINPUTASSIST_PREVGROUP, + InputAssist::NextGroup => KEY_KBDINPUTASSIST_NEXTGROUP, + InputAssist::Accept => KEY_KBDINPUTASSIST_ACCEPT, + InputAssist::Cancel => KEY_KBDINPUTASSIST_CANCEL, } } } diff --git a/src/event/mod.rs b/src/event/mod.rs index 036a40b..61ba0a3 100644 --- a/src/event/mod.rs +++ b/src/event/mod.rs @@ -41,26 +41,26 @@ pub enum Event { impl Kind for Event { fn kind(&self) -> c_int { - match self { - &Event::All => unreachable!(), + match *self { + Event::All => unreachable!(), - &Event::Keyboard(ref v) => v.kind(), - &Event::Controller(ref v) => v.kind(), - &Event::Relative(ref v) => v.kind(), - &Event::Absolute(ref v) => v.kind(), + Event::Keyboard(ref v) => v.kind(), + Event::Controller(ref v) => v.kind(), + Event::Relative(ref v) => v.kind(), + Event::Absolute(ref v) => v.kind(), } } } impl Code for Event { fn code(&self) -> c_int { - match self { - &Event::All => unreachable!(), + match *self { + Event::All => unreachable!(), - &Event::Keyboard(ref v) => v.code(), - &Event::Controller(ref v) => v.code(), - &Event::Relative(ref v) => v.code(), - &Event::Absolute(ref v) => v.code(), + Event::Keyboard(ref v) => v.code(), + Event::Controller(ref v) => v.code(), + Event::Relative(ref v) => v.code(), + Event::Absolute(ref v) => v.code(), } } } diff --git a/src/event/relative.rs b/src/event/relative.rs index 80d30cf..01fb6c9 100644 --- a/src/event/relative.rs +++ b/src/event/relative.rs @@ -3,15 +3,16 @@ use ffi::*; use {Event}; use super::{Kind, Code}; + #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] pub enum Relative { Position(Position), Wheel(Wheel), } -impl Into for Relative { - fn into(self) -> Event { - Event::Relative(self) +impl From for Event { + fn from(val: Relative) -> Self { + Event::Relative(val) } } @@ -25,9 +26,9 @@ impl Kind for Relative { impl Code for Relative { fn code(&self) -> c_int { - match self { - &Relative::Position(ref v) => v.code(), - &Relative::Wheel(ref v) => v.code(), + match *self { + Relative::Position(ref v) => v.code(), + Relative::Wheel(ref v) => v.code(), } } } @@ -44,9 +45,9 @@ custom_derive! { } } -impl Into for Position { - fn into(self) -> Event { - Event::Relative(Relative::Position(self)) +impl From for Event { + fn from(val: Position) -> Self { + Event::Relative(Relative::Position(val)) } } @@ -60,13 +61,13 @@ impl Kind for Position { impl Code for Position { fn code(&self) -> c_int { - match self { - &Position::X => REL_X, - &Position::Y => REL_Y, - &Position::Z => REL_Z, - &Position::RX => REL_RX, - &Position::RY => REL_RY, - &Position::RZ => REL_RZ, + match *self { + Position::X => REL_X, + Position::Y => REL_Y, + Position::Z => REL_Z, + Position::RX => REL_RX, + Position::RY => REL_RY, + Position::RZ => REL_RZ, } } } @@ -80,9 +81,9 @@ custom_derive! { } } -impl Into for Wheel { - fn into(self) -> Event { - Event::Relative(Relative::Wheel(self)) +impl From for Event { + fn from(val: Wheel) -> Self { + Event::Relative(Relative::Wheel(val)) } } @@ -96,10 +97,10 @@ impl Kind for Wheel { impl Code for Wheel { fn code(&self) -> c_int { - match self { - &Wheel::Horizontal => REL_HWHEEL, - &Wheel::Dial => REL_DIAL, - &Wheel::Vertical => REL_WHEEL, + match *self { + Wheel::Horizontal => REL_HWHEEL, + Wheel::Dial => REL_DIAL, + Wheel::Vertical => REL_WHEEL, } } }