本来有触摸屏是件好玩的事情,无奈屏幕裂一道缝了,导致经常自动点击,影响正常使用。安了Ubuntu后,找了许久终于找到一个能用的解决方案。主要思想是通过xinput禁用驱动解决,缺点是关机后失效。
本此使用的环境:
- ThinkPad-S3-Yoga-14。
- Ubuntu 18.10
xinput
1.在终端输入xinput
在列出的输入设备列表中查找触摸屏对应的名称.这里是SYNAPTICS Synaptics Touch Digitizer V04和其id:14.
注意:
- id每次插入新的硬件例如鼠标键盘等,可能会导致id号发生变化,故请使用对应的id号
- 该方式原则上适用各种品牌禁用触屏,只是每台电脑的触屏驱动可能不同,请在列表中酌情选择。
2、设置触摸屏的enabled属性为0,禁用触摸屏
代码语言:javascript复制xinput set-prop 14 "Device Enabled" 0
3、查看触摸屏属性列表
代码语言:javascript复制xinput list-props 14
配置开机自动执行
上面的设置每次启动都要手动配置一遍显然会很麻烦,此时我们完全可以通过编写shell脚本,开机加载让其自动设置即可。
创建sh脚本
此处在 /home/windcoder/documents/ss目录下创建
代码语言:javascript复制vi disableTouch.sh
在文件中输入:
代码语言:javascript复制#!/bin/bash
# 禁用桌面触摸屏
DESKTOP_DEV='SYNAPTICS Synaptics Touch Digitizer V04'
HAVE_DISKTOP_TOUCH=`xinput list | grep "$DESKTOP_DEV"`
if [ "$HAVE_DISKTOP_TOUCH" != "" ];
then
echo "触摸屏开始关闭"
if [ `xinput list-props "$DESKTOP_DEV" | grep "Device Enabled" | awk -F ':' '{print $2}'` == 1 ];
then
echo "触摸屏关闭中"
xinput set-prop "$DESKTOP_DEV" 'Device Enabled' 0
echo "触摸屏关闭成功!"
else
echo "关闭失败。。。"
fi
else
echo "程序关闭"
fi
echo "彻底结束了"
脚本中的echo语句均可删除,此处只是为了测试脚本才添加的。
配置开机启动
在终端使用:
代码语言:javascript复制sudo vi /etc/profile
在末尾添加:
代码语言:javascript复制. /home/windcoder/documents/sh/disableTouch.sh
保存退出,最后执行如下即可:
代码语言:javascript复制source /etc/profile
此时重启即可发现对应驱动已经自动禁止了。
参考资料
Ubuntu中禁用华硕S550C触摸屏的方法