web-dev-qa-db-ja.com

SteelSeries Cataclysm MMO Xorg(GNOME)のゲーミングマウスのすべてのボタンを使用するにはどうすればよいですか?

Gentooのマウスに問題があります。通常のボタン(左/右/ホイールおよび前/次)は機能しますが、他のボタンはxで認識されません。 xevで試しましたが、使用しても何も起こりません。

Gnome Shell3.6を実行しています。

/etc/X11/xorg.conf.d/10-evdev.confを構成してデバイスを追加してみました。

Section "InputDevice"
        Identifier "GamingMouse"
        Driver "evdev"
        Option "Name" "SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse"
        Option "Protocol" "ExplorerPS/2"
        Option "Buttons" "16"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9 10 11 12 13 14 15 16"
EndSection

しかし、それは物事を変えませんでした。また、Inputクラスに次のオプションを追加してみました。

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Protocol" "ExplorerPS/2"
        Option "Buttons" "16"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9 10 11 12 13 14 15 16"
EndSection

しかし、繰り返しますが、それは機能しませんでした。

誰かがこれらのボタンを機能させるための解決策を持っていますか?

編集#1

xinputに関する詳細情報。 xinputを使用して、さらに情報を収集しました。

$ xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=8    [slave  pointer  (2)]
⎜   ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=10   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=9    [slave  keyboard (3)]
    ↳ G15 Gaming Keyboard                       id=11   [slave  keyboard (3)]
    ↳ G15 Gaming Keyboard                       id=12   [slave  keyboard (3)]
    ↳ G15 GamePanel LCD                         id=13   [slave  keyboard (3)]
    ↳ Logitech Logitech G930 Headset            id=14   [slave  keyboard (3)]

get-button-maps

$ xinput get-button-map 8
1 2 3 4 5 6 7 8 9 10 11 12 13 

$ xinput get-button-map 10
1 2 3 4 5 6 7 

$ xinput get-button-map 4 
1 2 3 4 5 6 7 8 9 10 

$ xinput get-button-map 9
device has no buttons

リスト-小道具

$ xinput list-props 8
Device 'SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (256):    4152, 4896
    Device Node (257):  "/dev/input/event2"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (149), "Rel Y" (150), "Rel Vert Wheel" (262)
    Button Labels (271):    "Button Left" (142), "Button Middle" (143), "Button Right" (144), "Button Wheel Up" (145), "Button Wheel Down" (146), "Button Horiz Wheel Left" (147), "Button Horiz Wheel Right" (148), "Button Side" (260), "Button Extra" (261), "Button Unknown" (259), "Button Unknown" (259), "Button Unknown" (259), "Button Unknown" (259)
    Evdev Middle Button Emulation (272):    0
    Evdev Middle Button Timeout (273):  50
    Evdev Third Button Emulation (274): 0
    Evdev Third Button Emulation Timeout (275): 1000
    Evdev Third Button Emulation Button (276):  3
    Evdev Third Button Emulation Threshold (277):   20
    Evdev Wheel Emulation (278):    0
    Evdev Wheel Emulation Axes (279):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (280):    10
    Evdev Wheel Emulation Timeout (281):    200
    Evdev Wheel Emulation Button (282): 4
    Evdev Drag Lock Buttons (283):  0

$ xinput list-props 10
Device 'SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (256):    4152, 4896
    Device Node (257):  "/dev/input/event4"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (149), "Rel Y" (150), "Rel Horiz Wheel" (285)
    Button Labels (271):    "Button 0" (284), "Button Unknown" (259), "Button Unknown" (259), "Button Wheel Up" (145), "Button Wheel Down" (146), "Button Horiz Wheel Left" (147), "Button Horiz Wheel Right" (148)
    Evdev Middle Button Emulation (272):    0
    Evdev Middle Button Timeout (273):  50
    Evdev Third Button Emulation (274): 0
    Evdev Third Button Emulation Timeout (275): 1000
    Evdev Third Button Emulation Button (276):  3
    Evdev Third Button Emulation Threshold (277):   20
    Evdev Wheel Emulation (278):    0
    Evdev Wheel Emulation Axes (279):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (280):    10
    Evdev Wheel Emulation Timeout (281):    200
    Evdev Wheel Emulation Button (282): 4
    Evdev Drag Lock Buttons (283):  0

ID 8では7つ以上のボタンが認識されているようですので、それは良い兆候のようですよね?では、どうすればこれだけを使用して、おそらく他をフィルタリングできますか?

2
Baptiste Wicht

100%確信はありませんが、これは SteelSeries WebサイトのFAQの1つにあります

Q:

Linuxプラットフォーム用のWorldof Warcraft MMOドライバーはどこで入手できますか?.

A:

残念ながら、WoW Mouse用にプロプライエタリなLinuxドライバーをすぐに開発する予定はありませんが、Linux用のオープンソースソリューションを開発するためのコミュニティ主導の取り組みを喜んで支援します。

これがあなたのハードウェアかどうかはわかりませんが、FAQ内のこのカテゴリに含まれていました:「カテゴリ"SteelSeries WoW:Cataclysm MMO GamingMouse」。

マウスのデバッグ

次のツールを使用して、xevを使用するのではなく、このマウスを使用してもう少し深く掘り下げることができます。私はラップトップのポインティングデバイスを使用していますが、この文字列でマウスの代わりに使用できます "SteelSeries World of Warcraft MMO Gaming Mouse":

xinput -list

$ xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=13   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=9    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=14   [slave  keyboard (3)]

xinput get-button-map

$ xinput get-button-map ""SynPS/2 Synaptics TouchPad"
1 2 3 4 5 6 7 8 9 10 11 12 

xinput list-props

$ xinput list-props "SynPS/2 Synaptics TouchPad"
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (124):   1
    Coordinate Transformation Matrix (126): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (249): 1
    Device Accel Constant Deceleration (250):   2.500000
    Device Accel Adaptive Deceleration (251):   1.000000
    Device Accel Velocity Scaling (252):    12.500000
    Synaptics Edges (268):  1781, 5579, 1646, 4582
    Synaptics Finger (269): 24, 29, 255
    Synaptics Tap Time (270):   180
    Synaptics Tap Move (271):   245
    Synaptics Tap Durations (272):  180, 180, 100
    Synaptics Tap FastTap (273):    0
    Synaptics Middle Button Timeout (274):  75
    Synaptics Two-Finger Pressure (275):    29
    Synaptics Two-Finger Width (276):   7
    Synaptics Scrolling Distance (277): 111, 111
    Synaptics Edge Scrolling (278): 1, 1, 0
    Synaptics Two-Finger Scrolling (279):   0, 0
    Synaptics Move Speed (280): 1.000000, 1.750000, 0.035842, 40.000000
    Synaptics Edge Motion Pressure (281):   29, 159
    Synaptics Edge Motion Speed (282):  1, 446
    Synaptics Edge Motion Always (283): 0
    Synaptics Off (284):    0
    Synaptics Locked Drags (285):   0
    Synaptics Locked Drags Timeout (286):   5000
    Synaptics Tap Action (287): 0, 0, 0, 0, 1, 3, 2
    Synaptics Click Action (288):   1, 1, 1
    Synaptics Circular Scrolling (289): 0
    Synaptics Circular Scrolling Distance (290):    0.100000
    Synaptics Circular Scrolling Trigger (291): 0
    Synaptics Circular Pad (292):   0
    Synaptics Palm Detection (293): 0
    Synaptics Palm Dimensions (294):    10, 199
    Synaptics Coasting Speed (295): 20.000000, 50.000000
    Synaptics Pressure Motion (296):    29, 159
    Synaptics Pressure Motion Factor (297): 1.000000, 1.000000
    Synaptics Grab Event Device (298):  1
    Synaptics Gestures (299):   1
    Synaptics Capabilities (300):   1, 0, 1, 0, 0, 1, 1
    Synaptics Pad Resolution (301): 105, 75
    Synaptics Area (302):   0, 0, 0, 0

xinput query-state

$ xinput query-state "SynPS/2 Synaptics TouchPad"
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]=up
    button[11]=up
    button[12]=up
ValuatorClass Mode=Relative Proximity=In
    valuator[0]=2267
    valuator[1]=4290

それで?

私はこのUbuntuコミュニティドキュメントというタイトルを見つけました: ManyButtonsMouseHowto これにはいくつか追加の試みがあるかもしれませんが、見つからない場合はこれらのボタンの残りを機能させるのは運が悪いと思いますそれらをサポートする互換性のあるドライバー。私はここで間違っているかもしれませんが(私はあなたのためだといいのですが)、Linuxでこれらのボタンにアクセスできるようになるとは思いません。

参考文献

2
slm

この問題はXレベルではありません。USBマウスの仕様でさえ、左右のスクロールホイールしか使用できません。

Catclysmゲーミングマウスには、マウスとキーボードの両方のUSBインターフェイスがあります。基本的に、どのボタンをどのキーストロークに一致させるかをマウスに指示する必要があります。

公式にサポートされている唯一の方法は、Windows仮想マシンを実行し、SteelSeriesの公式にサポートされているドライバーを使用してアップロードし、構成をマウスのオンボードメモリにロードすることです。

使用していたプロトコルをリバースエンジニアリングした後、自分のドライバーを作成しました。多くの機能をカバーしていませんが、コンピュータゲームをプレイしてウィンドウシステムを管理したいと思っています。それでも問題なく動作します。 https://github.com/owenRiddy/cataclysm-mouse を参照してください

2
Owen