Linuxinput binding and mouse capture

Hello,

Thanks for this plugin. Im having an issue while trying to use it to interface a generic wireless remote/keyboard combo. Issue is described below.

Linux Input Binding is erroring out on Thinghelper call due to duplicate/unamed channel names in keyboard
Openhab version 3.3 running on Raspberry-Pi3B+.

Im trying to use a a 2.5Ghz keyboard/remote combo with media control keys and qwerty keyboard. My goal is to build a universal remote control for home theater system built around openhab. This device created 3 events for keyboard [/dev/input/event*] and I could successfully get 2 of them working “Things”. But for the /dev/input/event2 which receives the media key events from the keyboard, the plugin creates below error and goes OFFLINE.
I have double checked the Linux permissions and they are all same for all events. Also I could capture the keypress events using evtest running as user openhabian for /dev/input/event2.

java.lang.IllegalArgumentException: Duplicate channels linuxinput:input-device:consumer:keypresses#null
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:152) ~[?:?]
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:128) ~[?:?]
at org.openhab.core.thing.binding.builder.ThingBuilder.withChannels(ThingBuilder.java:86) ~[?:?]

Using evtest I captured the key bindings for this device and it turns out that the device has left few key codes unmapped as shown below. I suspect that ThingHelper call is setting EnsureUniqeChannels, and this is creating the above error. i.e While creating the channels , the unmapped keycodes comes up as duplicated channels. I have no way to access the driver of the wireless keyboard to enumerate all keycodes. I believe one possible way to fix this issue would be to update the binding to call ThingHelper with EnsureUniqeChannels set to false. I might be completely wrong!.

Event code 583 (KEY_ASSISTANT)
Event code 584 (?)
Event code 585 (?)
Event code 586 (?)
Event code 592 (KEY_BRIGHTNESS_MIN)

Is it possible to update this binding to ignore duplicate channels? . Or may be add a setting to the addon to ignore duplicate channels may be?.

Another possibility is to rebuild the libudev library to ignore unnamed channels.

Let me know if any other debug information is needed.

I have been breaking my head to get this setup working. I believe this fix would help many users to use cheap generic wireless keyboards with openhab . Thank you for developing this plugin. Greatly appreciate a fix.