# Installation
For [Hyprland](/getting-started/installation/hyprland.md) and [Plasma Wayland](/getting-started/installation/kwin.md), 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](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.
:::{list-table}
:header-rows: 1
* -
- GNOME
- Hyprland
- Plasma (Wayland)
- Plasma (Wayland, X11)
- Other (Wayland)
- Other (X11)
* - InputActions implementation
- [Standalone](/getting-started/installation/standalone.md) + extension
- [Hyprland](/getting-started/installation/hyprland.md) (compositor plugin)
- [KWin](/getting-started/installation/kwin.md) (compositor plugin)
- [Standalone](/getting-started/installation/standalone.md) + script
- [Standalone](/getting-started/installation/standalone.md)
- [Standalone](/getting-started/installation/standalone.md)
* -
-
-
-
-
-
-
* - **General**
-
-
-
-
-
-
* - Multi-session support
- ✅[1]
- ✅
- ✅
- ✅[1]
- ✅[1]
- ✅[1]
* - Compatibility with other input tools
- ?[2]
- ✅[3]
- ✅[3]
- ?[2]
- ?[2]
- ?[2]
* -
-
-
-
-
-
-
* - **[InputAction](/actions/input.md)**
-
-
-
-
-
-
* - Keyboard text action
- ❌
- ✅
- ✅
- ❌
- ❌
- ❌
* -
-
-
-
-
-
-
* - **Touchpad**
-
-
-
-
-
-
* - Accelerated gestures
- ✅
- ❌
- ❌
- ✅
- ✅
- ✅
* -
-
-
-
-
-
-
* - **Touchscreen**
- ✅
- ✅
- ✅ (6.5+)
- ✅
- ✅
- ✅
* - Window under fingers info
- ❌
- ✅
- ✅
- ❌
- ❌
- ❌
* -
-
-
-
-
-
-
* - **[Variables](/variables.md)**
-
-
-
-
-
-
* - ``cursor_shape``
- ❌
- ✅
- ✅
- ❌
- ❌
- ❌
* - ``plasma_overview_active``
- ❌
- ❌
- ✅
- ❌
- ❌
- ❌
* - pointer position variables
- ✅
- ✅
- ✅
- ✅
- ❌
- ❌
* - ``screen_name``
- ❌
- ✅
- ✅
- ❌
- ❌
- ❌
* -
-
-
-
-
-
-
* - **Windows**
-
-
-
-
-
-
* - Active window info
- ✅
- ✅
- ✅
- ✅
- [wlr foreign toplevel management](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1) required
- ❌
* - Window under pointer info
- ✅
- ✅
- ✅
- ✅
- ❌
- ❌
* - Window resource class
- ✅
- ✅
- ✅
- ✅
- [wlr foreign toplevel management](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1) required
- ❌
* - Window resource name
- ✅
- ❌
- ✅
- ✅
- ❌
- ❌
* - Window fullscreen state
- ✅
- ❌
- ✅
- ✅
- [wlr foreign toplevel management](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1) required
- ❌
* - Window maximized state
- ✅
- ✅
- ✅
- ✅
- [wlr foreign toplevel management](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1) required
- ❌
* - Window PID
- ✅
- ✅
- ✅
- ✅
- ❌
- ❌
* - Window title
- ✅
- ✅
- ✅
- ✅
- [wlr foreign toplevel management](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1) required
- ❌
:::
1. Each virtual terminal has its own InputActions session.
2. 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.
3. 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.
```{toctree}
:maxdepth: 1
:hidden:
Hyprland
KWin
Standalone
```