hassium_input/
device.rs

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