Xorg(GNOME)에서 SteelSeries Cataclysm MMO 게이밍 마우스의 모든 버튼을 어떻게 사용합니까?

Xorg(GNOME)에서 SteelSeries Cataclysm MMO 게이밍 마우스의 모든 버튼을 어떻게 사용합니까?

젠투에서 마우스에 문제가 있습니다. 일반 버튼(왼쪽/오른쪽/스크롤 휠 및 이전/다음)은 작동하지만 그 외의 버튼은 x에서 인식되지 않습니다. 나는 그것을 시도했지만 xev그것들을 사용하는 것은 효과가 없었습니다.

저는 Gnome Shell 3.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

그러나 그것은 아무것도 바꾸지 않습니다. 또한 입력 클래스에 다음 옵션을 추가해 보았습니다.

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)]

버튼 매핑 가져오기

$ 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개 이상의 버튼을 인식할 수 있는 것 같은데, 좋은 징조인 것 같죠? 그러면 어떻게 이것만 사용하고 다른 것을 필터링할 수 있습니까?

답변1

문제는 X 레벨이 아닙니다. 심지어 USB 마우스 사양에서도 왼쪽 및 오른쪽 스크롤 휠만 허용됩니다.

Catclysm 게이밍 마우스에는 마우스와 키보드 모두를 위한 USB 포트가 있습니다. 기본적으로 어떤 버튼과 어떤 키 입력을 일치시킬지 마우스에 알려주어야 합니다.

공식적으로 지원되는 유일한 방법은 Windows 가상 머신을 실행하고 공식적으로 지원되는 SteelSeries 드라이버를 사용하여 구성을 마우스의 온보드 메모리에 업로드하고 로드하는 것입니다.

그들이 사용하는 프로토콜을 리버스 엔지니어링하는 데 시간을 보낸 후 나만의 드라이버를 작성했습니다. 많은 기능을 다루지는 않지만 컴퓨터 게임을 하고 윈도우 시스템을 관리하고 싶습니다. 그리고 잘 작동합니다. 바라보다https://github.com/owenRiddy/cataclysm-mouse

답변2

100% 확실하지는 않지만 다음에서 찾았습니다.SteelSeries 웹사이트의 FAQ 중 하나:

묻다:

Linux 플랫폼용 월드 오브 워크래프트 MMO 드라이버를 구할 수 있는 곳.

ㅏ:

불행하게도 우리는 WoW 마우스용 독점 Linux 드라이버를 조만간 개발할 계획이 없지만 Linux용 오픈 소스 솔루션을 개발하려는 커뮤니티 중심의 노력을 기꺼이 지원할 수 있습니다.

이것이 귀하의 하드웨어인지는 확실하지 않지만 FAQ의 "범주 » SteelSeries WoW: Cataclysm MMO 게임용 마우스" 카테고리에 속합니다.

디버그 마우스

이 마우스에 대해 단순히 xev.

xinput 목록

$ 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이 버튼 매핑을 얻습니다.

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

xinput 목록 속성

$ 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 쿼리 상태

$ 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 커뮤니티 문서를 찾았습니다.버튼이 많은 마우스는 어떤가요?추가로 시도해야 할 사항이 있을 수 있지만 이를 지원하는 호환 드라이버를 찾을 수 없으면 나머지 버튼도 작동하지 못할 것이라고 생각합니다. 제가 틀렸을 수도 있지만(여러분을 위해서 그랬기를 바랍니다), Linux에서는 이 버튼에 접근할 수 없을 것 같습니다.

인용하다

관련 정보