* Prototype support for virtual uinput devices
* Tidy uinput a bit
* Have all the evtest examples use the same args/prompt code
* Switch to libc uinput* structs
* Use InputId in uinput, use libc _CNT constants
* Don't use align_to_mut
* Only check /dev/input/eventN files
* Spelling fixup
* Fix compilation error
* Ah, there we go. Much better.
Co-authored-by: Jeff Hiner <jeff-hiner@users.noreply.github.com>
Co-authored-by: Noah <33094578+coolreader18@users.noreply.github.com>
* 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>
* Use typed ioctl calls
* Make enumerate() return an iterator instead of a vec
* Fix(?) events() behavior
* read() into a buf of mem::MaybeUninit
* Add Device.wait_ready()
* impl AsRawFd for Device
* Add remaining ioctls