Hi, When using IR receivers using libinput, key events get dropped if a new rc keymap is loaded and the key was not in the old keymap.
The input device keybit changes and libevdev does not notice this. Then here we end up returning false: https://gitlab.freedesktop.org/libinput/libinput/blob/master/src/libinput.c#L3100 The event is reported via evtest but not via libinput debug-events. So, for example, mceusb IR devices register with a keymap for MCE remotes. If later a keymap for a different remote is loaded, e.g.: $ ir-keytable -w /lib/udev/rc_keymaps/imon_rsc.toml If I press any button which does not exist in the MCE remote keymap (for example space or backspace), libinput does not report these events. I've tried fixing this by making the kernel input device have all the keybit fields set, but this had to be reverted since it overflowed the size of uevents. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=05f0edadcc5fccdfc0676825b3e70e75dc0a8a84 If libinput receives an EV_KEY event which is unexpected, we could go and check if the input device and see if keybit has added. However in a diferent sense ir-keytable changed the input device underneath libinput; another way to fix this to add support for loading IR keymaps to libinput and all the way up the stack. I've been wanting to do this anyway but I have no idea if there is any interest in this. Any thoughts on this would be appreciated! Thanks, Sean _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel