触控板上的鼠标中键单击模拟,如何设置?

触控板上的鼠标中键单击模拟,如何设置?

我刚刚更新到 Ubuntu 11.10,并且正在使用 Unity。自从更新以来,我无法再使用触控板的“中键点击”。在 Firefox 中浏览标签页变得很麻烦 :(

我过去常常将“三指点击”中键单击和“两指点击”右键单击互换,因为我几乎从来不用右键单击。我猜这是通过鼠标配置完成的,但现在我找不到了。

我可以在哪里设置它?

更糟糕的是,三指点击没有任何作用,因此自更新以来,根本无法进行中间点击。

我怎样才能解决这个问题?

我知道我可以删除安装(我有一个单独的主分区)并安装旧版本,但如果可能的话,我想使用实际的软件和最新的 Unity。

答案1

leoperbo 的答案对我的 Ubuntu 12.04 有用,但我不得不改变266leoperbo 建议的命令中的数字。如果没有仔细找到 3 位数字,则不应使用此命令

xinput set-int-prop NN 266 8 2 3 0 0 1 2 3

但是其他命令应该可以正常工作(设置的数字没有意义因此我更改了它们)

xinput set-prop "ETPS/2 Elantech Touchpad" "Synaptics Tap Action" 2, 3, 0, 0, 1, 2, 3

以防万一,我写了以下指南来查找触摸板的 NN 和 266。最后,我还解释了您设置的值,以便您可以选择最佳设置。此外,您可能应该阅读 leoperbo 的回答,了解如何永久设置

首先在终端中使用以下命令

xinput list

你会得到类似这样的结果

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ 1.3M WebCam                               id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=12   [slave  keyboard (3)]

我们需要的是触摸板的 ID(在我的例子中是 13)

第二步,在终端中使用以下命令,将 XX 替换为您在上面找到的 ID 号

xinput list-props XX

你会得到类似这样的结果

Device 'ETPS/2 Elantech Touchpad':
Device Enabled (144):   1
Coordinate Transformation Matrix (146): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (269): 1
Device Accel Constant Deceleration (270):   2.500000
Device Accel Adaptive Deceleration (271):   1.000000
Device Accel Velocity Scaling (272):    12.500000
Synaptics Edges (273):  56, 1352, 34, 606
Synaptics Finger (274): 1, 1, 256
Synaptics Tap Time (275):   180
Synaptics Tap Move (276):   68
Synaptics Tap Durations (277):  180, 180, 100
Synaptics ClickPad (278):   0
Synaptics Tap FastTap (279):    1
Synaptics Middle Button Timeout (280):  75
Synaptics Two-Finger Pressure (281):    282
Synaptics Two-Finger Width (282):   7
Synaptics Scrolling Distance (283): 30, 30
Synaptics Edge Scrolling (284): 0, 0, 0
Synaptics Two-Finger Scrolling (285):   1, 0
Synaptics Move Speed (286): 1.000000, 1.750000, 0.129366, 40.000000
Synaptics Edge Motion Pressure (287):   30, 160
Synaptics Edge Motion Speed (288):  1, 123
Synaptics Edge Motion Always (289): 0
Synaptics Off (290):    2
Synaptics Locked Drags (291):   0
Synaptics Locked Drags Timeout (292):   5000
Synaptics Tap Action (293): 2, 3, 0, 0, 1, 3, 0
Synaptics Click Action (294):   1, 1, 0
Synaptics Circular Scrolling (295): 0
Synaptics Circular Scrolling Distance (296):    0.100000
Synaptics Circular Scrolling Trigger (297): 0
Synaptics Circular Pad (298):   0
Synaptics Palm Detection (299): 0
Synaptics Palm Dimensions (300):    10, 200
Synaptics Coasting Speed (301): 20.000000, 50.000000
Synaptics Pressure Motion (302):        ... of unknown type CARDINAL

Synaptics Pressure Motion Factor (303): 1.000000, 1.000000
Synaptics Resolution Detect (304):  1
Synaptics Grab Event Device (305):  1
Synaptics Gestures (306):   1
Synaptics Capabilities (307):   1, 0, 1, 1, 1, 1, 1
Synaptics Pad Resolution (308): 1, 1
Synaptics Area (309):   0, 0, 0, 0
Synaptics Noise Cancellation (310): 7, 7
Device Product ID (263):    2, 14
Device Node (264):  "/dev/input/event11"

我们需要找到上面的这一行

    Synaptics Tap Action (293): 2, 3, 0, 0, 1, 3, 0

并记下 ( ) 内的数字,在我的例子中是 293

终端上的第三条也是最后一条命令(将 XX 替换为 id,将 YYY 替换为 () 内的数字,对于我的笔记本电脑,XX=13 和 YYY=293)

xinput set-int-prop XX YYY 8 2 3 0 0 1 2 3

值 2 3 0 0 1 2 3 是按正确顺序排列的以下设置 0=禁用 1=左键单击 2=中间 3=右键

Option "RTCornerButton"
Which mouse button is reported on a right top corner tap.

Option "RBCornerButton"
Which mouse button is reported on a right bottom corner tap.

Option "LTCornerButton"
Which mouse button is reported on a left top corner tap.

Option "LBCornerButton"
Which mouse button is reported on a left bottom corner tap.

Option "TapButton1"
Which mouse button is reported on a non-corner one-finger tap.

Option "TapButton2"
Which mouse button is reported on a non-corner two-finger tap.

Option "TapButton3"
Which mouse button is reported on a non-corner three-finger tap.

答案2

要修复中间单击,您可以使用以下命令:

xinput 设置 int-prop NN 266 8 2 3 0 0 1 2 3

其中 NN 是鼠标垫设备的 id,您可以使用命令 xinput list 查看它。266 是属性“Synaptics Tap Action”的 id,您可以使用 xinput list-props NN 查看它。示例:

xinput set-prop "ETPS/2 Elantech Touchpad" "Synaptics Tap Action" 8, 9, 0, 0, 1, 2, 3

每次恢复后都必须运行该命令。若要在恢复后保留您的 synaptics 配置,您可以按照以下步骤操作(来自 wiki.archlinux.org):

Gnome 设置守护进程可能会覆盖现有设置(例如 xorg.conf.d 中的设置),而图形配置实用程序中没有等效设置。可以完全阻止 gnome 触碰鼠标设置:

1. Run dconf-editor
2. Edit /org/gnome/settings-daemon/plugins/mouse/
3. Uncheck the active setting 

It will now respect your system's existing synaptics configuration.

它在 Ubuntu 11.10 上对我有用,现在我有:

Two-finger scrolling.
Middle Click with two fingers tap.
Right Click (tap at bottom right of scroll area).

相关内容