Bug 105050 - DualShock 4 Touchpad not working with libinput.
Summary: DualShock 4 Touchpad not working with libinput.
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-12 04:02 UTC by Simon
Modified: 2018-02-23 21:59 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Simon 2018-02-12 04:02:35 UTC
I had to create a xorg.conf.d for the DS4 Touchpad to be working with evdev, because it was not recognised correctly:

Section "InputClass"
        Identifier "ds4-touchpad"
        Driver "evdev"
        MatchProduct "Sony Interactive Entertainment Wireless Controller Touchpad"
EndSection

When changing the Driver to "synaptics" or "libinput" though it is not working.
I think this should work with libinput too, because libinput intends to replace evdev?!
Comment 1 Peter Hutterer 2018-02-13 04:28:15 UTC
Please attach an evemu-describe from that device, that will at least tell us *why* it doesn't work. But generally, the answer right now is likely: libinput does not support joysticks/gamepads and just outright ignores those. The touchpad on the p4 controller is a bit of a special case but it's probably tagged as joystick and thus ignored.
Comment 2 Simon 2018-02-13 11:16:50 UTC
Here is the evemu-describe:
# EVEMU 1.3
# Kernel: 4.14.8-gentoo-r1
# DMI: dmi:bvnLENOVO:bvr83ET76WW(1.46):bd07/05/2013:svnLENOVO:pn4180CE9:pvrThinkPadT420:rvnLENOVO:rn4180CE9:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
# Input device name: "Sony Interactive Entertainment Wireless Controller Touchpad"
# Input device ID: bus 0x03 vendor 0x54c product 0x9cc version 0x8111
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#   Event type 3 (EV_ABS)
#     Event code 47 (ABS_MT_SLOT)
#       Value        0
#       Min          0
#       Max          1
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value        0
#       Min          0
#       Max       1920
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min          0
#       Max        942
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min          0
#       Max      65535
#       Fuzz         0
#       Flat         0
#       Resolution   0
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
N: Sony Interactive Entertainment Wireless Controller Touchpad
I: 0003 054c 09cc 8111
P: 05 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 01 00 00 00 00 00
B: 01 20 24 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 00 00 00 00 00 80 60 02
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 2f 0 1 0 0 0
A: 35 0 1920 0 0 0
A: 36 0 942 0 0 0
A: 39 0 65535 0 0 0


Here a log from xorg using libinput:
libinput:
[   139.142] (II) config/udev: Adding input device Sony Interactive Entertainment Wireless Controller Touchpad (/dev/input/event7)
[   139.142] (**) Sony Interactive Entertainment Wireless Controller Touchpad: Applying InputClass "joystick-all"
[   139.142] (**) Sony Interactive Entertainment Wireless Controller Touchpad: Applying InputClass "ds4-touchpad"
[   139.143] (II) Using input driver 'libinput' for 'Sony Interactive Entertainment Wireless Controller Touchpad'
[   139.143] (**) Sony Interactive Entertainment Wireless Controller Touchpad: always reports core events
[   139.143] (**) Option "Device" "/dev/input/event7"
[   139.143] (**) Option "_source" "server/udev"
[   139.143] (II) event7  - (II) Sony Interactive Entertainment Wireless Controller Touchpad: (II) not tagged as supported input device
[   139.180] (II) event7  - not using input device '/dev/input/event7'.
[   139.180] (EE) libinput: Sony Interactive Entertainment Wireless Controller Touchpad: Failed to create a device for /dev/input/event7
[   139.180] (EE) PreInit returned 2 for "Sony Interactive Entertainment Wireless Controller Touchpad"
[   139.180] (II) UnloadModule: "libinput"

And here a log from xorg using evdev:
[    56.809] (II) config/udev: Adding input device Sony Interactive Entertainment Wireless Controller Touchpad (/dev/input/event7)
[    56.810] (**) Sony Interactive Entertainment Wireless Controller Touchpad: Applying InputClass "joystick-all"
[    56.810] (**) Sony Interactive Entertainment Wireless Controller Touchpad: Applying InputClass "ds4-touchpad"
[    56.810] (II) LoadModule: "evdev"
[    56.810] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so
[    56.814] (II) Module evdev: vendor="X.Org Foundation"
[    56.814] 	compiled for 1.19.5, module version = 2.10.5
[    56.814] 	Module class: X.Org XInput Driver
[    56.814] 	ABI class: X.Org XInput driver, version 24.1
[    56.814] (II) Using input driver 'evdev' for 'Sony Interactive Entertainment Wireless Controller Touchpad'
[    56.814] (**) Sony Interactive Entertainment Wireless Controller Touchpad: always reports core events
[    56.814] (**) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Device: "/dev/input/event7"
[    56.814] (--) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Vendor 0x54c Product 0x9cc
[    56.814] (--) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Found 1 mouse buttons
[    56.814] (--) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Found absolute axes
[    56.814] (--) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Found absolute multitouch axes
[    56.814] (II) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Forcing relative x/y axes to exist.
[    56.814] (II) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Configuring as mouse
[    56.815] (**) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: YAxisMapping: buttons 4 and 5
[    56.815] (**) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    56.815] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.3/0003:054C:09CC.0001/input/input9/event7"
[    56.815] (II) XINPUT: Adding extended input device "Sony Interactive Entertainment Wireless Controller Touchpad" (type: MOUSE, id 11)
[    56.815] (II) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Faking axis ABS_X.
[    56.815] (II) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: Faking axis ABS_Y.
[    56.815] (II) evdev: Sony Interactive Entertainment Wireless Controller Touchpad: initialized for absolute axes.
[    56.815] (**) Sony Interactive Entertainment Wireless Controller Touchpad: (accel) keeping acceleration scheme 1
[    56.815] (**) Sony Interactive Entertainment Wireless Controller Touchpad: (accel) acceleration profile 0
[    56.815] (**) Sony Interactive Entertainment Wireless Controller Touchpad: (accel) acceleration factor: 2.000
[    56.815] (**) Sony Interactive Entertainment Wireless Controller Touchpad: (accel) acceleration threshold: 4
Comment 3 Peter Hutterer 2018-02-21 01:13:13 UTC
"not tagged as supported input device" - this appears to be a local issue on your side, it means ID_INPUT is never assigned to the device. That's a bit strange, if I replay the device here I get:

E: DEVPATH=/devices/virtual/input/input26/event19
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_INPUT_TOUCHPAD=1

The ID_INPUT_MOUSE is mislabeled because the touchpad doesn't adhere to the correct protocol, it's missing ABS_X/ABS_Y. But iirc libinput doesn't care about this for touchpads, and indeed the device shows up in my testing here.

So the issue on your side seems to be udev, the builtin input_id should do the right job here.
Comment 4 Simon 2018-02-22 06:17:25 UTC
I still think it is a libinput problem, because..

1. Why does it work with the evemu driver then? If it's not a libinput driver problem it shouldn't work with other drivers too.

2. When specifying the driver manually in xorg.conf, it shouldn't matter if ID_INPUT is set.

3. I checked and ID_INPUT is in fact set:

udevadm info from ds4 touchpad:
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.3/0003:054C:09CC.0006/input/input43/event17
N: input/event17
S: input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03
S: input/by-path/pci-0000:00:1d.0-usb-0:1.2:1.3-event
E: DEVLINKS=/dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 /dev/input/by-path/pci-0000:00:1d.0-usb-0:1.2:1.3-event
E: DEVNAME=/dev/input/event17
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.3/0003:054C:09CC.0006/input/input43/event17
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_MODEL=Wireless_Controller
E: ID_MODEL_ENC=Wireless\x20Controller
E: ID_MODEL_ID=09cc
E: ID_PATH=pci-0000:00:1d.0-usb-0:1.2:1.3
E: ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_3
E: ID_REVISION=0100
E: ID_SERIAL=Sony_Interactive_Entertainment_Wireless_Controller
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:010100:010200:030000:
E: ID_USB_INTERFACE_NUM=03
E: ID_VENDOR=Sony_Interactive_Entertainment
E: ID_VENDOR_ENC=Sony\x20Interactive\x20Entertainment
E: ID_VENDOR_ID=054c
E: LIBINPUT_DEVICE_GROUP=3/54c/9cc:usb-0000:00:1d.0-1
E: MAJOR=13
E: MINOR=81
E: SUBSYSTEM=input
E: USEC_INITIALIZED=134424850721
Comment 5 Peter Hutterer 2018-02-22 06:54:10 UTC
> 2. When specifying the driver manually in xorg.conf, it shouldn't matter
> if ID_INPUT is set.

it does matter, a device without ID_INPUT set never gets to the point where we even check the assigned drivers in the server.

Based on the bits of the log you posted in comment 2, it does get rejected because of the missing ID_INPUT tag. But you're right, that would apply for the evdev driver too. So I'll need a full xorg.log please (most likely the interesting bit was outside the snippet pasted here) and an evemu-record with a touchs sequence to move the pointer so I can check what else is going on.
Comment 6 Simon 2018-02-22 08:57:34 UTC
Here is a record with the requested simple move sequence (excluding multitouch or click events):
# EVEMU 1.3
# Kernel: 4.15.3-gentoo
# DMI: dmi:bvnLENOVO:bvr83ET76WW(1.46):bd07/05/2013:svnLENOVO:pn4180CE9:pvrThinkPadT420:rvnLENOVO:rn4180CE9:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
# Input device name: "Sony Interactive Entertainment Wireless Controller Touchpad"
# Input device ID: bus 0x03 vendor 0x54c product 0x9cc version 0x8111
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#   Event type 3 (EV_ABS)
#     Event code 47 (ABS_MT_SLOT)
#       Value        1
#       Min          0
#       Max          1
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value        0
#       Min          0
#       Max       1920
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min          0
#       Max        942
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min          0
#       Max      65535
#       Fuzz         0
#       Flat         0
#       Resolution   0
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
N: Sony Interactive Entertainment Wireless Controller Touchpad
I: 0003 054c 09cc 8111
P: 05 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 01 00 00 00 00 00
B: 01 20 24 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 00 00 00 00 00 80 60 02
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 2f 0 1 0 0 0
A: 35 0 1920 0 0 0
A: 36 0 942 0 0 0
A: 39 0 65535 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000001 0003 002f 0000	# EV_ABS / ABS_MT_SLOT          0
E: 0.000001 0003 0039 0004	# EV_ABS / ABS_MT_TRACKING_ID   4
E: 0.000001 0003 0035 0636	# EV_ABS / ABS_MT_POSITION_X    636
E: 0.000001 0003 0036 0259	# EV_ABS / ABS_MT_POSITION_Y    259
E: 0.000001 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.000001 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.000001 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +0ms
E: 0.011912 0003 0035 0637	# EV_ABS / ABS_MT_POSITION_X    637
E: 0.011912 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +11ms
E: 0.016015 0003 0035 0638	# EV_ABS / ABS_MT_POSITION_X    638
E: 0.016015 0003 0036 0260	# EV_ABS / ABS_MT_POSITION_Y    260
E: 0.016015 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +5ms
E: 0.019961 0003 0035 0640	# EV_ABS / ABS_MT_POSITION_X    640
E: 0.019961 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +3ms
E: 0.023989 0003 0035 0642	# EV_ABS / ABS_MT_POSITION_X    642
E: 0.023989 0003 0036 0261	# EV_ABS / ABS_MT_POSITION_Y    261
E: 0.023989 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.031916 0003 0035 0644	# EV_ABS / ABS_MT_POSITION_X    644
E: 0.031916 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.035969 0003 0035 0647	# EV_ABS / ABS_MT_POSITION_X    647
E: 0.035969 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.039903 0003 0035 0650	# EV_ABS / ABS_MT_POSITION_X    650
E: 0.039903 0003 0036 0262	# EV_ABS / ABS_MT_POSITION_Y    262
E: 0.039903 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.043958 0003 0035 0653	# EV_ABS / ABS_MT_POSITION_X    653
E: 0.043958 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.051985 0003 0035 0659	# EV_ABS / ABS_MT_POSITION_X    659
E: 0.051985 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.056007 0003 0035 0666	# EV_ABS / ABS_MT_POSITION_X    666
E: 0.056007 0003 0036 0263	# EV_ABS / ABS_MT_POSITION_Y    263
E: 0.056007 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +5ms
E: 0.059930 0003 0035 0676	# EV_ABS / ABS_MT_POSITION_X    676
E: 0.059930 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +3ms
E: 0.063978 0003 0035 0683	# EV_ABS / ABS_MT_POSITION_X    683
E: 0.063978 0003 0036 0264	# EV_ABS / ABS_MT_POSITION_Y    264
E: 0.063978 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.067917 0003 0035 0694	# EV_ABS / ABS_MT_POSITION_X    694
E: 0.067917 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.075988 0003 0035 0710	# EV_ABS / ABS_MT_POSITION_X    710
E: 0.075988 0003 0036 0265	# EV_ABS / ABS_MT_POSITION_Y    265
E: 0.075988 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.079986 0003 0035 0724	# EV_ABS / ABS_MT_POSITION_X    724
E: 0.079986 0003 0036 0266	# EV_ABS / ABS_MT_POSITION_Y    266
E: 0.079986 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.084006 0003 0035 0741	# EV_ABS / ABS_MT_POSITION_X    741
E: 0.084006 0003 0036 0267	# EV_ABS / ABS_MT_POSITION_Y    267
E: 0.084006 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +5ms
E: 0.088000 0003 0035 0756	# EV_ABS / ABS_MT_POSITION_X    756
E: 0.088000 0003 0036 0268	# EV_ABS / ABS_MT_POSITION_Y    268
E: 0.088000 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.095919 0003 0035 0771	# EV_ABS / ABS_MT_POSITION_X    771
E: 0.095919 0003 0036 0270	# EV_ABS / ABS_MT_POSITION_Y    270
E: 0.095919 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +7ms
E: 0.099921 0003 0035 0785	# EV_ABS / ABS_MT_POSITION_X    785
E: 0.099921 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.103923 0003 0035 0800	# EV_ABS / ABS_MT_POSITION_X    800
E: 0.103923 0003 0036 0271	# EV_ABS / ABS_MT_POSITION_Y    271
E: 0.103923 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.107965 0003 0035 0816	# EV_ABS / ABS_MT_POSITION_X    816
E: 0.107965 0003 0036 0273	# EV_ABS / ABS_MT_POSITION_Y    273
E: 0.107965 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.115955 0003 0035 0830	# EV_ABS / ABS_MT_POSITION_X    830
E: 0.115955 0003 0036 0274	# EV_ABS / ABS_MT_POSITION_Y    274
E: 0.115955 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.120045 0003 0035 0845	# EV_ABS / ABS_MT_POSITION_X    845
E: 0.120045 0003 0036 0275	# EV_ABS / ABS_MT_POSITION_Y    275
E: 0.120045 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +5ms
E: 0.123999 0003 0035 0861	# EV_ABS / ABS_MT_POSITION_X    861
E: 0.123999 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +3ms
E: 0.127948 0003 0035 0882	# EV_ABS / ABS_MT_POSITION_X    882
E: 0.127948 0003 0036 0277	# EV_ABS / ABS_MT_POSITION_Y    277
E: 0.127948 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.135921 0003 0035 0898	# EV_ABS / ABS_MT_POSITION_X    898
E: 0.135921 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.139934 0003 0035 0913	# EV_ABS / ABS_MT_POSITION_X    913
E: 0.139934 0003 0036 0278	# EV_ABS / ABS_MT_POSITION_Y    278
E: 0.139934 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.143991 0003 0035 0929	# EV_ABS / ABS_MT_POSITION_X    929
E: 0.143991 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.148004 0003 0035 0945	# EV_ABS / ABS_MT_POSITION_X    945
E: 0.148004 0003 0036 0279	# EV_ABS / ABS_MT_POSITION_Y    279
E: 0.148004 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +5ms
E: 0.156000 0003 0035 0961	# EV_ABS / ABS_MT_POSITION_X    961
E: 0.156000 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.160000 0003 0035 0977	# EV_ABS / ABS_MT_POSITION_X    977
E: 0.160000 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.163908 0003 0035 0992	# EV_ABS / ABS_MT_POSITION_X    992
E: 0.163908 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +3ms
E: 0.167913 0003 0035 1009	# EV_ABS / ABS_MT_POSITION_X    1009
E: 0.167913 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.171902 0003 0035 1036	# EV_ABS / ABS_MT_POSITION_X    1036
E: 0.171902 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.180049 0003 0035 1057	# EV_ABS / ABS_MT_POSITION_X    1057
E: 0.180049 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +9ms
E: 0.184057 0003 0035 1074	# EV_ABS / ABS_MT_POSITION_X    1074
E: 0.184057 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.188020 0003 0035 1088	# EV_ABS / ABS_MT_POSITION_X    1088
E: 0.188020 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.192009 0003 0035 1105	# EV_ABS / ABS_MT_POSITION_X    1105
E: 0.192009 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.199966 0003 0035 1120	# EV_ABS / ABS_MT_POSITION_X    1120
E: 0.199966 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +7ms
E: 0.203923 0003 0035 1135	# EV_ABS / ABS_MT_POSITION_X    1135
E: 0.203923 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.207990 0003 0035 1145	# EV_ABS / ABS_MT_POSITION_X    1145
E: 0.207990 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.211935 0003 0035 1155	# EV_ABS / ABS_MT_POSITION_X    1155
E: 0.211935 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.219984 0003 0035 1161	# EV_ABS / ABS_MT_POSITION_X    1161
E: 0.219984 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
E: 0.223938 0003 0035 1168	# EV_ABS / ABS_MT_POSITION_X    1168
E: 0.223938 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.227997 0003 0035 1172	# EV_ABS / ABS_MT_POSITION_X    1172
E: 0.227997 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.231909 0003 0035 1175	# EV_ABS / ABS_MT_POSITION_X    1175
E: 0.231909 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.235912 0003 0035 1178	# EV_ABS / ABS_MT_POSITION_X    1178
E: 0.235912 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +4ms
E: 0.243996 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.243996 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.243996 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.243996 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +8ms
Comment 7 Simon 2018-02-22 08:59:34 UTC
I thought I included everything related to the touchpad from the xorg.log but of course I can also upload a full log, do you want TWO full logs with evdev AND libinput driver?
Comment 8 Simon 2018-02-22 10:00:14 UTC
Here is a full Xorg.0.log trying libinput as ds4 touchpad driver: https://paste.pound-python.org/show/4Yu2zjQCcW7dmJnHxVbs/
Comment 9 Simon 2018-02-22 10:04:37 UTC
I see the other touchpad is actually recognized.. "event5  - (II) SynPS/2 Synaptics TouchPad: (II) is tagged by udev as: Touchpad"

So probably libinput doesn't recognize the ds4 touchpad because it has no ID_INPUT_TOUCHPAD set!?
Comment 10 Peter Hutterer 2018-02-22 23:27:23 UTC
fwiw, please attach anything longer than say 10 lines, otherwise it gets too difficult to find the real comments. and never use pastebins, they disappear randomly. we have bugzilla attachments for that.

ok, checked the code again and you are right, it is likely missing ID_INPUT_TOUCHPAD, so libinput doesn't know what to do with the device, see http://who-t.blogspot.com/2015/06/libinput-and-lack-of-device-types.html for more details.

question though is why it's missing, afaict from the udev builtin you should have both set (MOUSE and TOUCHPAD, which is a bug, but anyway). are you using a recent enough version of systemd? (not that that code has changed in ages...)

You'll likely find that once the ID_INPUT_TOUCHPAD tag is set, it'll start working, so this needs to move to udev to figure out why it isn't set in the first place.
Comment 11 Peter Hutterer 2018-02-23 00:01:11 UTC
for the systemd bug, see: https://github.com/systemd/systemd/pull/8259
Comment 12 Zbigniew Jedrzejewski-Szmek 2018-02-23 08:38:30 UTC
Systemd PR is merged, should go out in systemd-238 to-be-released-soon.
Comment 13 Simon 2018-02-23 14:26:54 UTC
I'm not using systemd, but openrc. ^^"
Anyway I wrote a udev rule to set ID_INPUT_TOUCHPAD and now the touchpad works, but the rightclick (two-finger-click) doesn't work correct, it seems only to work once after connecting and subsequent rightclicks are not recognized..
Comment 14 Simon 2018-02-23 21:59:50 UTC
OpenRC bug: https://github.com/gentoo/eudev/issues/154


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.