.xbindkeysrc
でこのようにすると
"xte 'keydown Control_L' 'key W' 'keyup Control_L'"
Shift + b:9
期待したctrl + wだけでなく、ctrl + shift + wのアクションを実行します。これを修正する方法はありますか? 2行目に+ Release
を追加しても効果はありません。
xte
はXTest拡張機能を使用し、基本状態から開始しようとするのではなく、現在の修飾子状態にリクエストを追加するだけです。 xdotool
などの他のツールには--clearmodifiers
オプションがあり、たとえば、必要なものを正確に取得できます。
修飾子の状態がShift_L
またはShift_R
が押されている場合、xbindkeys
はリクエストに気付くため、これはxte
が機能する状態です。シフトアップをエミュレートして、keyup Shift_L
で開始し、おそらくShift_R
で開始することにより、xte
でこれをキャンセルできるはずです。後で実際のシフトアップは無視されます。または、シフトキーをもう一度押す必要がないように、シフト状態をxte
アクションの終了時の状態に復元することもできますが、それはあなたのためです。選択します。