Dieser xte
Befehl löst, wenn ich ihn in einem Terminal ausführe, den Expo-Modus aus:
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Wenn ich dies jedoch in meine .xbindkeysrc-Datei lege:
"xte 'keydown Super_L' 'key S' 'keyup Super_L'"
b:11
Wenn ich auf die Schaltfläche klicke, passiert nichts. Mit der folgenden Bindung wird der Buchstabe X in meiner Konsole angezeigt, wenn ich die Taste 11 drücke:
"xte 'key X'"
b:11
Warum funktioniert die Expo-Bindung nicht?
Dies ist die ausführliche Ausgabe von, xbindkeys -n -v
wenn Sie auf Schaltfläche 11 klicken:
Knopfdruck! e.xbutton.button = 11 e.xbutton.state = 16 xte 'keydown Super_L' 'key W' 'keyup Super_L' " m: 0x0 + b: 11 (Maus) habe Bildschirm 0 für Fenster 2bb Starten Sie das Programm mit fork + exec Knopf loslassen! e.xbutton.button = 11 e.xbutton.state = 16
Und nichts passiert. Hat dies etwas mit der Art und Weise zu tun, wie xbindkeys
der Befehl ausgeführt wird? (Fork + Exec-Aufruf)
Versuch Nummer zwei.
expo.sh:
#!/usr/bin/env bash
export DISPLAY=:0
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Durch Ausführen dieses Skripts über die Befehlszeile wird Expo aktiviert. Binden in xbindkeys:
"sh ~/expo.sh"
b:11
Mausklick 11:
Knopfdruck! e.xbutton.button = 11 e.xbutton.state = 16 "sh ~ / expo.sh" m: 0x0 + b: 11 (Maus) habe Bildschirm 0 für Fenster 2bb Starten Sie das Programm mit fork + exec
Nichts passiert!
'keydown Super_L' 'keydown S' 'keyup S' 'keyup Super_L'
.