마우스 가운데 버튼 B2를 왼쪽 버튼 B1에 매핑하려고 합니다. 나는 xmodmap을 사용하고 있으며 포인터가 그것을 변경하는 데 사용된다는 것을 이해하고 있습니다.
여기는~/.Xmodmap
pointer = 1 1 3 4 5 6 7 8 9
하지만 이 오류가 발생합니다. 어떤 아이디어가 있나요?
~$ xmodmap ~/.Xmodmap
Warning: Only changing the first 9 of 20 buttons.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 116 (X_SetPointerMapping)
Value in failed request: 0x1
Serial number of failed request: 9
Current serial number in output stream: 9
이 모드맵은 작동하지만 물론 버튼이 반대입니다. ~/.Xmodmap
pointer = 2 1 3 4 5 6 7 8 9
답변1
뭐, 신경 쓰지 마. xinput을 사용하여 더 나은 솔루션을 찾았습니다.
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Wireless Mouse id=10 [slave pointer (2)]
⎜ ↳ MyMouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ MSI WMI hotkeys id=14 [slave keyboard (3)]
↳ Logitech Wireless Mouse id=15 [slave keyboard (3)]
↳ BSK30 (AVRCP) id=16 [slave keyboard (3)]
그런 다음 ID 마우스 ID(예: 11(Magic Mouse일 가능성이 있음))를 얻고 버튼을 매핑합니다.
$ xinput set-button-map 11 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20