Preface: From Almost Giving Up to Finally Being Able to Type
Honestly, this article was written when I was very close to giving up on using an on-screen keyboard under KDE Plasma Wayland.
On Debian 13 with KDE Plasma 6 running on Wayland, the only officially supported virtual keyboard is Maliit.
In practice, however, it comes with a series of nearly deal-breaking problems:
- The keyboard only appears once
- After swiping it down, it can never be summoned again
- Requires restarting KWin or the entire desktop session
- Completely unsuitable for real tablet or 2-in-1 usage
After digging through GitHub issues and KDE Discuss threads, I honestly started to think:
“Maybe choosing KDE Wayland on a touch device is simply a dead end.”
That changed when I found a KDE Discuss thread from 2022:
Plasma 6 and Wayland no on-screen keyboard working - Help - KDE Discuss
In that thread, a user named @INVICTRA mentioned:
I managed to get Onboard working on wayland. Kubuntu 25.04
Edit the shortcut and add
GDK_BACKEND=x11
Set input source to GTK
Set keystroke generator to uinput
The post was short and incomplete, but it revealed something important:
Onboard + X11 backend + uinput might be the real breakthrough.
With that clue, I started experimenting, filling in the missing pieces: kernel modules, permissions, udev rules, and Wayland constraints.
In the end, I successfully achieved a stable, repeatable, non-freezing virtual keyboard on:
Debian 13 + KDE Plasma 6 + Wayland
This article is the fully documented result of that process.
1. Why This Is Necessary (Background)
- As of late 2025, KDE Plasma Wayland officially supports only Maliit
- Maliit currently suffers from severe bugs on Plasma (cannot be re-opened after hiding)
- Wayland intentionally forbids synthetic input (fake keyboard/mouse events)
- Onboard can create a real input device via the Linux kernel uinput subsystem
- uinput devices are kernel-level input devices and are not blocked by Wayland
In short:
Wayland does not allow you to fake keystrokes,
but uinput lets you attach a real virtual keyboard.
Under Debian + KDE Plasma Wayland today,
this is practically the only solution that actually works.
2. System Requirements
- Debian GNU/Linux 13
- KDE Plasma 6
- Wayland session
- XWayland installed (usually installed by default)
- User has sudo privileges
3. Install Required Packages
sudo apt update
sudo apt install onboard xwayland
4. Enable the Kernel uinput Module
1. Check if uinput is loaded
lsmod | grep uinput
If there is no output, load it manually:
sudo modprobe uinput
2. Enable uinput at boot
echo uinput | sudo tee /etc/modules-load.d/uinput.conf
5. Configure uinput Permissions (Critical Step)
1. Create the group
sudo groupadd -f uinput
2. Add your user to the group (example: hln)
sudo usermod -aG uinput hln
Important: You must log out or reboot after this step.
3. Create a udev rule
sudo nano /etc/udev/rules.d/99-uinput.rules
Contents:
KERNEL=="uinput", MODE="0660", GROUP="uinput"
Reload rules:
sudo udevadm control --reload
sudo udevadm trigger
4. Verify After Reboot
ls -l /dev/uinput
Expected output:
crw-rw---- 1 root uinput /dev/uinput
Confirm group membership:
groups
You should see uinput.
6. Launch Onboard Using the X11 Backend (Very Important)
Under Wayland, Onboard must be forced to use the X11 backend:
GDK_BACKEND=x11 onboard
It is recommended to test this first in a terminal.
7. Required Onboard Settings
Open Onboard → Preferences → Keyboard → Advanced
Set the following:
-
Input Options
- Input event source: GTK
-
Keystroke Generation
- Key-stroke generator: uinput
If you previously tried uinput and it did not work,
you must re-test after completing the permission setup.
8. Verification
- Open a text-input application (Kate / Firefox / Konsole)
- Focus a text field
- Click keys on Onboard
Successful behavior:
- Text appears in the application
- Keyboard can be shown and hidden repeatedly
- No need to restart KWin
- No freezing or dead state
- Completely avoids Maliit bugs
9. Create a Desktop Launcher (Recommended)
nano ~/.local/share/applications/onboard-x11.desktop
Contents:
[Desktop Entry]
Name=Onboard (Wayland Safe)
Exec=env GDK_BACKEND=x11 onboard
Type=Application
Icon=onboard
Categories=Utility;Accessibility;
You can now:
- Pin it to the KDE panel
- Place it on the desktop
- Use it as a one-click virtual keyboard launcher
10. Limitations and Notes
Known Limitations
- Does not work on the SDDM login screen
- Not Wayland-native (runs via XWayland)
- Elevated input permissions (recommended for personal devices only)
Advantages
- No swipe-down freeze issue
- Full Ctrl / Alt / Function key support
- Works with Fcitx5 (Chewing / Zhuyin)
- Compatible with Synergy / KVM
- Stable for long-term use
11. Reverting the Setup (Optional)
sudo rm /etc/udev/rules.d/99-uinput.rules
sudo gpasswd -d hln uinput
sudo reboot
12. Conclusion
On Debian 13 with KDE Plasma Wayland:
Onboard + uinput is currently the only virtual keyboard solution that truly works.
It is not an official or perfect solution,
but KDE is a volunteer-driven community, and expectations should remain realistic.
What matters most is that the problem is solved:
I can now use a keyboard-less tablet to type Taiwanese Mandarin with Zhuyin or English and actually get work done.
https://github.com/mdev588/vboard also works
Thank you! This was helpfull.
Very detailed and helpful guide. Thank you very much for your effords.
Unfortunately it is not working under the current Debian Testing “Forky” distribution.
It’s not giving me any error message, it’s just not typing anything.
Looks like Onboard has had it’s time.
Cheers