Linux-Bildschirmtastaturen sind alle nicht Wayland-kompatibel!

This commit is contained in:
hrnz 2022-02-09 02:09:20 +01:00
parent 9e6b9253a7
commit bb9558e7c5
1 changed files with 12 additions and 5 deletions

View File

@ -7,19 +7,26 @@ So kann man schnell nachschauen, wo ein bestimmtes Zeichen zu finden ist, ohne d
Unter Windows ist eine Bildschirmtastatur direkt in [ReNeo](../Einrichtung/reneo.md#bildschirmtastatur) integriert. Dort wird sie mit ++Mod3+F1++ aktiviert. Dies gilt gleichermaßen bei der Verwendung von [kbdneo](../Einrichtung/kbdneo.md) / ReNeo.
## Linux
Für [Linux](../Einrichtung/Linux.md) gibt es bislang vier Programme, die die Tastatur am Bildschirm anzeigen:
Für [Linux](../Einrichtung/Linux.md) mit X11 gibt es bislang unter anderem folgende Programme, die die Tastatur am Bildschirm anzeigen:
* **[OSD Neo2](https://htgoebel.gitlab.io/OSD-Neo2/)** kann alle sechs Neo-Ebenen anzeigen und die dargestellte Ebene wechselt beim Drücken von Mod-Tasten. Das Programmfenster kann verschoben und in das Benachrichtigungsfeld (Tray) versteckt werden. Das Programm ist in Python-GTK geschrieben und damit auf allen Linux-Systemen ohne Aufwand zu installieren.
* **[NeoLayoutViewer](https://github.com/YggdrasiI/NeoLayoutViewer)**: Das Programm kann alle sechs Neo-Ebenen anzeigen und die dargestellte Ebene wechselt beim Drücken von Mod-Tasten. Per frei wählbarer Tastenkombination kann das Programmfenster ein- und ausgeblendet oder verschoben werden. Außerdem kann das Programm als virtuelle Tastatur verwendet werden. Es basiert ebenfalls auf GTK.
* **kvkbd**: KDE-Programm, bindet sich aber auch in Gnome schön ein. Ist aber eigentlich als virtuelle Bildschirmtastatur gedacht, um Zeichen ohne Tastatur einzugeben. Kann leider nur die Neo-Ebenen 1 und 2 anzeigen.
* **onboard**: GTK-Programm, nur unter Gnome ausprobiert, wo es gut reinpasst. Kann leider nur die Neo-Ebenen 1 und 2 anzeigen.
??? bug "Entwicklung einer BST für Linux"
Ideal für Neo wäre ein möglichst schlankes Programm, das die Neo-Tastatur anzeigt und zwar so wie NeoVars das macht in Abhängigkeit der gedrückten Mods.
!!! bug "Entwicklung einer BST für Wayland"
Die oben genannten Programme funktionieren alle nur mit X11 richtig.
Das Wayland-Protokoll sieht nicht vor, dass ein Client ohne weiteres alle Tastaturevents mitlesen kann.
Das ist aber zum Wechsel der Ebenen beim Drücken von Modifizierern so wie ReNeo das macht erforderlich.
Es sollte möglichst schnell reagieren, am Besten eine Art OSD-Modus nutzen (um transparent zu sein), per Hotkey aktivierbar sein und evtl. noch Zusatzfunktionen (ähnlich zu wiemitneo) unterstützen. Durch das OSD wäre es auch weitgehend unabhängig von der Desktop-Umgebung und man könnte unter Umständen Abhängigkeiten wie von Qt oder GTK+ vermeiden.
Eine ideale Bildschirmtastatur sollte möglichst schnell reagieren, am Besten eine Art OSD-Modus nutzen (um transparent zu sein), per Hotkey aktivierbar sein und evtl. noch Zusatzfunktionen (ähnlich zu wiemitneo) unterstützen. Durch das OSD wäre es auch weitgehend unabhängig von der Desktop-Umgebung und man könnte unter Umständen Abhängigkeiten wie von Qt oder GTK+ vermeiden.
Eventuell ließe sich das mittels XOSD oder anderer Mittel programmieren?
Folgende Ansätze sind denkbar:
* direktes Lesen von Eingabegerät funktioniert mit jedem Programm und allen Desktops, benötigt aber zusätzliche Privilegien, da normale Benutzer keine Zugriffsrechte auf Eingabegeräte haben. Der Compositor bekommt Dateideskriptoren von `logind` über die `TakeDevice`-Busmethode, gibt diese aber in der Regel nicht an Clients weiter.
* Verwendung des `text-input-method`-Protokolls als IME funktioniert nur mit Kooperation des Clients (sollte bei allen Toolkits bei Texteingaben kein Problem sein, bei Tastaturshortcuts werden aber Modifiziererdrücke nicht erkannt werden). Nicht mit anderen IMEs kombinierbar.
* direkte Integration in den Compositor (als Erweiterung) offensichtlich Compositor-abhängig. Gnome besitzt bereits eine eingebaute Bildschirmtastatur, diese scheint jedoch nicht die eingestellte Tastaturbelegung zu respektieren und nicht bei Modifiziererdrücken die Ebene zu wechseln.
Automatisch immer im Vordergrund zu sein könnte man mit dem `layer-shell`-Protokoll realisieren. Dieses wird allerdings nicht von Gnome unterstützt.
## macOS
Bei einem [Mac](../Einrichtung/macOS.md) lässt sich eine Bildschirmtastatur über den Punkt „Tastaturübersicht“ in der Menüleiste auswählen, siehe auch [Verwenden der Tastaturübersicht auf dem Mac](https://support.apple.com/de-de/guide/mac-help/mchlp1015/mac).