50-synaptics.conf选项不起作用


23

Ubuntu如何提供默认的突触设置?我已经在Eeepc 900上安装了Ubuntu Netbook 10.10。现成的TapButton2设置为3,而TapButton3设置为2。

我有几个想要作为系统范围默认值的自定义突触设置。现在,我将脚本与synclient命令一起使用,每次启动或唤醒时都必须运行。皮塔饼 它曾经是xorg.conf ..中不再存在的所有内容。我正在尝试学习新方法,该方法显然是的conf文件/usr/share/X11/xorg.conf.d

  1. 我编辑/usr/share/X11/xorg.conf.d/50-synaptics.conf后看起来像:

    “ InputClass”部分
         标识符“触摸板全包”
         驾驶员“突触”
         MatchIsTouchpad“开启”
         MatchDevicePath“ / dev / input / event *”
         选项“ LockedDrags”“ 1”
         选项“ TapButton2”“ 2”
         选项“ TapButton3”“ 3”
    结束部分
  2. 我尝试修改的触摸板部分/usr/share/X11/xorg.conf.d/10-evdev.conf,没有雪茄。

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

  4. 尝试/etc/X11/xorg.conf使用上面的InputClass部分。没有雪茄。

我总是先还原旧的更改,进行新的更改,然后开始一个新的X会话以测试(startx -- :2)。我发现有趣的是,在切换到虚拟终端(ctrl+ alt+ F1)后,我的突触设置都丢失了。重大?我不知道。

这些是我运行的synclient命令:

jake @ clyde:〜$ cat bin / synset.sh
#!/ 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
仅供参考,在询问之前,我看到并遵循“配置Synaptics触摸板设备的推荐方法是什么?” 没有成功。
djeikyb 2011年

抱歉,如果我的评论没有帮助,但是您可以尝试在其中粘贴特别长的内容,并在此处提及以下链接:paste.ubuntu.com
Oxwivi 2011年

1
您可以在dpaste.de中上载整个Xorg.0.log。我在特立独行中遇到了同样的问题,由于无线错误(单独的问题)而无法使用
natty

Answers:


22

好吧,让我们尝试一下

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触摸板,无法测试它是否真的有效。在Fedora Project Wiki中可以找到一个很好的关于如何配置X的教程(尽管是异类)。

祝好运。


恩..我的问题是,为什么在这些位置添加我的选项没有任何效果。
djeikyb 2011年

@djeikyb:您还可以(从Xorg.0.log中)检查是否可能加载了多个突触模块实例(如果另一个是当前设置,则使所有自定义设置无效)
塔卡特

你是对的。从基础开始,逐步完善。无论如何,您现在可以看到我的Xorg日志的一部分。看起来synaptics模块仅加载一次。不确定如何解释/ dev / input,但这是现在的问题。
djeikyb 2011年

不。在10-edev.conf和50-synaptics.conf中进行了尝试。有趣的是,xorg日志确实显示了我从文件中读取的选项。
djeikyb 2011年

1
@djeikyp:xinput --list --long显示当前设备和设置可能会(或可能不会)为您提供其他提示。
塔卡特2011年

8

我正在使用Ubuntu 11.04,显然gnome settings守护程序是一个覆盖synaptics选项的地方,无论您放置在哪里。实际上,对于“ TapButton”选项,djkeikyb尝试使用的值是默认值,并且守护程序将其反转。

在启动时使用synclient命令运行脚本不是一种选择,这是因为djkeikyb描述了虚拟终端,并且因为任何时候我连接/断开USB鼠标时,这些值也会被重置。

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

gconf-editor

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


2
有趣。不幸的是,我认为这是一个上游错误(尽管我一直懒得忙于编写适当的报告)。我在使用Arch Linux并没有gnome时遇到了这个问题。但是,使用这种方法,您可以尊重您的Xorg设置吗?
djeikyb

1
是。我在/usr/share/X11/xorg.conf.d/50-synaptics.conf文件中放了一个“选项”(根据Takkat,它是最低优先级,对吗?),它可以正常工作。
anthomas8 2012年

9
受到这个答案的启发,我找到了一个类似的解决方案。运行dconf-editorapt-get install如果需要,请运行),转到org.gnome.settings-daemon.plugins.mouse,取消选中active。我确认此解决方案使我的/etc/X11/xorg.conf.d/50-synaptics.conf设置在Ubuntu 12.04 beta中得到尊重。@djeikyb,您应该将此答案标记为已接受,因为它是唯一可以实际解决主题问题的答案。
Nikita Volkov 2012年

1
@mojojojo我将安装最新的Ubuntu,并在有空闲时间后尝试一下。看起来很有希望。
djeikyb 2012年

3
在Debian 8 Jessie上为我工作
aaaaaa 2015年

2

在这一点上,它看起来像一个错误。我将继续询问突触和xorg邮件列表并提交错误报告。这是我不满意的答案:/

虽然我还没有机会在Ubuntu 11.04中测试我的选项,但最新版本(Thu Jun 2 03:09:43 PDT 2011)Arch安装仍然无法按预期运行synaptics和xorg 。因此,它似乎是一个上游错误,而不仅仅是Ubuntu。


Bug仍存在于13.04
tutuca

1

如果重要的话,使用从9.04左右升级的11.04系列。udev不起作用,使用/etc/udev/rules.d/99-touchpad-borders.rules

ACTION!="add|change", GOTO="xorg_synaptics_end"
KERNEL!="event*", GOTO="xorg_synaptics_end"

ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="xorg_synaptics_end"

# synclient for settings

ENV{x11_options.RightEdge}="5200"
ENV{x11_options.LeftEdge}="1744"
ENV{x11_options.TopEdge}="2000"
ENV{x11_options.BottomEdge}="4256"

LABEL="xorg_synaptics_end"

重新启动后,synclient显示设置未更改。xorg.conf.d确实可以/usr/share/X11/xorg.conf.d/55-touchpad-border.conf

Section "InputClass"
        Identifier "touchpad border config"
        MatchIsTouchpad "on"
        Driver "synaptics"
        Option "RightEdge" "5200"
        Option "LeftEdge" "1744"
        Option "TopEdge" "2000"
        Option "BottomEdge""4256"
EndSection

重新启动X后,synclient会显示更改。

gpointing-device-settings 也被提到作为解决方案的地方。


真正为您工作的是什么?你能澄清一下吗?听起来您好像在说编辑xorg.conf.d文件可以解决您的问题,但是在Ubuntu 10.10下绝对不适合我。
djeikyb

0

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


5
不推荐使用xorg.conf。如果可能的话,我想这样做。另外,我只是把那部分装进了另外一块空的/etc/X11/xorg.conf雪茄里。
djeikyb 2011年

0

确实

Option "SHMConfig" "on"

还申请吗?至少我的旧configfile中仍然有它。忍受不了那个,可以吗?


我使用没有此选项的synclient。如果我了解:如果需要,对于任何突触配置,它都必须打开。因此,该选项无用。正确?顺便说一句,这对我当前具有相同问题的Arch安装没有影响。希望我可以在此上网本上进行Ubuntu双重引导,这样我就可以在askubuntu上正确维护此问题了:)
djeikyb 2011年

显然,shmconfig会通过HAL,而不再使用。或什么..
marto

那讲得通。当前当前的硬件检测方案是udev和dbus的混合体。我忍不住以为这是一个udev问题的核心,尤其是因为我的synclient设置在诸如休眠之类的acpi事件上重置时。
djeikyb 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.