xmodmap KeyPressイベントをButtonPressイベントに

xmodmap KeyPressイベントをButtonPressイベントに

私はLogitech t400マウスを購入したばかりですが、マウスの中央ボタンの「上」部分を実際のマウスの中央ボタン機能に再マップすることを除いて、すべてがうまく機能します。

xevクリックを実行してキャプチャすると、次のように中央ボタンの一番上のボタンを除くすべてのマウスボタンがButtonPress/イベントを返します。ButtonReleaseKeyPressKeyRelease

KeyPress event, serial 35, synthetic NO, window 0x5200001,
root 0x31d, subw 0x0, time 630089839, (80,128), root:(2871,588),
state 0x10, keycode 133 (keysym 0x31d, (no name)), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x5200001,
root 0x31d, subw 0x0, time 630089983, (80,128), root:(2871,588),
state 0x50, keycode 133 (keysym 0x31d, (no name)), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

中央ボタンの下部が正しく機能し、次のものを返します。

ButtonPress event, serial 37, synthetic NO, window 0x5200001,
root 0x31d, subw 0x0, time 630137726, (10,171), root:(2801,631),
state 0x10, button 2, same_screen YES

ButtonRelease event, serial 37, synthetic NO, window 0x5200001,
root 0x31d, subw 0x0, time 630138960, (10,171), root:(2801,631),
state 0x210, button 2, same_screen YES

上の部分を下のように再マッピングしたいと思います。これはxmodmapを使って可能ですか?

ありがとうございます!

答え1

私もこれを試してみましたが、最終的にはそれが不可能であることを発見しました。文書に深く埋まっていました。

このフォーラムの投稿XSendEventこの関数を使用してボタン押下をシミュレートするCコードが含まれています。xbindkeysたとえば、 で始めることができます。

フォーラムの投稿では、以下を使用することを提案します。xdoツール。免責事項:まだ試していません。

関連情報