Path evdev = Paths.get("/dev/input");
WatchService watcher = evdev.getFileSystem().newWatchService();
evdev.register(watcher, StandardWatchEventKinds.ENTRY_CREATE);
WatchKey watckKey = watcher.take();
List<WatchEvent<?>> events = watckKey.pollEvents();
for (WatchEvent event:events) {
if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE) {
String name = event.context().toString();
if (filter.accept(input, name)) {