web-dev-qa-db-ja.com

xbindkeysにその修飾子をxteのものから分離させるにはどうすればよいですか?

.xbindkeysrcでこのようにすると

"xte 'keydown Control_L' 'key W' 'keyup Control_L'"
    Shift + b:9

期待したctrl + wだけでなく、ctrl + shift + wのアクションを実行します。これを修正する方法はありますか? 2行目に+ Releaseを追加しても効果はありません。

1

xteはXTest拡張機能を使用し、基本状態から開始しようとするのではなく、現在の修飾子状態にリクエストを追加するだけです。 xdotoolなどの他のツールには--clearmodifiersオプションがあり、たとえば、必要なものを正確に取得できます。

修飾子の状態がShift_LまたはShift_Rが押されている場合、xbindkeysはリクエストに気付くため、これはxteが機能する状態です。シフトアップをエミュレートして、keyup Shift_Lで開始し、おそらくShift_Rで開始することにより、xteでこれをキャンセルできるはずです。後で実際のシフトアップは無視されます。または、シフトキーをもう一度押す必要がないように、シフト状態をxteアクションの終了時の状態に復元することもできますが、それはあなたのためです。選択します。

1
meuh