私はXInputマウスホイールエミュレーションが大好きです! Evdevホイールエミュレーションは、次のコマンドを実行して任意のマウスボタンで有効にできます(9はEvdevホイールエミュレーションをトリガーするマウスボタンです)。
xinput set-prop $DEVICE_ID "Evdev Wheel Emulation Button" 9
私は約5年間この機能を使用してきましたが、この素晴らしい機能を実装してくれたxorgの人々に感謝します。今、トリガーをマウスボタンからキーボードキーに変更したいと思います。 「H」キーを押しているときにトリガーシミュレーションを有効にし、魔法「H」がオフになったときにトリガーシミュレーションを無効にしたいとします。どうすればいいですか?
機能しないテスト済みソリューション
キーボードキーをマウスボタン9にマップしようとしましたが、ボタン9を押しても機能しません。 Evdevがマウスボタンを合成して刺激を与えるようではありません。私は魔法の「H」キーを押したときに実行され、xdotool mousedpown 9
キーxdotool mouseup 9
を離したときに実行されるスクリプトを作成しました。ボタンを9から1に変更(左クリックとも呼ばれる)して、スクリプトが実行する必要があることを確認することができます。 。
答え1
最も簡単な方法は、uinputモジュールとPythonを使ってダミーポインタを作成することです。次に、キーボードでキーを押すと、仮想ポインタにマウスボタンをエクスポートするスクリプトを作成します。
私は完全な説明を書いた。ブログ。詳細が必要な場合は確認できます。