Installation¶
For Hyprland and Plasma Wayland, the compositor plugins are recommended, as currently they are the most reliable. It is necessary to rebuild them on every compositor update.
For other environments (including those mentioned above) there is a standalone implementation that operates at evdev level. It is still a work in progress.
Feature comparison¶
This table only lists features that are not available in all implementations.
GNOME |
Hyprland |
Plasma (Wayland) |
Plasma (Wayland, X11) |
Other (Wayland) |
Other (X11) |
|
|---|---|---|---|---|---|---|
InputActions implementation |
Standalone + extension |
Hyprland (compositor plugin) |
KWin (compositor plugin) |
Standalone + script |
||
|
||||||
General |
||||||
Multi-session support |
✅[1] |
✅ |
✅ |
✅[1] |
✅[1] |
✅[1] |
Compatibility with other input tools |
?[2] |
✅[3] |
✅[3] |
?[2] |
?[2] |
?[2] |
|
||||||
Keyboard text action |
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
|
||||||
Touchpad |
||||||
Accelerated gestures |
✅ |
❌ |
❌ |
✅ |
✅ |
✅ |
|
||||||
Touchscreen |
✅ |
✅ |
✅ (6.5+) |
✅ |
✅ |
✅ |
Window under fingers info |
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
|
||||||
|
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
|
❌ |
❌ |
✅ |
❌ |
❌ |
❌ |
pointer position variables |
✅ |
✅ |
✅ |
✅ |
❌ |
❌ |
|
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
|
||||||
Windows |
||||||
Active window info |
✅ |
✅ |
✅ |
✅ |
wlr foreign toplevel management required |
❌ |
Window under pointer info |
✅ |
✅ |
✅ |
✅ |
❌ |
❌ |
Window resource class |
✅ |
✅ |
✅ |
✅ |
wlr foreign toplevel management required |
❌ |
Window resource name |
✅ |
❌ |
✅ |
✅ |
❌ |
❌ |
Window fullscreen state |
✅ |
❌ |
✅ |
✅ |
wlr foreign toplevel management required |
❌ |
Window maximized state |
✅ |
✅ |
✅ |
✅ |
wlr foreign toplevel management required |
❌ |
Window PID |
✅ |
✅ |
✅ |
✅ |
❌ |
❌ |
Window title |
✅ |
✅ |
✅ |
✅ |
wlr foreign toplevel management required |
❌ |
Each virtual terminal has its own InputActions session.
InputActions will conflict with any program that grabs input devices and creates virtual ones. Virtual input devices created by InputActions need to be blacklisted in such tools if possible. InputActions can be configured to ignore and not grab specific devices in order to let other tools process their events first.
InputActions blocks input events in the compositor. Event generation also occurs in the compositor and tools operating at evdev level do not receive such events.