Seit längerer Zeit verwende ich zur Verwaltung von Zugangsdaten und
Kennwörtern das Tool KeePassX. Ein tolles Feature ist die
Auto-Type-Funktion
.
Wenn man sich z.B. auf einer Webseite anmelden möchte, so klickt man in
das erste Eingabefeld und drückt eine spezielle Tastenkombination (z.B.
STRG+ALT+A). Dann füllt KeePassX die Eingabefelder selbst aus. KeePassX
muß hierfür im Hintergrund laufen und das Auto-Type-Feature aktiviert
sein.
Leider gibt es bei vielen Nutzern Probleme,
wenn man ein nicht amerikanisches Tastatur-Layout oder gar mehrere
Tastatur-Layouts verwendet, zwischen denen man umschaltet. So kann es
vorkommen, daß KeePassX falsche Zeichen in die Eingabefelder eingibt.
Das Problem tritt wohl ausschließlich bei Linux-Usern
auf.
Nun ist es so, daß KeePassX zur Erzeugung der "künstlichen Tastatureingaben" das Programm xdotool verwendet. Nach diesem Thread zu urteilen, kann es unter bestimmten Umständen sein, daß xdotool nicht in der Lage ist, korrekt das aktuelle Tastatur-Layout zu ermitteln. Häufig reicht es, in den Einstellungen diejenigen Tastatur-Layouts zu löschen, die nicht benötigt werden ( siehe hier ). In dem Thread habe ich aber einen einfacheren Workaround gefunden. Wenn man das Tastatur-Layout mit dem Kommandozeilen-Tool setxkbmap setzt, funktioniert xdotool wieder richtig - und damit auch die Auto-Type-Funktion in KeePassX.
Vor Anwenden des Workarounds produziert xdotool bei mir z.B. folgende Ausgabe:
Jetzt wenden wir den Workaround an (deutsches Tastatur-Layout setzen):
Und jetz wieder xdotool (nun mit richtiger Ausgabe):
Damit das Tastatur-Layout auf diese Weise bei jedem Neustart des X-Servers gesetzt wird, habe ich die Zeile "/usr/bin/setxkbmap de" in die Datei ~/.xinitrc eingetragen.