1#![doc = include_str!("../README.md")]
2#![warn(missing_debug_implementations)]
3
4#[macro_use]
5mod macros;
6
7#[cfg(test)]
8mod test;
9
10mod abs_info;
11mod batch;
12pub mod bits;
13mod drop;
14pub mod enumerate;
15mod evdev;
16pub mod event;
17pub mod ff;
18pub mod hotplug;
19mod input_id;
20mod key_repeat;
21mod keymap_entry;
22mod raw;
23pub mod reader;
24mod slot;
25pub mod uinput;
26mod util;
27mod version;
28
29pub use abs_info::AbsInfo;
30#[doc(inline)]
31pub use enumerate::{enumerate, enumerate_hotplug};
32pub use evdev::*;
33pub use event::codes::{InputProp, UnknownVariant};
34pub use input_id::{Bus, InputId};
35pub use key_repeat::KeyRepeat;
36pub use keymap_entry::{KeymapEntry, Scancode};
37#[doc(inline)]
38pub use reader::EventReader;
39pub use slot::Slot;
40pub use version::Version;
41
42#[cfg(test)]
43mod tests {
44 use crate::{hotplug::HotplugMonitor, uinput::UinputDevice};
45
46 use super::*;
47
48 #[test]
49 fn send_sync() {
50 fn assert<T: Send + Sync>() {}
51
52 assert::<Evdev>();
53 assert::<EventReader>();
54 assert::<UinputDevice>();
55 assert::<HotplugMonitor>();
56 }
57}