diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java index f2ca21cf9..978aee31a 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java @@ -189,7 +189,7 @@ public class EvdevDevice implements Closeable { public Collection enumerateKeys() { int minKey = 0; - int maxKey = 255 - 1; + int maxKey = lib.event_type_get_max(EvdevLibrary.Type.KEY.intValue()); List result = new ArrayList<>(); for (int i = minKey; i <= maxKey; i++) { if (has(EvdevLibrary.Type.KEY, i)) { @@ -215,6 +215,11 @@ public class EvdevDevice implements Closeable { public String getName() { return lib.event_code_get_name(EvdevLibrary.Type.KEY.intValue(), code); } + + @Override + public String toString() { + return String.valueOf(code); + } } public static class InputEvent { diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java index 2a26425e3..7eca6b89b 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java @@ -98,6 +98,8 @@ public interface EvdevLibrary { int enable_event_type(@In Handle handle, int type); + int event_type_get_max(int type); + int disable_event_type(@In Handle handle, int type); boolean has_event_code(@In Handle handle, int type, int code);