* Default impl should block. Renaming it to avoid API confusion from previous users.
* Can't get rid of libc::read because we have MaybeUninit, but we can clean up the match
* Remove extra include
* Switch everything over to io::Error
* Add initial tokio impl+example
* Move evtest_tokio to normal example
* Add documentation and clarify
* Use a VecDeque (ring buffer) instead of repeatedly popping things off the front of a Vec
* Looks like we are not using thiserror anymore; removing
* Store read buf between calls
* Add nonblocking example with epoll
Co-authored-by: Jeff Hiner <jeff-hiner@users.noreply.github.com>
Co-authored-by: Noah <33094578+coolreader18@users.noreply.github.com>
* Replace bitflags with newtypes
* Don't reexport from libc
* Add a wrapper for event_info
* Hide EvdevEnum
* Make the AttributeSet API more setlike
* Move AttributeSet to its own module
* Add some doc, tidy APIs
* Fix warnings and remove unsafe code
* Eliminate duplicate structs already in libc; fix incorrect eviocgbit lengths, remove transmute
* Avoid hiding unsafe behind macros; use File rather than libc::open
* Change signatures of eviocgbit and eviocgabs to take slices; use align_to_mut to more safely cast slices
* Replace do_ioctl_buf! with wrapper fn
* Add a sanity check for align_to_mut
* Fix incorrect slice casts, add debug asserts for sanity
* Bump revision