第一次启动 Guix 后,我注意到点击触摸板不会呈现任何操作。显然,Guix 附带了触摸板的默认配置,允许我点击触摸板,这基本上就足够了,但是禁用了点击,这可能会因为触摸板的大量使用而感到累人。这类似于Debian 上可能会遇到的默认配置。
为了以防万一,我曾经xinput list
找出触摸板的名称,xinput list-props
然后是触摸板名称,以检查其功能。
synclient
然后我用 找到了二进制文件的位置find
,并且synaptics(4)
man
在线查阅页面,调用synclient
来TapButton1=1
启用一指点击,然后使用 来TapButton2=3
将两指点击设置为右键事件(这会带来右键单击菜单)。在其上,我还启用了水平两指滚动HorizTwoFingerScroll=1
,以及通过将 和 设置VertScrollDelta
为HorizScrollDelta
我从中学到的相同值xinput list-props
但为负值(通过-
在每个值之前添加)来启用自然滚动。
现在,人们通常会将此设置添加到/etc/X11/xorg.conf.d/70-synaptics.conf
.但由于这是 Guix,该文件不在/etc
GNU 存储中,而是在 GNU 存储中,并且触摸板驱动程序应该在/etc/config.scm
.GNU Guix 参考手册1.3.0 版本没有提到如何配置 synaptics。
在 Guix 系统上我可以做什么,这样我就不需要在每次登录后自己配置触摸板?
答案1
我xf86-input-synaptics
在我的用户配置文件中安装了为我的用户guix install xf86-input-synaptics
添加的synclient
路径。 (即使没有任何互联网连接,此操作也能完成!)这样,我现在使用以下脚本:
#! /run/current-system/profile/bin/bash
# Enable one-finger tap and double tap
synclient TapButton1=1
# Enable two-finger tap to open right-click menu
synclient TapButton2=3
# Enable horizontal scroll with two fingers
synclient HorizTwoFingerScroll=1
# Enable natural scrolling
synclient VertScrollDelta=-"$(synclient | grep VertScrollDelta | cut -d '=' -f 2 | cut -c 2-)"
synclient HorizScrollDelta=-"$(synclient | grep HorizScrollDelta | cut -d '=' -f 2 | cut -c 2-)"
我选择将其存储~/.local/bin/synaptics-user-settings
并放入以下自动启动文件在~/.config/autostart/load-synaptics-user-settings.desktop
。 (/home/roman
是我的主目录。)
[Desktop Entry]
Type=Application
Exec=/home/roman/.local/bin/load-synaptics-user-settings
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
不管怎样,这感觉像是一个解决方法。
答案2
复制/usr/share/X11/xorg.conf.d/70-synaptics.conf
并/etc/X11/xorg.conf.d/
编辑:
Section "InputClass"
...
Option "TapButton2" "3"
答案3
启用点击、两指点击、自然滚动甚至现代 GNOME 三指滑动的更好方法是切换到 libinput 而不是 synaptics 驱动程序。有一个将 xf86-input-synaptics 模块列入黑名单的示例配置,但我决定完全切换到 Wayland:
;;…
(services (modify-services
;;…
(gdm-service-type config => (gdm-configuration
(inherit config)
(wayland? #t)))
))
;;…
重启后,默认会话应该是wayland,你可以检查一下GDM屏幕右下角小齿轮⚙️下的它不是X11。登录后,您可以从终端检查当前会话和echo $XDG_SESSION_TYPE
。
不要忘记在 GNOME 控制中心中打开“Tap to Click”。
更新:Guix系统现在libinput
默认使用。值得注意的是,并libinput
没有解释“三指滑动、捏合缩放等”触摸屏手势” 本身。相反,它将它们传递给 Wayland 或 X 客户端。只是碰巧 X 中这些未配置或无法工作(至少在 Fedora 和 Guix 中),因此libinput
必须切换到 Wayland 才能使它们工作。