#![recursion_limit = "1000"]
extern crate libc;
extern crate nix;
extern crate uinput_sys as ffi;
#[macro_use]
extern crate custom_derive;
#[macro_use]
extern crate enum_derive;
#[cfg(feature = "udev")]
extern crate libudev as udev;
use std::path::Path;
mod error;
pub use error::Error;
pub mod event;
pub use event::Event;
pub mod device;
pub use device::Device;
pub fn default() -> Result<device::Builder, crate::error::Error> {
device::Builder::default()
}
pub fn open<P: AsRef<Path>>(path: P) -> Result<device::Builder, crate::error::Error> {
device::Builder::open(path)
}