ノックスクロム神田マウスを受け取りました。ちょっといいですが、まだ頑張っています。 Linux(debian jessie)でQuake 4をプレイしている間、左ボタンの1つが認識されず、右ボタンが弾丸1つだけを発射することがわかりました。
xevを使用してマウスイベントを確認した後、機能しないような左マウスボタンがボタン9にマップされているのに対して、右ボタンはデフォルトでボタン1と重複していることがわかりました。押すとボタン1を押して離したというメッセージが送信されます。
したがって、デフォルトでは役に立ちません。 Windowsでは、マウスにボタンの再プログラミング用のソフトウェアを含むCDが付属しています。迷惑、わかりました。しかし、私はちょうどそのボタンからそのクソ"自動発射"機能を取り除きたいだけだ。うまくいったようですが、Linuxを再起動すると、すべてが戻ってきました。
ワインを使ってソフトウェアを実行してみましたが、マウスを検出できず、virtualboxも検出できませんでした(両方とも汎用マウスを検出しました)。 Linuxで再プログラミングする方法はありますか?それとも別のマウスが必要ですか?ありがとうございます。
ベストアンサー1
最初のステップは、物理的なボタンが何であるかを調べることです。汎用ゲームマウス(私の場合はSaitek RAT3)を再マッピングするプロセスについて説明します。一般的な手順はすべてのマウスに適用されます。
xinput list
マウスのIDと名前を学ぶxinput query-state {id}
すべてのボタンの状態を確認してください。この機会を利用してマウスボタンの数を数えます。このプロセスをサポートするには、watch -n0 xinput query-state {id}
保留するクエリを実行してください。- 特別な動作を示すボタンを識別してください。
- どのボタンにどのボタンIDがあるかを記録してください。
50-mousename
名前がtoのファイルを追加し、お気に入りの/usr/share/X11/xorg.conf.d/
エディタで開きます。次のテンプレートを挿入してください。Section "InputClass" Identifier "Mouse Remap" MatchProduct "{mouse name}" MatchDevicePath "/dev/input/event*" Option "ZAxisMapping" "4 5" Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 0 0 0 0 0" Option "Resolution" "3200" #you will probably have to change this!
重要な行は次のとおりです。
Option "ButtonMapping" "1 2 3"...
以前に作成したボタンのリストを覚えていますか?このオプションは、どの物理ボタンがどのボタンイベントに対応するかを決定します。"1 2 3"
「物理ボタン1」は「ボタンイベント1」、「物理ボタン2」は「ボタンイベント2」等を意味する。たとえば、スクロールホイールと右クリックを切り替えるには、「3 2 1」に変更します。わからない場合は、次の表を確認してください。| Physical Button | Button Event | normal action | |-----------------|--------------|---------------| |Left | 1 | select | |Middle | 2 | paste/depends | |Right | 3 | context menu | |Scroll Up | 4 | context menu | |Scroll Down | 5 | context menu | |Custom | 6+ | depends |
ボタンを無効にするには、その場所に0を入力します。たとえば、マウスの中央ボタンを無効にするには
"1 0 3 4 5 6 7 8 9 ..."
この内容を適用するには、ログインしてログアウトする必要があります。
あまり言葉にならないようなので、私の過程をお見せしましょう。
username@hostname ~> xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Saitek Cyborg R.A.T.3 Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB Keyboard id=10 [slave keyboard (3)]
↳ USB Keyboard id=11 [slave keyboard (3)]
わかりました。私のデバイス名Saitek Cyborg R.A.T.3 Mouse
のIDは12です。
notafile@notapc ~> xinput query-state 12
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
button[8]=up
button[9]=up
button[10]=down
button[11]=up
button[12]=up
button[13]=up
button[14]=up
button[15]=up
button[16]=up
button[17]=up
button[18]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=1351
valuator[1]=403
valuator[2]=-372
だから私のマウスには合計18個のボタンがあります。私が見つけたマッピングは次のとおりです。
| Number | Button |
|--------|-------------|
| 1 | Left |
| 2 | Middle |
| 3 | Right |
| 4 | scroll up |
| 5 | scroll down |
| 8 | upper thumb |
| 9 | lower thumb |
| 10 | mode red |
| 11 | mode blue |
| 12 | mode purple |
| 13 | DPI up |
| 14 | DPI down |
このマウスには特別な動作をするいくつかのボタンがあります。モードボタンをもう一度押すまで、ボタン10-12が押し続けられます。この問題は「AutoRelease」オプションを使用して解決できます。
したがって、私たちのマッピングは非常に簡単でなければなりません。ボタン1-5は通常のボタン、8と9はカスタムボタン、6-7と10+は実際には必要ないボタンです。結果マップは次のとおりです"1 2 3 4 5 0 0 0 8 9 0 0 0 0 0 0 0 0 0"
。項目数がボタンに等しくなるように(この場合は18)、末尾にゼロを埋める必要があります。
私は終わった!これで、設定ファイルに挿入して/usr/share/X11/xorg.conf.d/50-saitek-rat3
ログアウトしてから再度ログインします。
これが私の最終構成です。
Section "InputClass"
Identifier "Mouse Remap"
MatchProduct "Saitek Cyborg R.A.T.3 Mouse"
MatchDevicePath "/dev/input/event*"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 4 5 0 0 0 8 9 0 0 0 0 0 0 0 0 0"
Option "Resolution" "3200"
EndSection