staging.inyokaproject.org

Tastatur: Zuordnung fehlender Taste mit Wayland

Status: Ungelöst | Ubuntu-Version: Kubuntu 25.04 (Plucky Puffin)
Antworten |

realsuamor

Avatar von realsuamor

Anmeldungsdatum:
16. Mai 2010

Beiträge: Zähle...

Ich habe mir vor kurzem eine ANSI Tastatur mit deutschen Tasten (keycaps) gekauft (AK820 Pro). Die Tastatur funktioniert einwandfrei.

Ich verwende Plasma / KDE Desktop (Update von (K)Ubuntu 24.04 → 24.10 → 25.04)

Bei der Kombination wayland + gtk3/gtk4 Programmen kann die Einstellung von GTK_IM_MODULE falsch sein. Diese kann man lokal beheben (Ändern der Umgebungsvariable) oder global mit dem Werkzeug "im-config". Falls dort "xim" oder etwas anderes steht, sollte das auf "ibus" geändert werden.

Damit funktionieren dann die Umlaute u.a. Sonderzeichen, bspw € Symbol.

Nun zu meinem Problem:

Die ANSI Tastatur hat eine Taste weniger in der vorletzten Reihe als eine deutsche ISO Tastatur. Das ist für Nicht-Programmierer wenig relevant, mir jedoch fehlt vor allem "|" (Pipe-Symbol).

Ich habe bisher keine andere Kombination gefunden (FN / Compose) um das Zeichen zu erzeugen. Daher habe ich mich entschlossen Umschalt-Lock (auch Caps-Lock / Shift Lock genannt) zu entfernen.

Ich habe verschiedene Wayland Werkzeuge für das Neuzuordnen gesehen (ydotool, wktype), diese funktionieren bei mir jedoch nicht so wirklich (wktype inkompatibel, ydotool Server startet nicht, udev Regeln??)

Außerdem habe ich nur wdev gefunden, um Tasten-Zuordnungen zu prüfen. Bei den KDE Tastatureinstellungen ist es sehr mühsam, die bestehenden Zuordnungen zu finden. (bspw. F13 ist den "Werkzeugen" zugeordnet, aber dafür finde ich die Einstellung nicht)

Leider funktionieren die xorg / x11 Werkzeuge für Tasten-Zuordnung bei mir nicht mit wayland-0 als display.

Meine aktuelle Lösung für die Neuzuordnung ist "input-remapper". Mit der UI "input-remapper-gtk" kann ich neue Zuordnungen erstellen, gezielt und ausschließlich für die AK820 Pro Tastatur.

Damit habe ich "CAPSLOCK" auf "KEY_102ND" zugeordnet und kann so die Zeichen < > | über Umschalt-Lock eingeben.

Weitere Ideen herzlich willkommen. Ich poste auch gerne die json Konfiguration von input-remapper.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

realsuamor schrieb:

Ich habe mir vor kurzem eine ANSI Tastatur

also mit Tastenbelegung US-Englisch, aber …

mit deutschen Tasten (keycaps) gekauft (AK820 Pro)

… das verstehe ich dann nicht.

[…] mir jedoch fehlt vor allem "|" (Pipe-Symbol)

Bei einer US-Tastatur sollte man als Tatztaturbelegung auch US-Englisch definieren. Dann liegt das Zeichen | zusammen mit dem fallenden Schrägstrich auf der Taste über der Eingabetaste.

Standardlösung bei Verwendung einer ANSI-Tastatur (US): Umlaute gibt man über eine Compose-Taste ein, z.B. ä aus Taste A und Taste :.

sh4711

Anmeldungsdatum:
13. Februar 2011

Beiträge: 1201

realsuamor schrieb:

... Meine aktuelle Lösung für die Neuzuordnung ist "input-remapper". Mit der UI "input-remapper-gtk" kann ich neue Zuordnungen erstellen, gezielt und ausschließlich für die AK820 Pro Tastatur.

Damit habe ich "CAPSLOCK" auf "KEY_102ND" zugeordnet und kann so die Zeichen < > | über Umschalt-Lock eingeben.

sezanzeb/input-remapper hätte ich dir auch empfohlen. Aber wenn nun alles funktioniert, wo ist das Problem, oder ist mir etwas durchgegangenen?

realsuamor

(Themenstarter)
Avatar von realsuamor

Anmeldungsdatum:
16. Mai 2010

Beiträge: 207

sh4711 schrieb:

realsuamor schrieb:

... Meine aktuelle Lösung für die Neuzuordnung ist "input-remapper". Mit der UI "input-remapper-gtk" kann ich neue Zuordnungen erstellen, gezielt und ausschließlich für die AK820 Pro Tastatur.

Damit habe ich "CAPSLOCK" auf "KEY_102ND" zugeordnet und kann so die Zeichen < > | über Umschalt-Lock eingeben.

sezanzeb/input-remapper hätte ich dir auch empfohlen. Aber wenn nun alles funktioniert, wo ist das Problem, oder ist mir etwas durchgegangenen?

Teilweise. Das Problem mit dem Zuordnen ist behoben. Ich habe aber keinen Weg gefunden, bestehende Zuordnungen anzusehen.

Das Keyboard hat diverse Belegungen mit FN, z.B. EMail, Lautstärke, Song starten etc. Teile davon möchte ich auf die "erweiterten" F-Tasten (F13 - F24) legen.

Ich möchte wissen, welche davon bereits belegt sind. Sonst starte ich nicht nur eine App, sondern gleichzeitig noch Einstellungen → F13, wenn ich das verwenden möchte.

Zur Tastatur:

Ja, es es ist eine englische Tastatur gewesen. Ich habe dazu deutsche Tastenkappen gekauft. Also ist das jetzt quasi eine deutsche ANSI-Tastatur.

Ich hatte vor längerer Zeit eine deutsche ANSI-Tastatur, die hatte die "<" / ">" Taste. Da wurde wie bei ISO die Shift-Taste verkleinert.

sh4711

Anmeldungsdatum:
13. Februar 2011

Beiträge: 1201

realsuamor schrieb:

... Das Keyboard hat diverse Belegungen mit FN, z.B. EMail, Lautstärke, Song starten etc. Teile davon möchte ich auf die "erweiterten" F-Tasten (F13 - F24) legen.

Ich möchte wissen, welche davon bereits belegt sind. Sonst starte ich nicht nur eine App, sondern gleichzeitig noch Einstellungen → F13, wenn ich das verwenden möchte. ...

Sei mir bitte nicht böse, aber ich verstehe es anscheinend immer noch nicht.
Wenn du wissen möchtest ob F13 bis F24 belegt sind, dann drücke diese und schau was passiert bzw. nutze "input-remapper-gtk" und belege die Tasten und schaue was passiert. Eine Taste wird keine zwei Funktionen erhalten.

Bitte teste es und beschreibe dein Vorgehen und was genau nicht funktioniert, wenn es nicht funktioniert.

Normalerweise sollte es so funktionieren:

  • input-remapper-gtk öffnen

  • wähle deine ISO-Tastatur [x]

  • New Presets [x]

  • drücke "+Add"

  • drücke "Record"

  • drücke F13

  • im Bereich Output wähle Keyboard und gib als Aktion den Code deiner Wunschtaste ein z.B. "KEY_DOWN"

  • das ganze mit allen anderen Tasten ausführen und dann "Speichern"

  • dann "Apply" zum Testen und "Stop" zum Zurücksetzen

Anstelle von "KEY_DOWN" benutzt du z.B. "GDK_KEY_Mail". Das habe ich jetzt im Detail nicht getestet, aber sollte rein theoretisch funktionieren. Die Tastatursymbolnamen kann man der Datei gdkkeysyms.h entnehmen.

Gruß sh

sh4711

Anmeldungsdatum:
13. Februar 2011

Beiträge: 1201

Ach, vergessen:
realsuamor schrieb:

... Ich habe aber keinen Weg gefunden, bestehende Zuordnungen anzusehen. ...

Wenn du "Rocord" drückst, wird dir doch die Zuordnung angezeigt. Bsp. drücke "F12" und es erscheint "F12".

Gruß sh

realsuamor

(Themenstarter)
Avatar von realsuamor

Anmeldungsdatum:
16. Mai 2010

Beiträge: 207

Also ich hoffe, daß es jetzt klarer wird:

Ich möchte bspw. FN+12 neu belegen.

Nun habe ich zwei Möglichkeiten, die Funktion direkt aufzurufen (Remapper) oder indirekt (Function Key, F13).

Damit kann habe ich die Möglichkeit, die gleiche Funktion mit einer anderen Tastatur auf anderem Wege ebenfalls aufzurufen (bspw. FN+F9).

Ich gebe zu, daß dies ein ungewöhnlicher Fall ist. Besser wäre es sicher, die FN-Belegung komplett neu zu mappen wie es bei der Notebook-Tastatur der Fall ist.

Mapping ansehen:

Es stimmt, daß ich ein bestehendes Mapping für die Tastatur mit remapper anschauen kann.

Ein bestehendes Mapping wird bei mir allerdings nicht angezeigt. Ob es mit wev funktioniert, habe ich noch nicht geprüft, dazu müsste ich bereits F13 auf FN+F12 legen.

Vielleicht zeigt mir dann wev an, welche Funktion aufgerufen wird.

Auf jeden Fall wäre eine Übersicht über die Belegung ohne "Ausprobieren" angenehmer.

sh4711

Anmeldungsdatum:
13. Februar 2011

Beiträge: 1201

realsuamor schrieb:

... Vielleicht zeigt mir dann wev an, welche Funktion aufgerufen wird.

Auf jeden Fall wäre eine Übersicht über die Belegung ohne "Ausprobieren" angenehmer.

Mir ist kein Weg bekannt das ohne ausprobieren zu erreichen, z.B. wie du erwähnt hast mittels wev.
Unter x konnte man sich mit xmodmap -pk eine Liste aller Keycodes und der jeweiligen Aktionen anzeigen lassen. Eine alternative hierzu gibt es systembedingt glaube ich nicht bei Wayland (wenn jemand mehr weiß, bitte mich korrigieren, danke). Aber auch bei X müsste man mit xev den Keycode der Taste ermitteln, da man diesen ja sonst in der xmodmap Auflistung nicht finden könnte. Tut mir leid wenn ich dir da keine bessere Antwort gebe kann.

Gruß SH

Antworten |