我在使用 Google Chrome 时遇到了问题,更具体地说是一些 MSI 一体机上的触摸滚动(拖放样式)。
我正在使用三种此类计算机型号——有趣的是,它实际上可以在其中两种型号上运行(MSI Pro 16B Flex、AP1622ET-226XEU),但它不适用于 AP1622ET-037XEU。
这毫无意义,因为我已经将触摸驱动程序更新为最新版本 - 它们使用相同的 eGalaxTouch 指点输入设备,而且它们都在同一版本的系统、同一版本的 Chrome(存储库中最新版本)上运行。Chrome://flags 选项设置为相同的值。我已经尝试使用 --touch-devices 启动选项。
我已经在论坛上搜索过该问题的解决方案,但是都没有解决我的问题。
如果有人能帮忙-我将不胜感激。
问候。
答案1
解决方案:
首先,
sudo nano /etc/modules
粘贴
usbtouchscreen
usbhid
紧接着 lp,然后通过命令加载模块(仅在第一次加载)
sudo modprobe usbtouchscreen usbhid
此后,您必须下载并解压 eGalax Touch 驱动程序(您必须选择与您的内核版本兼容的驱动程序;通过以下方式检查:
uname -r
在解压驱动程序的文件夹中打开终端,然后
sudo sh setup.sh
之后,系统会提示您必须重新启动,因此:
reboot
或者systemctl reboot -i
下一步是编辑 SystemD 服务:
sudo systemctl edit --full eGTouch.service
使用下面的代码覆盖该代码:
# eGalax Touchscreen service file
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/usr/bin/eGTouchD
DefaultDependencies=no
Before=sysinit.target
After=apparmor.service
[Service]
Type=forking
Restart=always
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
TimeoutSec=0
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=no
User=root
Group=root
ExecStart=
ExecStart=/usr/bin/eGTouchD start
ExecReload=/usr/bin/eGTouchD restart
ExecStop=/usr/bin/eGTouchD stop
[Install]
WantedBy=multi-user.target
删除 SystemV.init 脚本:
sudo rm /etc/init.d/eGTouch.sh
然后启用刚刚创建的 SystemD 服务:
sudo systemctl enable eGTouch.service
sudo systemctl daemon-reload
最后重新启动它。
sudo systemctl restart eGTouch.service