Linux의 로지텍 M535

Linux의 로지텍 M535

로지텍 M535 블루투스 마우스를 구매했습니다. 틸팅 휠이 있지만 "뒤로" 및 "앞으로" 버튼에 매핑되어 있습니다. 가로 스크롤로 작동하게 하려면 다음 스크립트를 작성했습니다.

#! /bin/dash

MOUSE_ID=`xinput list | grep -o 'M535.*pointer' | sed 's/^.*id=\([0-9]*\)[\t].*$/\1/')`
xinput set-button-map $MOUSE_ID 1 2 3 4 5 8 9 6 7 10 11 12

안타깝게도 이런 식으로 스크롤 버튼이 반복되지 않습니다.

또한 마우스에는 ALT+TAB("가짜" 키보드를 통해)을 보내는 추가 버튼도 있습니다.

ignazio@ignazio-HP:~$ xinput | grep M535
⎜   ↳ Bluetooth Mouse M336/M337/M535            id=15   [slave  pointer  (2)]
    ↳ Bluetooth Mouse M336/M337/M535            id=16   [slave  keyboard (3)]
ignazio@ignazio-HP:~$ xinput test 16
key press   64 
key press   23 
key release 23 
key release 64 

이 버튼을 다른 버튼에 어떻게 바인딩할 수 있나요?

사용하려고 했지만 xbindkeysALT+TAB을 가로채도록 할 수 없었습니다. 게다가 가능하더라도 마우스로 가짜 키보드만 가로채고 싶은데 xbindkeys.

또한 비슷한 Logitech 마우스용 커널 모듈이 있다는 것도 알고 있습니다.https://github.com/CzBiX/logitech-m560), 하지만 이는 지원되지 않습니다.

답변1

키 매퍼 GUI 소프트웨어를 사용하여 가로 스크롤 문제를 해결한 다음 왼쪽 휠 버튼(BUTTON SIDE)을 휠(오른쪽,1)에 매핑했습니다. 오른쪽 휠 버튼을 휠(왼쪽,1)로 설정합니다.

답변2

hwdb를 사용하여 해결했습니다. 내가 만들었다 /etc/udev/hwdb.d/10-m535.hwdb:

evdev:input:b0005v046DpB016e1203-*
 KEYBOARD_KEY_700e2=reserved
 KEYBOARD_KEY_7002b=leftmeta

그 다음에:

sudo udevadm hwdb --update
sudo udevadm trigger

그리고 마우스를 껐다가 켜세요. 이제 작동합니다. 메타(Windows) 키를 바인딩했습니다.

이 솔루션이 필요하지 않도록 만들 수 있을 것 같습니다 xinput set-button-map(그리고 버튼이 반복되지 않는 문제를 해결할 수도 있습니다)... 하지만 버튼 6과 7에 대한 키코드를 찾을 수 없습니다(왼쪽 및 오른쪽으로 스크롤). 스캔코드를 찾았습니다:

evdev:input:b0005v046DpB016e1203-*
 KEYBOARD_KEY_700e2=reserved
 KEYBOARD_KEY_7002b=leftmeta
 KEYBOARD_KEY_90004=??? (scroll left - mouse button 6)
 KEYBOARD_KEY_90005=??? (scroll right - mouse button 7)

BTN_SIDE, BTN_EXTRA, BTN_BACK, BTN_FORWARD, BTN_6, BTN_7(에 정의된 대로 ) 에 대한 십진수 값을 시도했지만 /usr/include/linux/input-event-codes.h운이 없었습니다.

기본적으로 가로 스크롤이 작동하는 다른 마우스에는 다음과 같은 evtest출력이 있습니다.

Event: time 1522616506.145899, -------------- SYN_REPORT ------------
Event: time 1522616507.105926, type 2 (EV_REL), code 6 (REL_HWHEEL), value 1
Event: time 1522616507.105926, -------------- SYN_REPORT ------------
Event: time 1522616508.191962, type 2 (EV_REL), code 6 (REL_HWHEEL), value -1

EV_RELhwdb 파일의 키코드 값으로 이벤트를 지정할 수 있나요 ?

관련 정보