临时修复(在我重新启动之前有效)

临时修复(在我重新启动之前有效)

多点触控在 Windows 7 上运行良好:两根手指垂直和水平滚动,两根手指点击进行中键单击,三根手指点击进行右键单击。

然而在 Ubuntu 中,我从来没能让多点触控“保存”并工作,我能让它工作几次,但重新启动后它就会重置回来。

我已将双指滚动的设置设为:
鼠标和触摸板 > 触摸板

双指滚动(已选择)
启用水平滚动 (已勾选

当我尝试用两根手指滚动时,光标停止移动,但实际上并没有滚动页面。

当我表演xin输入列表,我得到:

虚拟核心指针 id=2 [主指针 (3)]
↳ 虚拟核心 XTEST 指针 id=4 [从指针 (2)]
↳ ETPS/2 Elantech ETF0401 id=13 [从指针 (2)]

我尝试安装一些'synaptics-dkms' 错误修复(几年前的)但是没有用,所以我删除了它。

我尝试安装'优触科技' 但这似乎没有任何作用所以就将其删除了。

以下是我目前安装的内容:

dpkg --get-selections > 已安装的软件
grep 'touch\|mouse\|track\|synapt' 已安装软件

libsoundtouch0 --- 安装
libutouch-evemu1 --- 安装
libutouch-frame1 ---
安装 libutouch-geis1 --- 安装
libutouch-grail1 --- 安装
Printer-driver-ptouch --- 安装
ptouch-driver --- 安装
xserver-xorg-input-multitouch --- 安装
xserver-xorg-input-mouse --- 安装
xserver-xorg-input-vmmouse --- 安装
libnetfilter-conntrack3 --- 安装
libxatracker1 --- 安装
xserver-xorg-input-synaptics --- 安装

因此,我将重新开始,我现在应该怎么做才能使双指滚动功能正常工作并确保它在重新启动后仍然有效?

同时做:

synclient TapButton1=1 TapButton2=2 TapButton3=3

...可以工作,但重启后无法保存。
但是这样做:

synclient VertTwoFingerScroll=1 HorizTwoFingerScroll=1

不是努力修复双指滚动问题。

输出:cat /var/log/Xorg.0.log | grep -i synaptics

[ 4.576] (II) LoadModule: “synaptics”
[ 4.577] (II) 加载 /usr/lib/xorg/modules/input/synaptics_drv.so
[ 4.577] (II) 模块 synaptics: vendor="X.Org Foundation"
[ 4.577] (II) 将输入驱动程序“synaptics”用于“ETPS/2 Elantech ETF0401”
[ 4.577] (II) 加载 /usr/lib/xorg/modules/input/synaptics_drv.so
[ 4.584] (--) synaptics: ETPS/2 Elantech ETF0401: x 轴范围 0 - 1088
[ 4.584] (--) synaptics: ETPS/2 Elantech ETF0401: y 轴范围 0 - 704
[ 4.584] (--) synaptics:ETPS/2 Elantech ETF0401:压力范围 0 - 255
[ 4.584] (--) synaptics:ETPS/2 Elantech ETF0401:手指宽度范围 0 - 16
[ 4.584] (--) synaptics:ETPS/2 Elantech ETF0401:按钮:左、右、中、双、三重滚动按钮
[ 4.584] (--) synaptics:ETPS/2 Elantech ETF0401:供应商 0x2 产品 0xe
[ 4.584] (--) synaptics:ETPS/2 Elantech ETF0401:找到触摸板
[ 4.588] ( **) synaptics:ETPS/2 Elantech ETF0401:(加速)最小速度现在是恒定减速 2.5
[ 4.588] ( **) synaptics: ETPS/2 Elantech ETF0401:MaxSpeed 现为 1.75
[ 4.588] ( **) synaptics:ETPS/2 Elantech ETF0401:AccelFactor 现为 0.154
[ 4.589] (--) synaptics:ETPS/2 Elantech ETF0401:找到触摸板

尝试安装突触但这似乎也不起作用,所以将其删除。

临时修复(在我重新启动之前有效)

执行以下命令:

modprobe -r psmouse
modprobe psmouse proto=imps

有效,但现在xin输入列表显示为:

虚拟核心指针 id=2 [主指针 (3)]
↳ 虚拟核心 XTEST 指针 id=4 [从指针 (2)]
↳ ImPS/2 通用滚轮鼠标 id=13 [从指针 (2)]

代替伊兰特,当我重新启动时它会被重置。

解决方案(对大多数人来说并不理想)

所以,我最终重新安装新的 12.04 在间接操作了 burg 和 plymouth 之后,删除了 plymouth,从而删除了 50 多个软件包(我看到了警告,但是太累了,以为之后我可以“重新安装”它们(但那没有用)。

现在xin输入列表显示为:

⎡ 虚拟核心指针 --- id=2 [主指针 (3)]
⎜ ↳ 虚拟核心 XTEST 指针 --- id=4 [从指针 (2)]
⎜ ↳ ETPS/2 Elantech 触摸板 --- id=13 [从指针 (2)]

grep 'touch\|mouse\|track\|synapt' 已安装软件

libnetfilter-conntrack3 --- 安装
libsoundtouch0 --- 安装
libutouch-evemu1 --- 安装
libutouch-frame1 --- 安装
libutouch-geis1 --- 安装
libutouch-grail1 --- 安装
libxatracker1 --- 安装
mousetweaks --- 安装
Printer-driver-ptouch --- 安装
xserver-xorg-input-mouse --- 安装
xserver-xorg-input-synaptics --- 安装
xserver-xorg-input-vmmouse --- 安装

cat /var/log/Xorg.0.log | grep -i synaptics

[ 4.890] (II) LoadModule:“synaptics”
[ 4.891] (II) 加载 /usr/lib/xorg/modules/input/synaptics_drv.so
[ 4.892] (II) 模块 synaptics:vendor="X.Org Foundation"
[ 4.892] (II) 将输入驱动程序“synaptics”用于“ETPS/2 Elantech Touchpad”
[ 4.892] (II) 加载 /usr/lib/xorg/modules/input/synaptics_drv.so
[ 4.956] (II) synaptics:ETPS/2 Elantech Touchpad:忽略半多点触控设备的触摸事件
[ 4.956] (--) synaptics:ETPS/2 Elantech Touchpad:x 轴范围 0 - 1088
[ 4.956] (--) synaptics:ETPS/2 Elantech触摸板:y 轴范围 0 - 704
[ 4.956] (--) synaptics:ETPS/2 Elantech 触摸板:压力范围 0 - 255
[ 4.956] (--) synaptics:ETPS/2 Elantech 触摸板:手指宽度范围 0 - 15
[ 4.956] (--) synaptics:ETPS/2 Elantech 触摸板:按钮:左键右键双键三键
[ 4.956] (--) synaptics:ETPS/2 Elantech 触摸板:供应商 0x2 产品 0xe
[ 4.956] (--) synaptics:ETPS/2 Elantech 触摸板:找到触摸板
[ 4.980] () synaptics: ETPS/2 Elantech Touchpad: (加速) MinSpeed 现在是恒定减速 2.5
[ 4.980] (
) synaptics: ETPS/2 Elantech Touchpad: MaxSpeed 现为 1.75
[ 4.980] (**) synaptics: ETPS/2 Elantech Touchpad: AccelFactor 现为 0.154
[ 4.980] (--) synaptics: ETPS/2 Elantech Touchpad: 找到触摸板

因此,如果一切都失败了,请重新安装 Linux :/

答案1

要使 synclient 设置生效,您可以将其添加到 xorg.conf。我最近为 12.10 版的 MacBook Pro 做了这个,效果很好。

您还可以在 /etc/X11/xorg.conf.d/ 文件中指定单独的配置文件,以使一切更简洁。以下是分步说明:

  1. 创建 /etc/X11/xorg.conf.d(如果它不存在)

    sudo mkdir /etc/X11/xorg.conf.d

  2. 创建并编辑 /etc/X11/xorg.conf.d/10-synaptics.conf

    gksudo gedit /etc/X11/xorg.conf.d/10-synaptics.conf

  3. 让它看起来如下所示:

    #Sample /etc/X11/xorg.conf.d/10-synaptics.conf
    Section "InputClass"
      Identifier "touchpad catchall"
      Driver "synaptics"
      MatchDevicePath "/dev/input/event*"
      MatchIsTouchpad "true"
      Option  "SHMConfig"           "true"
      Option  "TapButton1"          "1"
      Option  "TapButton2"          "2"
      Option  "TapButton3"          "3"
    EndSection
    
  4. 保存并再次注销/登录。如果 xserver 加载失败,您被迫进入低图形模式,则再次编辑文件并注释掉所有内容,或mv /etc/X11/xorg.conf.d/10-synaptics.conf ~/10-synaptics.conf.backup再次重新加载以恢复正常。

为了方便以后使用,我目前为我的 MacBook Pro 2012 13" 设置的设置如下(警告,我喜欢我的触摸板相当灵敏)。在将它们放入 xorg.conf 之前,请使用 synclient 尝试这些选项!

Section "InputClass"
      Identifier "touchpad catchall"
      Driver "synaptics"
      MatchIsTouchpad "on"
      MatchDevicePath "/dev/input/event*"
      MatchProduct "bcm5974"
      MatchIsTouchpad "true"
      Option  "SHMConfig"           "true"
      Option  "FastTaps"            "1"
      Option  "MaxDoubleTapTime"    "100"
      Option  "BottomEdge"          "6000"
      Option  "FingerLow"           "60"
      Option  "FingerHigh"          "90"
      Option         "ClickFinger3" "2"
#      Option         "FingerLow"             "30"
#      Option         "FingerHigh"            "80"
      Option         "VertTwoFingerScroll" "1"
      Option         "HorizTwoFingerScroll" "1"
      Option         "VertScrollDelta" "100"
      Option         "HorizScrollDelta" "100"
      Option         "MultiFingerButton" "2"
      #Option         "TapButton1" "1"
      Option         "TapButton2" "3"
      Option         "TapButton3" "2"
      Option         "MinSpeed" "1"
      Option         "MaxSpeed" "2"
      Option         "AccelFactor" "0.01"
#      Option         "AreaBottomEdge" "5000"
EndSection

答案2

这是我的做法。

编写一个 shell 脚本,我的脚本名为“synScript.sh”,名字不限。我的脚本包含:

    synclient MaxTapTime=0

我将其保存在文件夹 ~/Scripts(我创建的)下。确保在保存后右键单击它并转到权限以允许执行该文件。然后编辑您的 lightdm.conf:

    sudo nano /etc/lightdm/lightdm.conf

在 lightdm.conf 的底部添加这一行

    display-setup-script=/home/[your username]/Scripts/synScript.sh

现在脚本将始终在 lightDM 之前运行,这样,即使您使用不同的 DE(例如 Xmonad),您也将始终拥有相同的触摸板设置。顺便说一句,如果您需要知道要更改哪些设置,只需按 ctrl+alt+t 进入终端并输入:

    synclient

看看你的默认设置是什么。

杀了!


。个人电脑

答案3

您是否尝试过从包管理器或软件中心使用 synaptics(不记得它在哪里)。

编辑

尝试这个链接---https://bugzilla.redhat.com/show_bug.cgi?id=728607--- 有一个补丁可以修复它。我必须在 11.10 之前获得一个补丁。然后使用 synaptiks(抱歉拼写错误)。查看线程以获取最新版本。

答案4

Debian Wheezy 中的新更新解决了我在 Asus EEE 1000 上用两根手指滚动的问题。我估计它很快就会渗透到 Ubuntu 中。

xserver-xorg-input-synaptics v1.5.99.904.1

相关内容