1 2 3 4 5 6 7 8 9 10 11 12
use core::Scalar; use std::any::Any; pub trait InputDevice: Any + Send + Sync { fn name(&self) -> &str; fn on_register(&mut self) {} fn on_unregister(&mut self) {} fn process(&mut self); fn query_axis(&self, name: &str) -> Option<Scalar>; fn query_trigger(&self, name: &str) -> Option<bool>; fn as_any(&self) -> &dyn Any; }