Openbox
如何在 Openbox 中製作涉及 xdotool 的鍵綁定?
我通過登錄 Openbox 會話執行 Openbox 3.5.2(在 Lubuntu 13.10 上)。
在 Openbox 會話中,如果我
xdotool mousemove 1000 5 click 3
從終端執行,滑鼠游標會移動到桌面上指定的空白位置;然後執行滑鼠右鍵點擊,打開 Openbox 的右鍵菜單。所以我做了以下鍵綁定
~/.config/openbox/rc.xml
:<keybind key="W-space"> <action name="Execute"> <command>xdotool mousemove 1000 5 click 3</command> </action> </keybind>
並重新配置 Openbox。但是當我按下
super
+時,spacebar
我看到的只是滑鼠游標移動到指定位置;沒有出現右鍵菜單。如何使右鍵菜單出現?
你應該試著等到
mousemove
完成,如果你的系統很慢,有時事情會不同步。您可以延遲(使用sleep
或xdotool
自己的--delay
。這總是會延遲和減慢速度。因此,您應該首先嘗試:xdotool mousemove --sync 1000 5 click 3
如果
--sync
不需要做任何事情,就不會等待。如果這沒有幫助,您總是可以額外延遲sleep
:xdotool mousemove --sync 1000 5 sleep 0.2 xdotool click 3
問題是 click 在你 release 之前執行
super
,Openbox 區分 click 和modifier
+click。最乾淨的解決方案是用於xdotool
發送 keyup 事件:xdotool mousemove 1000 5 keyup Super_L click 3
sleep
只要您在返回super
之前釋放,按照 Timo 的建議使用也可以使用sleep
(因此命中或未命中成功與較低的睡眠值)。雖然可能與您的情況無關,但如果您想在返回
super
後立即執行另一個擊鍵xdotool
,而不釋放和重新按下鍵,您可以稍後在命令中放置一個 keydown 事件。在我的測試中,我無法比xdotool
執行更快地釋放密鑰,而 keydown 事件有助於確保預期的行為。