Für Ubuntu 18.04.
Ich hatte zwei Tage mit diesem Problem zu kämpfen. Ich habe alle hier aufgeführten Methoden ausprobiert. Und es sieht so aus, als hätte ich eine Lösung gefunden. Aber es ist sehr instabil und hat Fehler.
Die Grundidee ist folgende: in den Systemeinstellungen können Sie den Befehl angeben , die von der gestartet wird Ctrl+ Shift+ UTastenkombination.
Hinweis: Wenn Sie false
als Befehl angeben , funktioniert die Kombination überhaupt nicht.
Wir können jedoch den Pfad zum Skript als Befehl angeben, in dem wir das Drücken derselben Tastenkombination simulieren.
Um Tastatureingaben zu simulieren, habe ich das xdotool
( apt install xdotool
) und das xte
( apt install xautomation
) ausprobiert . Beide Optionen waren instabil. Hat xte
sich jedoch für mich als flexibler herausgestellt.
Beispiel mit xte
- Erstellen Sie eine Datei
/home/username/shortcut.sh
- Berechtigung zum Ausführen hinzufügen:
chmod u+x /home/username/shortcut.sh
- Geben Sie den Pfad zum Skript als Befehl für die Tastenkombination Ctrl+ Shift+ Uin den Tastatureinstellungen an
Hier ist ein Beispielskript:
#!/bin/sh
# Make a small delay in order to have time to release the keys.
sleep 0.2
# Simulate the release of just pressed keys, if they are still pressed.
xte 'keyup u' 'keyup Shift_L' 'keyup Control_L'
# Hack: Caps_Lock is used so that the system does not intercept this combination.
# You can try to remove it if it hinders you.
xte 'key Caps_Lock'
# Simulate pressing a key combination
xte 'keydown Shift_L' 'keydown Control_L' 'key u'
# Simulate releasing a key combination
xte 'keyup Shift_L' 'keyup Control_L'
# Restore Caps_Lock to the previous state.
xte 'key Caps_Lock'
Ich habe dies in PhpStorm 2018.2 EAP Build # PS-182.3458.35 getestet und ich kann sagen, dass es funktioniert, aber mit einigen Einschränkungen:
- das funktioniert langsam (auf meinem eher alten PC)
- Während der Ausführung des Skripts ist es besser, keine Taste zu drücken
- manchmal kann es nicht funktionieren
- manchmal kann es in eine Endlosschleife eintreten. Aus diesem Grund ist es besser, dem Skript, das das Skript bereits ausführt, eine Überprüfung hinzuzufügen.
Wenn Sie diese Kombination nicht häufig verwenden, ist diese Lösung im Allgemeinen die richtige für Sie.
Aber wahrscheinlich wird jemand eine bessere und stabilere Lösung finden.
Ich hoffe diese Idee hilft jemandem.