質問: キーボードのキーをマウスのボタンに正しくマッピングするにはどうすればよいですか? 質問の概要:マウスボタンの1つを左のwindowsボタンとして登録したい super_l x11。私のウィンドウマネージャーでは、「左のwindowsボタン」(left super)を押しながらマウスの左ボタンでウィンドウをドラッグすることで、ウィンドウを移動できます。キーボードに触れることなくそれを実行できるようにしたいので、左のスーパーキーをマウスボタン11にマッピングします。これにより、マウスボタン11を押しながらウィンドウをクリックしてドラッグできます。最も明白な解決策は、xbindkeysとxteをこのように使用することです(.xbindkeysrc):"xte 'keydown super_l'" b:11 "xte 'keyup super_l'" b:11 + release これは次のように機能します。 マウスボタン11を押すと、 super_l も押し下げられます マウスボタン11を離すと super_l もリリースされています しかし、問題があります。次を使用してウィンドウを移動できません。 super_l + mouse1 マウスボタン11のような別のマウスボタンも押している場合。上記の解決策を使用すると、マウスボタン11が押されて離されたまま登録されるため、ウィンドウマネージャーの操作は機能しません。私はシナモンと素晴らしいwmの両方を使用してこれを試しました、そして絶対になし super_l キーボードの組み合わせは、マウスボタン10または11を押している間機能します。普通のハック私は現在、マウス11を押したままにしてこの問題を回避しています super_l ボタンを一定時間押します。こうすることで、マウスボタンをクリックして、その後しばらくの間ドラッグすることができます。"xte 'keydown super_l' 'usleep 250000' 'keyup super_l'" b:11 別の試みtottiが提案したように、私はこのxbindkeys構成を試しました:"xte 'mouseup 10' 'keydown super_l'" b:10 "xte 'keyup super_l'" b:10 + release 動作しません。のようです super_l キーを押したままにします。ボタン10を離すと、いつまでも押したままになるためです。 super_l キーボードのキーをもう一度押します)が、ウィンドウをクリックしてドラッグできないため、マウスボタンはまだ登録されています。 xbindkeysとxteを使用してこれを機能させることはできないと思います。
回答: マウスクリックでスクリプトを実行できるため、次のトリックを使用できます。 1。 ボタン11を押してholdスーパーキー。 (ボタン11スクリプトをトリガーする) 2。他のマウスボタンを使用してウィンドウを移動する 3。もう一度マウスボタン11を押してreleaseスーパーキースクリプト xdotoolを使用してスーパーキーを保持します 最初のボタンをクリックして、一時ファイルを作成し、キーを押したままにします。次にtmpファイルを削除してキーを離し、更新ubuntuヘルプページ(多くのボタンマウスの操作方法)によると、imwheelはキーに再マッピングできます。