50-synaptics.conf 选项不起作用

50-synaptics.conf 选项不起作用

Ubuntu 如何得出默认的 synaptics 设置?我在 Eeepc 900 上安装了 Ubuntu Netbook 10.10。出厂时 TapButton2 设置为 3,TapButton3 设置为 2。

我有几个自定义的 synaptics 设置,我想将它们作为系统默认设置。现在我使用一个带有 synclient 命令的脚本,每次启动或唤醒时都必须运行它。真糟糕。以前所有东西都放在 xorg.conf 中……现在它不再存在了。我正在尝试学习新方法,显然是 conf 文件/usr/share/X11/xorg.conf.d

  1. 我编辑后/usr/share/X11/xorg.conf.d/50-synaptics.conf的样子如下:

    “输入类”部分
         标识符“触摸板万能钥匙”
         驱动程序“synaptics”
         MatchIsTouchpad“开启”
         MatchDevicePath“/dev/input/event*”
         选项“LockedDrags”“1”
         选项“TapButton2”“2”
         选项“TapButton3”“3”
    结束部分
  2. 我尝试修改触摸板部分/usr/share/X11/xorg.conf.d/10-evdev.conf,但没有成功。

  3. 在一个部分中尝试了相同的 50-synaptics.conf 和 10-evdev.conf 文件/etc/X11/xorg.conf.d

  4. /etc/X11/xorg.conf尝试使用上面的 InputClass 部分进行制作。没有成功。

我总是先撤销旧的更改,再进行新的更改,然后启动一个新的 X 会话来测试(startx -- :2)。我觉得有趣的东西切换到虚拟终端 ( ctrl++ ) 后altF1我的 synaptics 设置会丢失。严重吗?我不知道。

这些是我运行的 synclient 命令:

jake@clyde:~$ cat bin/synset.sh
/bin/bash #!/bin/bash
synclient TapButton2=2
synclient TapButton3=3
synclient LockedDrags=1

/dev/input 中的内容如下:

jake@clyde:/dev/input$ ls
by-path/  event0  event1  event2  event3  event4  event5  event6  event7  mice  mouse0
jake@clyde:/dev/input$ ls -l by-path/
total 0
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-eeepc-event -> ../event6
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-0-event-kbd -> ../event4
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-event-mouse -> ../event7
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-mouse -> ../mouse0

X 日志相当长,但这里有一些输出。如果整个日志有用,那么上传它的最佳位置在哪里?

jake@clyde:/var/log$ egrep "synaptics|touchpad" Xorg.0.log
[    16.707] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event7)
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev touchpad catchall"
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    16.707] (II) LoadModule: "synaptics"
[    16.707] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    16.707] (II) Module synaptics: vendor="X.Org Foundation"
[    16.708] (II) Synaptics touchpad driver version 1.2.2
[    16.708] (II) ETPS/2 Elantech Touchpad: x-axis range 8 - 1144
[    16.708] (II) ETPS/2 Elantech Touchpad: y-axis range 8 - 760
[    16.708] (II) ETPS/2 Elantech Touchpad: device does not report pressure, will use touch data.
[    16.708] (II) ETPS/2 Elantech Touchpad: finger width range 0 - 0
[    16.708] (II) ETPS/2 Elantech Touchpad: buttons: left right double triple
[    16.708] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.708] (**) ETPS/2 Elantech Touchpad: always reports core events
[    16.708] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
[    16.708] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 0
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    16.709] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.710] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[ 15516.377] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44215.009] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44358.733] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44414.761] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44515.817] (--) ETPS/2 Elantech Touchpad: touchpad found

看起来这个问题在当前的 Ubuntu(12.04、12.10)中仍未解决。

答案1

好的,让我们尝试深入研究

Xorg 自定义配置:

随着 HAL Xorg 用途的弃用udev用于设备检测。因此,在配置 XServer 时,将考虑定义的任何 udev 规则。但是,由于 Xorg 支持配置文件,因此无需定义 udev 规则,事实上,不鼓励定义 udev 规则。

自定义配置文件遵循以下优先级:

  • 设置来自/usr/share/X11/xorg.conf.d/
  • udev 规则(我不太确定 udev 优先级,可能更低)
  • 设置来自/etc/X11/xorg.conf.d/
  • 中的设置/etc/X11/xorg.conf

其中旧的、仍受支持的规则具有最高优先级。因此,当发现具有更高优先级的其他规则时,xorg.conf您添加的任何规则的有效性都会降低。/usr/share/X11/xorg.conf.d/

要定义不使用 xorg.conf 文件的自定义配置,您需要创建一个文件夹/etc/X11/xorg.conf.d/,将自定义设备配置文件放入其中(此处为 50-synaptics.conf)。但是,现有 xorg.conf 文件中的任何其他定义都将覆盖这些定义,因此您需要删除 xorg.conf 文件。

不幸的是,我无法使用 Synaptics Touchpad,因此无法测试它是否真的有效。关于如何配置 X 的非常好的教程(虽然很陌生)可以在Fedora 项目维基

祝你好运。

答案2

我使用的是 Ubuntu 11.04,显然 gnome 设置守护进程会覆盖 synaptics 选项(无论您将它们放在哪里)。事实上,对于“TapButton”选项,djkeikyb 尝试使用的值是默认值,而守护进程会将其反转。

在启动时使用 synclient 命令运行脚本是不可能的,因为 djkeikyb 描述了虚拟终端,而且每次我连接/断开 USB 鼠标时,值也会被重置。

我决定禁用鼠标/触摸板属性的设置守护进程。在终端中输入:

gconf-editor

然后转到应用程序 > gnome_settings_daemon > 插件 > 鼠标并关闭活动选项。当然,副作用是无法在系统 > 首选项 > 鼠标下编辑鼠标属性

答案3

目前看来,这似乎是一个错误。我将继续询问 synaptic 和 xorg 邮件列表并提交错误报告。这是我不满意的答案 :/

虽然我还没有机会在 Ubuntu 11.04 中测试我的选项,但 synaptics 和 xorg 也不要在最新的 (Thu Jun 2 03:09:43 PDT 2011) Arch 安装中按预期工作。因此,它似乎是上游错误,而不是 Ubuntu 特有的。

答案4

不确定是否有帮助,但如果你将其保存为 xorg.conf 它应该可以工作

相关内容