1#![recursion_limit = "1000"]
2
3extern crate libc;
4
5extern crate uinput_sys as ffi;
6
7extern crate nix;
8
9#[macro_use]
10extern crate serde_derive;
11
12#[cfg(feature = "udev")]
13extern crate libudev as udev;
14
15use std::path::Path;
16
17mod error;
18pub use error::Error;
19
20pub type Result<T> = ::std::result::Result<T, Error>;
21
22pub mod keymapper;
23pub use keymapper::KeyMaps;
24
25pub mod device;
26pub use device::Device;
27
28pub fn default() -> Result<device::Builder> {
30 device::Builder::default()
31}
32
33pub fn open<P: AsRef<Path>>(path: P) -> Result<device::Builder> {
35 device::Builder::open(path)
36}