Ich habe ein kleines Problem. Ich wollte einige Hotkeys neu zuordnen, die ich von meinem vorherigen System gewohnt bin, aber ich kann es nicht richtig zum Laufen bringen xbindkeys
.
xbindkeys
erkennt die Kombination, aber irgendwie wird der Befehl nicht ausgelöst.
Wenn ich den Befehl benutze
xdotool key braceleft
Es gibt mir das richtige {
Zeichen in der Konsole aus. Wenn ich jedoch denselben Befehl in xbindkeys verwende, passiert nichts. Wenn ich den Befehl durch firefox
ihn ersetze , funktioniert er ordnungsgemäß und öffnet Firefox, also denke ich, xbindkeys
funktioniert.
Ich möchte Folgendes erreichen:
Ich möchte das Zeichen {
mit Alt_R+ 7oder Alt_Left+ Ctrl+ in das aktive Fenster
eingeben, 7damit ich beide verwenden kann. Ich weiß, dass Alt_R(AltGr) der richtige Weg ist, aber auf deutschen Tastaturen ist es irgendwie schwierig, das Braceleft mit der AltGr(Alt_R) -Taste einzugeben, sodass ich stattdessen Alt_L+ Control+ 7verwenden muss (wie ich es in meinem vorherigen System gewohnt war). Ich habe es irgendwie in 12.04 zum Laufen gebracht, aber ich kann es in 14.04 nicht zum Laufen bringen.
Irgendwelche Vorschläge? Ich habe mehrere Befehle ausprobiert. Alle von ihnen arbeiteten in der Konsole, aber keiner von ihnen funktionierte, wenn sie von xbindkeys ausgeführt wurden
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Dies ist meine Konfiguration, die nicht funktioniert
"xdotool key braceleft"
Control+Alt + 7
Dies funktioniert jedoch:
"firefox"
Control+Alt + 7
Lösungsbearbeitung
Als ich einige andere Dinge ausprobierte, bemerkte ich, dass xdotool zu früh auszulösen scheint. Ich habe die Konfiguration folgendermaßen geändert:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
JETZT sendet es das richtige {Zeichen an das aktive Fenster. Jetzt müssen Sie nur noch den Schlaf und die Verzögerung auf einen brauchbaren Wert reduzieren, da 1 Sekunde etwas zu lang erscheint :)
** Zusatzinfo ** Nun habe ich es geschafft, geeignete Werte zu finden. Dies funktioniert jedoch nur, wenn Sie die Tasten loslassen, bis die Schlafdauer abgelaufen ist. Wenn Sie zu langsam sind, funktioniert es nicht.
Dies ist meine aktuelle Konfiguration für alle unbequemen deutschen AltGr-Zeichen
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
Wenn Sie jedoch (zum Beispiel) mehrere @ -Zeichen eingeben möchten, müssen Sie Strg + Alt + Q wie vorgesehen drücken, aber alle Tasten loslassen und dann erneut drücken. Dies ist jedoch viel, viel besser, als nicht die Option Strg + Alt anstelle von AltGr zu haben, aber es ist nicht so effektiv, wie ich es auch verwendet habe. Vielleicht finde ich auch dafür eine Lösung.
xdotool
die Taste bei gedrückter Taste wiederholen können?
xdotool getactivewindow key Home