如何配置触摸板的中键?


60

在几乎所有大型的现代Linux发行版中以及在基于Ubuntu的最新发行版中,触摸板均已开箱即用地配置为具有右键,左键和中键,您可以轻松配置它们。通常用两指或三指点击来完成中键单击。

在Ubuntu 12.04中,我没有看到在何处启用中间点击,并且默认情况下未启用它。


答案在某种程度上取决于您所使用的触控板的类型,但是通常只需要在中添加适当的选项即可/etc/X11/xorg.conf。有关Synaptics触控板的一些说明: askubuntu.com/a/126539/43660
-Ho Suh

Answers:


42

您可以按照以下步骤使它工作并在Ubuntu 12.04中持久化,甚至在挂起后也可以。

首先,使用您的脚本创建一个文件:

echo synclient TapButton3=2 > ~/touchpad_settings.sh

(如果您希望在ubuntu安装中拥有多个帐户,则可以将脚本放置在另一个目录中,例如/usr/bin/etc,如果希望将其放置在一个更“通用”的位置)。

然后使其可执行:

chmod +x ~/touchpad_settings.sh

最后,运行以下命令,将“ user”替换为您的用户名:

gsettings set org.gnome.settings-daemon.peripherals.input-devices hotplug-command "/home/user/touchpad_settings.sh"

然后重新启动,或注销和登录,或重新启动GNOME。

就这样!

有关此修复程序的更多信息,请转到此处


1
另请参阅Manuker的点击(除了tap之外的答案
z0r 2015年

是否知道如何在整个系统范围内(即针对系统上的所有用户)进行此工作?
汉斯·德拉贡

34

我在搜索时发现,触摸板在角落处的水龙头设置不同,如果在右下角进行水龙头,则单击右键。但是,如果您点击右上角的按钮,则会执行中键单击。这是默认设置。


3
是的,我偶然发现多点触摸板右上角的一个点击就像是一次点击。右键单击对我来说是两指点击。
艾伦(Alen)

5
在Ubuntu 14.04中,这似乎仍然是默认设置。我不敢相信在Mouse&Touchpad设置对话框中,htere似乎没有任何文档,甚至没有GUI表示。
瑞安·费舍尔

有什么方法可以禁用此功能吗?
hellocatfood

2
这是2015年,但仍然有效:)
汤姆·史蒂芬斯

我必须反复尝试以突触识别的方式击中角落。然后我最终两次粘贴东西。有没有办法使“右上角”更大?
Jean Jordaan 2015年

19

下面是另一个可能更简单并避免启动脚本的选项。

  1. 阻止gnome设置守护程序覆盖现有设置(字体:Touchpad Synaptics-ArchWiki)。

    gsettings set org.gnome.settings-daemon.plugins.mouse active false
    
  2. 编辑触摸板的X11配置文件。

    sudo -H gedit /usr/share/X11/xorg.conf.d/50-synaptics.conf
    

    并在带有synaptics驱动程序的部分下添加按钮选项,如下所示:

    Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
            Option "TapButton1" "1"
            Option "TapButton2" "3"
            Option "TapButton3" "2"
            Option "HorizTwoFingerScroll" "on"
            Option "VertTwoFingerScroll" "on"
    EndSection
    

5
从13.10开始,/usr/share/X11/xorg.conf.d/50-synaptics.conf警告“请勿编辑此文件,更新时您的发行版可能会覆盖它。/etc/X11/xorg.conf.d首先将此文件复制(并重命名)。”
Firefeather 2013年


1
@Firefeather:也许您希望您的发行版对其进行更新,因为这可能是因为,您的发行版找到了一个比此更好的解决方案。我要记住要再次添加它,以防发行版覆盖它
rubo77

@ rubo77的重点是,如果您的发行版提供了更好的解决方案,那么您将相关的改进复制到用户版本中/etc!而不是冒险让你的定制的/usr/share-就好像是应该总是被视为一个目录只读-丢弃,如果你不“记住”你冒险通过不使用丢失的东西etc;-)
underscore_d

我正在使用Xubuntu 18.04。工作了。我不需要执行步骤1,在步骤2中,路径为/usr/share/X11/xorg.conf.d/70-synaptics.conf
ruediste

15
synclient ClickFinger3=2
synclient TapButton3=2

要显示实际值列表:

synclient -l

希望对您有帮助(对我有帮助!)


ClickFinger3=2太棒了-现在它的工作方式类似于Debian。
z0r

这个怎么运作?我设置了这些值,但不清楚如何点击或单击中间按钮
juanpastas 2015年

在Synaptics手册页中可以找到所有设置的详尽描述。在这种情况下,上述设置可通过单击或用三根手指单击来实现中键单击。
Jim Hurne,2015年

在dist升级过程中三击消失后,也可以在ubuntu17.04中使用
wotanii

这对我有用,但是重新启动系统会还原使用此命令所做的更改。我该如何保存?
Bej


6

您可以使用synclient TapButton3=2终端中的命令启用它,但是在suspend + resume和重新引导后,它似乎已被覆盖。

永久解决方案:

在Xfce论坛线程中为Xfce 进行了解释

但是,unity-2d(我想也是Unity)喜欢在简历上摆弄这些设置,而且我不知道如何禁用它。也许是utouch,我真的不知道。

底线是,有一种方法来永久配置中点击:

  • 添加一个您喜欢的名称(例如“ touchpad tweak”和命令)的自定义启动应用程序(在右上角的“齿轮”菜单下,统一)sh -c "/usr/bin/synclient TapButton3=2",然后保存它。

这很好,直到您暂停并恢复。为了那个原因:

  • 打开一个终端,然后键入 gksudo gedit /etc/pm/sleep.d/80-synaptics-three-finger
  • 将以下文本复制并粘贴到文件中:

    #!/bin/sh
    
    # Restore three finger tapping
    
    case "$1" in
            resume|thaw)
                    sleep 5;
                    /bin/su YOUR_USER_NAME -c "/usr/bin/synclient TapButton3=2"
                    ;;
    esac
    
  • 替换YOUR_USER_NAME为您的登录名- 不能长。例如,使用“ fred”代替“ fred fuchs”。如果您不记得它了,可以随时whoami在终端窗口中键入,它会告诉您。

  • 保存文件。

  • 使它可执行;只需sudo chmod +x /etc/pm/sleep.d/80-synaptics-three-finger在终端窗口中输入。它将要求您输入密码。

如果正确完成所有这些操作,则在挂起/恢复循环后,系统应保持三指点击作为中键。

现在这很有趣且用户友好,不是吗?我只想知道为什么团结默默地干扰synclient设置,甚至想知道为什么没有简单的GUI工具来配置所有这些。无论如何,那里有。


为什么这会引起反对?
kzh 2012年

暂停/恢复任务是我一段时间以来一直需要做的事情。谢谢!
tucuxi 2012年

@kzh:也许是因为我的讽刺语气。或可能是因为最好像这样将其放在xorg.conf中(如果已经存在,则放在最后): Section "Inputclass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton3" "2" EndSection
bamdad 2012年

抱歉,评论表吃了我的换行符。希望你明白了。:)以防万一,我将编辑我的原始答案。
bamdad 2012年

3

我尝试了这里提供的几种解决方案,但是东芝Satellite却没有任何工作。窍门似乎在于“触摸板”(即带有相邻按钮的鼠标垫)和“单击板”(即没有相邻按钮的垫)之间的区别:单击该垫。

此Toshiba Satellite具有一个Clickpad,因此单击角落的按钮不起作用,并且我无法使三指单击起作用。

根据dllud的回答,我发现我必须/usr/share/X11/xorg.conf.d/50-synaptics.conf基于https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29上的信息进行编辑(在kubuntu上),我现在具有类似这样的部分:

Section "InputClass"
    Identifier "Default clickpad buttons"
    MatchDriver "synaptics"
    Option     "SoftButtonAreas"  "60% 0 82% 0 40% 59% 82% 0"
EndSection

这会将打击垫设置为40%左键,20%中间键,40%右键。仍然需要一些练习才能正确击中中间位置。



1

触摸板在角落的水龙头有不同的设置,如果在右下角进行水龙头,则单击鼠标右键。但是,如果您点击右上角的按钮,则会执行中键单击。这是默认设置。

简单的兄弟为我工作:)


1
一个人将如何配置呢?您如何将其设置为他计算机上的默认设置?
卡兹·沃尔夫

1

对于某些系统,同时单击左右两个按钮都可以。

请参阅Xorg文档并搜索“中间”一词。

Ubuntu 12.04
触摸板:Elantech


1

带按钮的触摸板

我曾经有一台带有触摸板按钮的笔记本电脑,并且要同时单击它们以引起模拟中点击。

触摸板(无按钮)

我现在有一个无按钮的触摸板。这是我所做的:

使用以下命令来了解您的触摸板尺寸值和配置:

$ synclient -l | grep 'Area\|Edge\|ClickFinger' 
LeftEdge                = 129
RightEdge               = 3105
TopEdge                 = 126
BottomEdge              = 2211
VertEdgeScroll          = 0
HorizEdgeScroll         = 0
ClickFinger1            = 1
ClickFinger2            = 3
ClickFinger3            = 0
AreaLeftEdge            = 0
AreaRightEdge           = 0
AreaTopEdge             = 0
AreaBottomEdge          = 0
RightButtonAreaLeft     = 1617
RightButtonAreaRight    = 0
RightButtonAreaTop      = 1916
RightButtonAreaBottom   = 0
MiddleButtonAreaLeft    = 0
MiddleButtonAreaRight   = 0
MiddleButtonAreaTop     = 0
MiddleButtonAreaBottom  = 0

然后使用synclient var1=value1 var2=value2 ...语法修改这些值以适合您的需求。请参阅我给belo的示例命令

注意:

  • ClickFinger1ClickFinger2然后ClickFinger3在分别用一根,两根或三根手指触摸触摸板时,选项会重新映射点击。
  • 值1对应于左击。
  • 值2对应于中点击。
  • 值3对应于右键单击。

这是我在Startup Applications Preferences窗口中运行并设置的命令,用于配置触摸板:

$ synclient RightButtonAreaTop=0 RightButtonAreaLeft=0   MiddleButtonAreaTop=1916 MiddleButtonAreaLeft=1617  ClickFinger1=0
  • RightButtonAreaTop=0RightButtonAreaLeft=0取消设置导致右键单击的“右键”(我无法使用ivan-volosyuk的设置来设置所有三个按钮。我只有中键)。我使用两指点击来产生右键单击。无法保持右键单击并不足以促使我寻找解决方案。

  • MiddleButtonAreaTop=1916MiddleButtonAreaLeft=1617设置“右键”以引起中间点击。

  • ClickFinger1=0禁用对单击的特殊解释,这种特殊解释是在单击手指时,一根手指触摸表面时发生的。它的先前值:ClickFinger1=1导致非点击手指触摸触摸板时,我的右键单击被解释为左键单击。

用自己喜欢的方式破解它。也许你会比我做的更好。


0

如果您在XFCE Wiki中查找鼠标/触控板设置,它将提到如何设置“设备属性”。不幸的是,由于设备的直接设置必须在“ Properties /”下才能生效,因此尚不完善。例如,要使两个手指触摸中键单击和三个手指触摸右键单击,我需要更改“ Synaptics Tap Action”。最初的样子是这样的:

$ xinput list-props "ETPS/2 Elantech Touchpad" | grep "Tap Action"
    Synaptics Tap Action (298): 2, 3, 0, 0, 1, 3, 0

要设置XFCE 4.12,必须执行以下操作:

xfconf-query -c pointers -p /ETPS2_Elantech_Touchpad/Properties/Synaptics_Tap_Action -n -t int -t int -t int -t int -t int -t int -t int -s 2 -s 3 -s 0 -s 0 -s 1 -s 2 -s 3

现在我们可以看到它已更改:

$ xinput list-props "ETPS/2 Elantech Touchpad" | grep "Tap Action"
    Synaptics Tap Action (298): 2, 3, 0, 0, 1, 2, 3

-1

我建议将synclient TapButton2=2和添加synclient TapButton3=3到您的~/.bashrc配置中。为此,请打开终端并运行:

$ echo synclient TapButton2=2 >> ~/.bashrc
$ echo synclient TapButton3=3 >> ~/.bashrc

然后重新启动计算机。

这些synclient命令执行以下操作:

  • synclient TapButton2=2 将两指点击设置为中键单击。
  • synclient TapButton3=3 将三指轻按设置为右键单击。

您可以执行以下操作,而不是将其放入bashrc中。编辑/usr/share/X11/xorg.conf.d/50-synaptics.conf。在您设备的部分中,添加“选项“ TapButton3”“ 3”“。
Atifm
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.