Device changes reread the keyboard seat
pull request 15203, merged into quattro, rereads the keyboard seat when input devices change, instead of every 10 seconds in each bar. The merge is not in version 4.0.4.
The layout widget ran a device query every 10 seconds, in each bar, for as long as the seat had more than one keyboard. Hyprland raises no event when a keyboard arrives or leaves. The merged shell watches /dev/input, where keyboards appear and disappear, the udev records for input devices, and /dev itself so the watch can be armed again if that directory is recreated.
It signals once a burst has been quiet for 500ms, and again three seconds later, in case Hyprland trailed the event. The 10-second timer remains only until a first reading lands, and while a reading leaves the seat in doubt. David Heinemeier Hansson wrote that on a four-keyboard seat the previous shell spawned the device query every 10 seconds, and that an idle test of this branch passed without allowing that query.