这款 Logitech M325 鼠标开箱即用,但存在一个问题:无法使用滚轮进行水平滚动。它在浏览器中充当前进或后退的角色,或者在其他窗口中不执行任何操作。
答案1
为了使水平滚动起作用,我必须重新映射鼠标按钮。使用以下命令检查映射xmodmap -pp
:
[sly@SlyLap ~]$ xmodmap -pp
There are 24 pointer buttons defined.
Physical Button
Button Code
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
用于xev
查找水平滚动的按钮代码:
[sly@SlyLap ~]$ xev
...
ButtonPress event, serial 29, synthetic NO, window 0x5400001,
root 0xad, subw 0x5400002, time 173143560, (21,37), root:(25,493),
state 0x0, button 8, same_screen YES
...
ButtonPress event, serial 29, synthetic NO, window 0x5400001,
root 0xad, subw 0x5400002, time 173126732, (21,37), root:(25,493),
state 0x0, button 9, same_screen YES
从这里我可以看到左/右按钮代码是8/9。由于synaptics
驱动程序使用按钮 6/7 进行左/右滚动,因此我只需要交换按钮声明的顺序即可。要更改映射:
xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24"
这将交换 8/9 6/7,从而使水平滚动正常工作。
答案2
使用 xmodmap 导致在我的笔记本电脑上使用触摸板进行横向滚动时出现问题。我让 M325 鼠标按预期工作,但触摸板横向滚动更改为后退/前进。
仅重新映射鼠标按钮(不考虑触摸板)我使用了中的说明https://askubuntu.com/questions/492744/how-do-i-automatically-remap-buttons-on-my-mouse-at-startup
我将以下脚本保存为 ~/logitechM325
#!/bin/bash
# Swap buttons 8 9 with buttons 6 7 -- Sideways scrolling with Logitech M325
logitech_mouse_id=$(xinput | grep "Logitech Unifying Device. Wireless PID:400a" | awk {'print substr($8,4,2)'})
echo $logitech_mouse_id > ~/temp/logitech_mouse_id
echo $logitech_mouse_id
xinput set-button-map $logitech_mouse_id 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
我确保该脚本是可执行的:
$ sudo chmod a+x ~/logitechM325
然后将其添加到启动应用程序列表中。
现在,罗技 M325 和触摸板都可以横向滚动。