The uaccess udev tag will add an ACL on the device for the currently logged-in user. This means the rules must run before level 70, where the uaccess tag will be acted upon.
As a consequence, we don't need to create the uinput group, and the service can run in the per-user systemd instance.
Also, use an instanciated systemd service to handle multiple keyboards (I haven't tested that as I own only one).
Ref: https://wiki.archlinux.org/title/Udev#Allowing_regular_users_to_use_devices
The
uaccess
udev tag will add an ACL on the device for the currently logged-in user. This means the rules must run before level 70, where theuaccess
tag will be acted upon.As a consequence, we don't need to create the uinput group, and the service can run in the per-user systemd instance.
Also, use an instanciated systemd service to handle multiple keyboards (I haven't tested that as I own only one).