之前一直在 Windows 下办公,用 AS 时,想看 API实现可以Ctrl+鼠标左键
,后来又发现可以直接按鼠标中键
,更方便更顺手,也就这么一直用着。
这几天琢磨亚马逊 aace 编译时,电脑切换成Deepin
系统了,因很久没用了,所以第一件事就升级了最新版本。升级完发现,在AS中,鼠标中键变成了粘贴
(也许一直就这样,是我没注意),而Ctrl+鼠标左键
功能正常。同时发现在其他地方,鼠标中键也全部是粘贴了,连浏览器浏览页面,中键也不能启动快速滑动了。
各种查了一下,发现中键粘贴好像是 Linux 的共同功能,难怪在 Deepin 设置项找不到相关设置。中键粘贴,可能对很多人,在很多地方都很好用;但对于我而言,在 AS 里面的负面影响太大了,因为个人已经习惯了中键看 API 实现,会不自觉的按下中键,然后就粘贴了一些东西进去,自己还浑然不知。
为了解决这个问题,搜了一番,查到两种方法,这里整理记录一下。
一、循环清空中键剪贴板
此方法参考:https://blog.csdn.net/Splinter116/article/details/81605106
这种方法可以保留鼠标中键的功能,比如在Chrome里面,中键可以关闭标签页。
步骤如下:
1、安装xclip
sudo apt-get install xclip
2、创建空白文件
比如路径是/home/deepin/AA.txt
,空白的意思就是里面不放任何信息。
3、编写 shell 脚本
count=1
while [ $count -le 5 ];do
xclip -i /home/deepin/AA.txt
sleep 0.5s
done
这个脚本是个死循环,每0.5s
跑一次,把上一步的空白文件内容拷贝到鼠标中键剪贴板里。如果觉得 0.5s 太快,也可自己视情况调整这个时间。
4、设置脚本开机自启
上面创建的脚本每次开机都要执行一次,为方便起见,可将其设置为开机自启动。
这里因原文作者也没有提供方法,而本人不是采用的这种方法,也就没有深究,有兴趣可自行查资料。
二、禁用鼠标中键
此方法参考:https://blog.csdn.net/Penper_King/article/details/81019306
这个方法会直接禁用鼠标中键,导致很多地方原本正常的功能都不能使用。继续拿 Chrome 举栗子,这种方法会导致中键不能关闭标签页。当然,多数时候,我个人是很少用鼠标中键的,也很少用中键来关标签;因此对我而言,影响很小。
方法如下:
1、禁用中键功能
在终端输入如下命令即可:
xmodmap -e "pointer = 1 25 3 4 5 6 7 2"
2、恢复中键功能
在终端输入如下命令即可:
xmodmap -e "pointer = 1 2 3 4 5 6 7 8"
这里xmodmap
命令是在修改按键映射,我们应该知道,鼠标键盘按下时实际产生的是一个“信号
”,至于这个信号要怎么处理,则由软件(含操作系统)去实现。
pointer
表示鼠标,其后的参数是一串指令,其中前三个“1 2 3
”就表示鼠标的“左 中 右
”三个按键。
如果你习惯左手去操作鼠标,想把鼠标左右按键功能交换,就可以这么设置:
xmodmap -e "pointer = 3 2 1 4 5 6 7 8"
如果想知道更多关于按键映射的信息,可自行去查阅。