我是惯用左手的,所以我将鼠标的主要按钮设置为右键。这可以在我的触摸板按钮上正常工作,并且过去也可以在我的外部蓝牙鼠标上正常工作。但是现在突然之间,每次我连接外部鼠标时,鼠标的主按钮都是左按钮,而触摸板的主按钮仍然是右按钮。我可以通过以下方法解决此问题:转到“设置”>“鼠标和触摸板”>“主按钮”,并将其设置为“左”,然后设置为“右”。当然,每次鼠标重新连接时,我都不必这样做。有什么建议?
我使用KVM切换器盒,因此自升级以来,每次切换时都会遇到相同的问题。
目前,我有一个快速而又肮脏的脚本。以登录用户的身份在终端上运行它;
xinput list | grep Mouse | sed -nre 's/^.*\sid=([0-9]+)\s.*$/\1/p' | xargs -r -I '{}' echo xinput set-button-map {} 3 2 1
希望得到更好的东西,但现在应该有用。
为了完整起见,值得注意的是,您还可以使用鼠标设置UI工具,并将主按钮更改为右手,然后再更改为左手。
下面的更新/编辑
我现在有一个更方便的解决方案,可以针对每个kvm切换器自动执行该解决方案,但是它仍然是一个棘手的/肮脏的解决方案,并且在登录后运行脚本...
根据的输出,为您的供应商ID和产品ID自定义以下内容lsusb
。鼠标中间的{idvendor}:{idproduct}是中间带有冒号的十六进制数字。另外,随着flipjacob的添加,请自定义grep语句中的“鼠标”字符串,以匹配您从中获取的内容xinput
。
创建/etc/udev/rules.d/80-force-left-handed-mouse-on-plugin-event.rules
具有以下内容的文件(作为根用户)
ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0047", ACTION=="bind", RUN+="/root/notify-mouse-plugged.sh"
创建将要运行的脚本(以root身份)/root/notify-mouse-plugged.sh
。
#!/bin/bash
umask 0000
echo $ACTION >> /tmp/mouse-flag
date >> /tmp/mouse-flag
最后,创建脚本以在已登录用户的上下文中获取“通知”。我在登录终端后运行它,并使其在那儿运行。
侦听器脚本$HOME/listen-for-mouse-plugged.sh
。
#!/bin/bash
echo "" > /tmp/mouse-flag
tail -qfn 0 /tmp/mouse-flag 2>/dev/null | while read s
do
#inotifywait -e create /tmp/mouse-flag
echo reset mouse $s
xinput list | grep Mouse | sed -nre 's/^.*\sid=([0-9]+)\s.*$/\1/p' | xargs -I '{}' xinput set-button-map {} 3 2 1
#sleep 5
done
它为我触发了3次监听器循环,但这对我希望很快丢弃的东西没有多大影响。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句