h*0.0.2.1 Safe-Inferred"(uevdev-streamlyRead all events from a device.evdev-streamlyConcurrently read events from multiple devices. If a read fails on one, the exception is printed to stderr and the stream continues to read from the others.evdev-streamly+Create devices for all paths in the stream.evdev-streamly$All events on all valid devices (in  /dev/input). Prints any exceptions. &allEvents == readEventsMany allDevicesevdev-streamlyAll valid existing devices (in  /dev/input). If a device can't be initialised for an individual path, then the exception is printed, and the function continues to try to initialise the others.evdev-streamlyAll new devices created (in  /dev/input). Watches for new file paths (using inotify), and those corresponding to valid devices are added to the stream.evdev-streamly&This is a workaround for bugginess in  when it comes to waiting for permissions on a new device - it just waits the number of microseconds given before trying to read from the device. -evdev-streamly-0.0.2.1-79u9lRt57h81xMuHRAtIAC Evdev.Streamevdev-streamly readEventsreadEventsMany makeDevices allEvents allDevices newDevices newDevices'