如何识别触摸板以进行 xorg.conf 修改?

如何识别触摸板以进行 xorg.conf 修改?

更新:我刚刚从 17.10 升级到 18.04。之前没法这么做,因为我正处于一个大型项目的中间阶段,不想冒任何风险。现在 xinput 可以正确报告 Elan 触摸板。现在我只需要尝试禁用三指点击...


我想更改触摸板的默认行为。我经常会不小心用三根手指碰到触摸板(例如滚动时),结果就是粘贴剪贴板中的内容...

我尝试了 xorg.d conf 中的一些选项,但没有效果。我怀疑我没有解决触摸板问题,因为我无法识别它。

华硕 UX310 Ubuntu 17.10

$ uname -a
Linux UX310 4.13.0-46-generic #51-Ubuntu SMP Tue Jun 12 12:36:29 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ xwayland-pointer:13                       id=6    [slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:13              id=7    [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ xwayland-keyboard:13                      id=8    [slave  keyboard (3)]

$ cat /proc/bus/input/devices
I: Bus=0018 Vendor=04f3 Product=3022 Version=0100
N: Name="ELAN1200:00 04F3:3022 Touchpad"
P: Phys=i2c-ELAN1200:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN1200:00/0018:04F3:3022.0001/input/input15
U: Uniq=
H: Handlers=mouse0 event14
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=260800000000003

$ dmesg
i2c_hid i2c-ELAN1200:00: i2c-ELAN1200:00 supply vdd not found, using dummy regulator
hid-multitouch 0018:04F3:3022.0001: Ignoring the extra HID_DG_INPUTMODE
input: ELAN1200:00 04F3:3022 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN1200:00/0018:04F3:3022.0001/input/input15
hid-multitouch 0018:04F3:3022.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN1200:00 04F3:3022] on i2c-ELAN1200:00

$ udevadm info --query=property --name=/dev/input/event14
  DEVLINKS=/dev/input/by-path/pci-0000:00:15.1-platform-i2c_designware.1-event-mouse
  DEVNAME=/dev/input/event14
  DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN1200:00/0018:04F3:3022.0001/input/input15/event14
  ID_INPUT=1
  ID_INPUT_HEIGHT_MM=70
  ID_INPUT_TOUCHPAD=1
  ID_INPUT_WIDTH_MM=103
  ID_PATH=pci-0000:00:15.1-platform-i2c_designware.1
  ID_PATH_TAG=pci-0000_00_15_1-platform-i2c_designware_1
  ID_SERIAL=noserial
  LIBINPUT_DEVICE_GROUP=18/4f3/3022:i2c-ELAN1200:00
  MAJOR=13
  MINOR=78
  SUBSYSTEM=input
  USEC_INITIALIZED=3437217

当我跑步时xinput test 6,触摸、点击或单击触摸板时,屏幕上就会显示活动。

$ xinput --list-props 6
Device 'xwayland-pointer:13':
        Device Enabled (119):   1
        Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (244):     0
        Device Accel Constant Deceleration (245):       1.000000
        Device Accel Adaptive Deceleration (246):       1.000000
        Device Accel Velocity Scaling (247):    10.000000

我试图覆盖触摸板的默认行为。

$ ls /usr/share/X11/xorg.conf.d/
10-amdgpu.conf  10-quirks.conf  11-evdev-quirks.conf      40-libinput.conf          70-synaptics.conf
10-evdev.conf   10-radeon.conf  11-evdev-trackpoint.conf  51-synaptics-quirks.conf  70-wacom.conf

并创建了71-touchpad-disable3touch.conf

我尝试过的示例:

Section "InputClass"
        Identifier "touchpad disable 3finger touch paste"
        MatchIsPointer "true"
        Option "Emulate3Buttons" "false"
        Option "TapButton2" "3"
        Option "ClickFinger2" "3"
        Option "SwapAxes" "true"
EndSection

添加SwapAxes了 ,以便非常清楚地显示是否选择了触摸板配置。不过轴没有交换,按钮也没有重新映射:

$ xmodmap -pp
There are 10 pointer buttons defined.
    Physical        Button
     Button          Code
        1              1
        2              2
        3              3
        4              4
        5              5
        6              6
        7              7
        8              8
        9              9
       10             10

每次编辑 .conf 后,我都会重新启动系统。

我如何改变触摸板的行为?

答案1

解决了。

我首先从 Ubuntu 17.10 升级到 18.04。现在 xinput 可以正确报告 Elan 触摸板。

我仍然无法使用 xorg.conf,因此我尝试了 GNOME Tweak Tool

$ sudo apt install gnome-tweak-tool

然后运行刚刚安装的“Tweaks”应用程序,转到“键盘和鼠标”部分,然后设置“中键单击粘贴 = 关闭”和“鼠标单击模拟 = 手指”。

相关内容