Floating OSD that displays keyboard input in real-time via evtest.
A floating OSD plugin for Noctalia Shell that displays keyboard input in real-time via evtest.

mPrimary/mSurface) with custom text and background colors for the key pills.This plugin relies on evtest to read hardware input directly. That means it needs access to /dev/input/event*, which comes with an explicit security tradeoff.
Granting your user access to the input group weakens Wayland's input confidentiality model. Once your user can read raw input devices directly, any process running as that user may also be able to observe keyboard input outside the compositor's usual security boundaries.
Use this plugin only if you understand and accept that tradeoff. If you are not comfortable granting input access, do not enable this plugin until a compositor-native or otherwise safer input API exists.
Install evtest (for Arch Linux):
sudo pacman -S evtest
Grant input group permissions:
Add your user to the input group so the plugin can read inputs without requiring root access:
sudo usermod -aG input $USER
(Warning: this is convenient, but it also grants raw input device access to processes running as your user.) (Note: You must log out and log back in, or reboot, for this group change to take effect.)
Find your keyboard device path: Run the following command to list all input devices:
sudo evtest
Identify your primary keyboard from the list and note its event path (e.g., /dev/input/event3).
noctalia-shell to apply the changes and start the capture process.You can toggle the OSD visibility and capture state using Noctalia's IPC handler. Bind the following command to a custom shortcut in your Wayland compositor (e.g., niri) to easily show or hide the overlay:
qs -c noctalia-shell ipc call plugin:show-keys toggle
MIT