xev 인식할 수 없는 마우스 버튼을 다시 매핑하는 방법

xev 인식할 수 없는 마우스 버튼을 다시 매핑하는 방법

Logitech M720에는 엄지 버튼이 있지만 버튼 식별자는 다음 위치에 표시되지 않습니다 xev.

엄지 버튼이 있는 로지텍 M720 트라이애슬론

이 썸 버튼의 결과는 Ctrl+Alt+Tab입니다.

저는 Fedora 28을 사용하고 있지만 Ubuntu에서도 동일한 문제가 보고되었습니다.https://askubuntu.com/questions/956484/logitech-mouse-thumb-button-not-showing-in-xev

Logitech 차동 마우스에 대한 추가 질문:MX 마스터 질문그리고MX 에브리웨어 2S, 를 사용하여 일부 버튼 이름을 얻은 것 같지만 엄지 버튼 evtest의 출력에는 evtest버튼 이름이 없는 것 같습니다.

Event: time 1538277331.280194, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1538277331.280194, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1538277331.280194, -------------- SYN_REPORT ------------
Event: time 1538277331.288214, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1538277331.288214, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1538277331.288214, -------------- SYN_REPORT ------------
Event: time 1538277331.296210, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1538277331.296210, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1538277331.296210, -------------- SYN_REPORT ------------
Event: time 1538277331.304218, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1538277331.304218, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1538277331.304218, -------------- SYN_REPORT ------------
Event: time 1538277331.312212, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1538277331.312212, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1538277331.312212, -------------- SYN_REPORT ------------
Event: time 1538277331.320218, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1538277331.320218, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1538277331.320218, -------------- SYN_REPORT ------------

CTRL ALT TAB을 실행하도록 버튼이 실제로 배선되어 있습니까?

엄지 버튼을 다시 매핑할 수 있나요?

답변1

이 버튼은 커널 입력 계층 수준에서 시퀀스를 생성합니다 Left Ctrl Left Alt Tab. 즉, 장치 자체가 시퀀스를 생성합니다. 이것이 다른 Logitech 장치와 다르다는 것은 의미가 없습니다.

이 시퀀스가 ​​어떻게 "고정"되어 있는지는 모르겠습니다. 아마도 이 장치용으로 특별히 Logitech 도구를 사용하여 변경할 수 있을 것입니다. 쉽지 않습니다. 그런 도구(아마도 Windows용)를 찾아야 하고, Windows에서 보내고 받는 USB 명령을 USB 스니퍼로 기록한 다음, Linux에서 이를 모방하기 위한 작은 프로그램을 작성해야 합니다. 이것의 장점은 오픈 소스로 만들면 장치를 소유한 다른 사람도 사용할 수 있으므로 누군가가 이미 사용했을 수도 있다는 것입니다(알려면 인터넷 검색에 시간을 투자하세요).

또 다른 옵션은 X 레벨에서 이 특정 시퀀스를 캡처하고(WM 등을 사용하여 xbindkeys) 자신의 이벤트 등을 여기에 첨부하는 것입니다. 물론 이는 키보드에서도 동일한 시퀀스를 감지합니다.

세 번째 옵션은 입력 레이어 수준에서 시퀀스를 감지하는 것입니다. 이렇게 하려면 장치를 새로운 입력 계층 소스로 사용하고 해당 을 "잡아" /dev/input/eventX특정 키 시퀀스를 변환하고 다른 모든 것을 전달하는 C 프로그램을 작성할 수 있어야 합니다 .uinput

네 번째 옵션은 아마도 hwdb일종의 번역을 수행하기 위한 것이지만 내가 아는 한 시퀀스를 번역하지는 않습니다(그러나 아직 자세히 살펴보지는 않았습니다).

답변2

Solaar v1.0.3 버튼(멀티 플랫폼 제스처 버튼이라고도 불리는 엄지 버튼 포함)을 다른 마우스 동작으로 다시 매핑할 수 있습니다.

여기에 이미지 설명을 입력하세요.

마우스가 꺼지면 Solarr가 매핑을 복원하기 위해 실행되지 않는 한 변경 사항이 재설정됩니다.

지속적인 재매핑과 다른 키 조합에 대한 재매핑이 모두 가능하며 개발 중입니다.https://github.com/pwr-Solaar/Solaar/issues/832

관련 정보