An always-on-top keystroke and mouse click visualizer for DankMaterialShell (DMS), suitable for screencasts, tutorials, and presentations.
Use the DMS CLI:
dms plugins install screenkeyOr manually:
git clone https://github.com/loccun/dms-screenkey ~/.config/DankMaterialShell/plugins/screenkey- DankMaterialShell
>= 1.5.0 evtest- For monitoring specific keyboard events.libinputCLI - For "All Keyboards" mode.- Input group - User must be in the
inputgroup:sudo usermod -aG input $USER.
Note
On many distros, the libinput CLI is in a separate package: libinput-tools (Arch/Debian/Ubuntu) or libinput-utils (Fedora). Logout and back in after adding your user to the input group.
- Floating Overlay - Elegant, always-on-top keystroke and mouse click visualizer.
- Visual Keycaps - Renders key combinations (e.g.,
Ctrl + Shift + A) as styled keycaps. - Mouse Click Indicators - Shows mouse clicks (left/right/middle) inside a vector-drawn mouse shape.
- Privacy Mode - Default option to only show keyboard shortcuts and hide standard letter typing.
Toggle the visualizer from the DMS Control Center:
- Click widget - Toggle the visualizer overlay on/off.
- Click settings icon - Open the Screenkey settings page.
Control the visualizer daemon via terminal:
# Toggle the visualizer
dms ipc screenkey toggle
# Enable the visualizer
dms ipc screenkey enable
# Disable the visualizer
dms ipc screenkey disable- Always-on-top Overlay - Wayland layer-shell floating overlay.
- Dynamic Device Scanner - Scans active keyboards automatically via helper script.
- Vector Mouse Indicators - Custom QML-drawn mouse with highlighted left, middle, and right buttons.
- Multi-line History - Display a history of the last few shortcuts on screen.
- Custom Styling - Custom colors, border radius, custom connector separator, and macOS symbols.
- Held Modifiers Status Bar - Displays held modifier keys in real-time.
- Click Ripple Animation - Render a visual wave/ripple effect at the cursor coordinates.
MIT
