Tastenkürzel zum Senden von Textzeichenfolgen an das Programm

14

Wie kann ich eine Tastenkombination zum Senden einer Textzeichenfolge an das aktuelle Programm konfigurieren?

Der Zweck besteht darin, häufig verwendete Einträge schneller einzugeben (E-Mail-Adresse, Straße, Telefonnummer, Benutzername, Lieblingszitat usw.).

Ich brauche keine weitere Automatisierung, als nur den Text einzugeben.

Gentoo Linux (3.2.12-gentoo) Xfce Desktop-Umgebung (Version 4.8)

Steven
quelle

Antworten:

14

Ein einfacher Ansatz ist xdotool, wie

xdotool type 'text'
jw013
quelle
Das ist die halbe Lösung ... wie kann ich eine Tastenkombination zuweisen, um das auszuführen? Beim Erstellen einer Verknüpfung in den Xfce 4.8-Einstellungen funktionierte die Tastatur nicht.
Steven
@Steven Funktioniert das direkt von einem Terminal aus?
JW013
3
Ja. Außerdem sendet 'sleep 5 && xdotool type text' den Text an das "aktive" Fenster.
Steven
2
@Steven Ich habe Xfce schon eine Weile nicht mehr verwendet, aber meine nächste Vermutung ist, dass das aktive Fenster beim Ausführen des Befehls irgendwie falsch ist. Ich würde versuchen, xdotool getwindowfocussowohl von einem Terminal als auch als Tastaturkürzel auszuführen, während dasselbe Terminal geöffnet ist, und die Ergebnisse auf Gleichheit zu vergleichen. Wahrscheinlich müssen Sie die Tastaturkürzelversion in eine temporäre Datei umleiten, um sie anzuzeigen.
JW013
3
Ich benutze xbindkeys.
Mikel
6

Das xdotool funktioniert. Wenn Sie es jedoch in die Tastenkombination integrieren, schlägt ein einfacher xdotool-Typ 'text' fehl.

Das folgende Shell-Skript hat mir dabei geholfen

windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type 'text'
user1958007
quelle
2
Die Handbücher für xdotoolzeigen, dass es einen internen Schlaf hat. xdotool sleep 0.3 type 'Emotional 2003'genügt. (Der kurze Schlaf ist aus irgendeinem Grund notwendig, ich weiß nicht. Es scheint, als gäbe es einen kurzen Schalter des aktivierten oder fokussierten Fensters, wenn ein Befehl ausgeführt wird?)
k.stm
4

Sie können AutoKey verwenden . Hier ist die Beschreibung von der Website. „AutoKey ist ein Desktop-Automatisierungsprogramm für Linux und X11. Hiermit können Sie die Sammlung von Skripten und Phrasen verwalten und diesen Abkürzungen und Hotkeys zuweisen. Auf diese Weise können Sie ein Skript ausführen oder bei Bedarf Text in das von Ihnen verwendete Programm einfügen. “

Soweit ich das beurteilen kann, ist es für Gentoo ( hier angekündigt ) gepackt. für Ubuntu ( hier ); Debian ( hier ) ...

Olivier Cailloux
quelle
0

Einzeiler , der bei mir funktioniert hat (gestohlen aus dem Kommentar von k.tsm)

xdotool sleep 0.3 type 'string that you want to type / paste'

Weisen Sie diesem Befehl dann in KDE eine Verknüpfung zu, und nachdem Sie auf die Verknüpfung geklickt haben, wird der gewünschte Text auf magische Weise für Sie eingegeben.

user3804598
quelle