web-dev-qa-db-ja.com

xbindkeysを使用してメタキー(別名スーパーキー/ Windowsキー)を左クリックにバインドし、ドラッグアンドドロップを許可します

xbindkeys を使用してメタキー(別名 スーパーキー /Windowsキー)を左クリックにバインドする方法はありますか?メタキーを押すと左クリックがトリガーされ、メタキーを押し続けるとドラッグアンドドロップできるようになります(左クリックを押したときと同じように)。

2

これは可能です。以下は、スーパーキーを無効にして、マウスの左ボタンに再バインドします。マウスの左ボタンにバインドしながらスーパーキーの機能を維持したい場合は、 この質問 を確認してください。

修飾キーを使用してマウスまたはキーボードのイベントをトリガーすると、xbindkeysに問題があるようです。そのため、最初にxmodmapを使用してスーパーキーを非修飾キーに再バインドします。

まず、xbindkeys --keyを使用してスーパーキーのキーコードとkeysymを決定し、以下のコマンドでこれらの値を置き換えます。キーコード134とkeysymSuper_Rを示す出力例:

m:0x50 + c:134
Mod2+Mod4 + Super_R

モディファイアマップからスーパーキーを削除します。

xmodmap -e 'remove mod4 = Super_R'

スーパーキーを未使用のkeysym(この例ではF13)に再バインドします。

xmodmap -e 'keycode 134 = F13'

再バインドされたキーの自動繰り返しを無効にします。

xset -r 134

最後に、xdotoolをインストールし、以下を~/.xbindkeysrcに追加して、xbindkeysを構成します(xteまたはxdotoolの代わりに別の仮想入力プログラムを使用できます。 )::

"xdotool mousedown 1"
  F13
"xdotool mouseup 1"
  F13 + release

ここで、既存のxbindkeysインスタンスを強制終了し、xbindkeysを実行します。スーパーキーはマウスの左ボタンとして動作します。

これらの設定はセッション間で保持されないことに注意してください。自動的に設定するには、各セッションの開始時に(xbindkeysの開始とともに)以下を実行します。

xmodmap -e 'remove mod4 = Super_R' -e 'keycode 134 = F13' && xset -r 134
2
Vincent Yu