Bug 98100

Summary: Both two- and three- finger taps register as right-clicks, with no way to middle-click via taps
Product: xorg Reporter: andykluger
Component: Input/libinputAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: andykluger, benjamin.tissoires, peter.hutterer
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
tap.evemu
none
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch
none
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch
none
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch
none
A single three-finger tap evemu log
none
A single four-finger tap evemu log
none
Five attempts at a three-finger tap
none
Five attempts at a four-finger tap none

Description andykluger 2016-10-05 17:18:55 UTC
Hello! I'm using

- Arch Linux
- plasma-desktop 5.7.5
- libinput 1.5.0
- xf86-input-libinput 0.20.0

Both two- and three- finger taps register as right-clicks, with no way to middle-click via taps.

I started recording with evemu, and tried to three-finger tap three times:

# EVEMU 1.3
# Kernel: 4.7.6-1-ARCH
# DMI: dmi:bvnHP:bvrN82Ver.01.07:bd04/27/2016:svnHP:pnHPZBookStudioG3:pvr:rvnHP:rn80D4:rvrKBCVersion11.60:cvnHP:ct10:cvr:
# Input device name: "AlpsPS/2 ALPS GlidePoint"
# Input device ID: bus 0x11 vendor 0x02 product 0x08 version 0x700
# 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 type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 328 (BTN_TOOL_QUINTTAP)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#     Event code 334 (BTN_TOOL_TRIPLETAP)
#     Event code 335 (BTN_TOOL_QUADTAP)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 48
#     Event code 1 (ABS_Y)
#       Value      0
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 37
#     Event code 47 (ABS_MT_SLOT)
#       Value      0
#       Min        0
#       Max        3
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 48
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value      0
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 37
#     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: AlpsPS/2 ALPS GlidePoint
I: 0011 0002 0008 0700
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 e5 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 03 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: 00 0 4095 0 0 48
A: 01 0 2047 0 0 37
A: 2f 0 3 0 0 0
A: 35 0 4095 0 0 48
A: 36 0 2047 0 0 37
A: 39 0 65535 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000001 0003 0039 0000      # EV_ABS / ABS_MT_TRACKING_ID   0
E: 0.000001 0003 0035 1189      # EV_ABS / ABS_MT_POSITION_X    1189
E: 0.000001 0003 0036 1333      # EV_ABS / ABS_MT_POSITION_Y    1333
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 0003 0000 1189      # EV_ABS / ABS_X                1189
E: 0.000001 0003 0001 1333      # EV_ABS / ABS_Y                1333
E: 0.000001 0001 0110 0001      # EV_KEY / BTN_LEFT             1
E: 0.000001 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +0ms
E: 0.017053 0003 0035 1196      # EV_ABS / ABS_MT_POSITION_X    1196
E: 0.017053 0003 0036 1337      # EV_ABS / ABS_MT_POSITION_Y    1337
E: 0.017053 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 0.017053 0003 0039 0001      # EV_ABS / ABS_MT_TRACKING_ID   1
E: 0.017053 0003 0035 2720      # EV_ABS / ABS_MT_POSITION_X    2720
E: 0.017053 0003 0036 1344      # EV_ABS / ABS_MT_POSITION_Y    1344
E: 0.017053 0001 0145 0000      # EV_KEY / BTN_TOOL_FINGER      0
E: 0.017053 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.017053 0003 0000 1196      # EV_ABS / ABS_X                1196
E: 0.017053 0003 0001 1337      # EV_ABS / ABS_Y                1337
E: 0.017053 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +17ms
E: 0.029227 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 0.029227 0003 0036 1338      # EV_ABS / ABS_MT_POSITION_Y    1338
E: 0.029227 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 0.029227 0003 0035 2688      # EV_ABS / ABS_MT_POSITION_X    2688
E: 0.029227 0003 0001 1338      # EV_ABS / ABS_Y                1338
E: 0.029227 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.029227 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 0.029227 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 0.041237 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 0.041237 0003 0036 1340      # EV_ABS / ABS_MT_POSITION_Y    1340
E: 0.041237 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.041237 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 0.041237 0003 0001 1340      # EV_ABS / ABS_Y                1340
E: 0.041237 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.041237 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 0.041237 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 0.053386 0003 0036 1342      # EV_ABS / ABS_MT_POSITION_Y    1342
E: 0.053386 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.053386 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 0.053386 0003 0001 1342      # EV_ABS / ABS_Y                1342
E: 0.053386 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.053386 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 0.053386 0001 0110 0000      # EV_KEY / BTN_LEFT             0
E: 0.053386 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 0.065375 0003 0035 1197      # EV_ABS / ABS_MT_POSITION_X    1197
E: 0.065375 0003 0036 1344      # EV_ABS / ABS_MT_POSITION_Y    1344
E: 0.065375 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.065375 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 0.065375 0003 0000 1197      # EV_ABS / ABS_X                1197
E: 0.065375 0003 0001 1344      # EV_ABS / ABS_Y                1344
E: 0.065375 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.065375 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 0.065375 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 0.077574 0003 0036 1346      # EV_ABS / ABS_MT_POSITION_Y    1346
E: 0.077574 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.077574 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 0.077574 0003 0001 1346      # EV_ABS / ABS_Y                1346
E: 0.077574 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.077574 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 0.077574 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 0.101683 0003 0035 1182      # EV_ABS / ABS_MT_POSITION_X    1182
E: 0.101683 0003 0036 1367      # EV_ABS / ABS_MT_POSITION_Y    1367
E: 0.101683 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 0.101683 0003 0035 1968      # EV_ABS / ABS_MT_POSITION_X    1968
E: 0.101683 0003 0036 1168      # EV_ABS / ABS_MT_POSITION_Y    1168
E: 0.101683 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 0.101683 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 0.101683 0003 0000 1182      # EV_ABS / ABS_X                1182
E: 0.101683 0003 0001 1367      # EV_ABS / ABS_Y                1367
E: 0.101683 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +24ms
E: 0.117873 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 0.117873 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.117873 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 0.117873 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.117873 0001 014a 0000      # EV_KEY / BTN_TOUCH            0
E: 0.117873 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 0.117873 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +16ms
E: 1.155648 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 1.155648 0003 0039 0002      # EV_ABS / ABS_MT_TRACKING_ID   2
E: 1.155648 0003 0035 1199      # EV_ABS / ABS_MT_POSITION_X    1199
E: 1.155648 0003 0036 1337      # EV_ABS / ABS_MT_POSITION_Y    1337
E: 1.155648 0001 014a 0001      # EV_KEY / BTN_TOUCH            1
E: 1.155648 0001 0145 0001      # EV_KEY / BTN_TOOL_FINGER      1
E: 1.155648 0003 0000 1199      # EV_ABS / ABS_X                1199
E: 1.155648 0003 0001 1337      # EV_ABS / ABS_Y                1337
E: 1.155648 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +1038ms
E: 1.171734 0003 0035 1210      # EV_ABS / ABS_MT_POSITION_X    1210
E: 1.171734 0003 0036 1344      # EV_ABS / ABS_MT_POSITION_Y    1344
E: 1.171734 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 1.171734 0003 0039 0003      # EV_ABS / ABS_MT_TRACKING_ID   3
E: 1.171734 0003 0035 2768      # EV_ABS / ABS_MT_POSITION_X    2768
E: 1.171734 0003 0036 1408      # EV_ABS / ABS_MT_POSITION_Y    1408
E: 1.171734 0001 0145 0000      # EV_KEY / BTN_TOOL_FINGER      0
E: 1.171734 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 1.171734 0003 0000 1210      # EV_ABS / ABS_X                1210
E: 1.171734 0003 0001 1344      # EV_ABS / ABS_Y                1344
E: 1.171734 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +16ms
E: 1.184797 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 1.184797 0003 0035 1215      # EV_ABS / ABS_MT_POSITION_X    1215
E: 1.184797 0003 0036 1348      # EV_ABS / ABS_MT_POSITION_Y    1348
E: 1.184797 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 1.184797 0003 0035 2752      # EV_ABS / ABS_MT_POSITION_X    2752
E: 1.184797 0003 0000 1215      # EV_ABS / ABS_X                1215
E: 1.184797 0003 0001 1348      # EV_ABS / ABS_Y                1348
E: 1.184797 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 1.184797 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 1.184797 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +13ms
E: 1.196895 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 1.196895 0003 0036 1352      # EV_ABS / ABS_MT_POSITION_Y    1352
E: 1.196895 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 1.196895 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 1.196895 0003 0001 1352      # EV_ABS / ABS_Y                1352
E: 1.196895 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 1.196895 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 1.196895 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 1.208975 0003 0036 1354      # EV_ABS / ABS_MT_POSITION_Y    1354
E: 1.208975 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 1.208975 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 1.208975 0003 0001 1354      # EV_ABS / ABS_Y                1354
E: 1.208975 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 1.208975 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 1.208975 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 1.221161 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 1.221161 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 1.221161 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 1.221161 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 1.221161 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +13ms
E: 1.249247 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.249247 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 1.249247 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.249247 0001 014a 0000      # EV_KEY / BTN_TOUCH            0
E: 1.249247 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 1.249247 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +28ms
E: 3.826705 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 3.826705 0003 0039 0004      # EV_ABS / ABS_MT_TRACKING_ID   4
E: 3.826705 0003 0035 1275      # EV_ABS / ABS_MT_POSITION_X    1275
E: 3.826705 0003 0036 1300      # EV_ABS / ABS_MT_POSITION_Y    1300
E: 3.826705 0001 014a 0001      # EV_KEY / BTN_TOUCH            1
E: 3.826705 0001 0145 0001      # EV_KEY / BTN_TOOL_FINGER      1
E: 3.826705 0003 0000 1275      # EV_ABS / ABS_X                1275
E: 3.826705 0003 0001 1300      # EV_ABS / ABS_Y                1300
E: 3.826705 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +2577ms
E: 3.843633 0003 0035 1257      # EV_ABS / ABS_MT_POSITION_X    1257
E: 3.843633 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 3.843633 0003 0039 0005      # EV_ABS / ABS_MT_TRACKING_ID   5
E: 3.843633 0003 0035 2816      # EV_ABS / ABS_MT_POSITION_X    2816
E: 3.843633 0003 0036 1344      # EV_ABS / ABS_MT_POSITION_Y    1344
E: 3.843633 0001 0145 0000      # EV_KEY / BTN_TOOL_FINGER      0
E: 3.843633 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 3.843633 0003 0000 1257      # EV_ABS / ABS_X                1257
E: 3.843633 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +17ms
E: 3.857793 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
E: 3.857793 0003 0035 1250      # EV_ABS / ABS_MT_POSITION_X    1250
E: 3.857793 0003 0036 1301      # EV_ABS / ABS_MT_POSITION_Y    1301
E: 3.857793 0003 0000 1250      # EV_ABS / ABS_X                1250
E: 3.857793 0003 0001 1301      # EV_ABS / ABS_Y                1301
E: 3.857793 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 3.857793 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 3.857793 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +14ms
E: 3.869881 0003 0036 1303      # EV_ABS / ABS_MT_POSITION_Y    1303
E: 3.869881 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 3.869881 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 3.869881 0003 0001 1303      # EV_ABS / ABS_Y                1303
E: 3.869881 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 3.869881 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 3.869881 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 3.881999 0003 0035 1249      # EV_ABS / ABS_MT_POSITION_X    1249
E: 3.881999 0003 0036 1305      # EV_ABS / ABS_MT_POSITION_Y    1305
E: 3.881999 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 3.881999 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 3.881999 0003 0000 1249      # EV_ABS / ABS_X                1249
E: 3.881999 0003 0001 1305      # EV_ABS / ABS_Y                1305
E: 3.881999 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 3.881999 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 3.881999 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +12ms
E: 3.894136 0003 0035 1250      # EV_ABS / ABS_MT_POSITION_X    1250
E: 3.894136 0003 0036 1306      # EV_ABS / ABS_MT_POSITION_Y    1306
E: 3.894136 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 3.894136 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 3.894136 0003 0000 1250      # EV_ABS / ABS_X                1250
E: 3.894136 0003 0001 1306      # EV_ABS / ABS_Y                1306
E: 3.894136 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 3.894136 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 3.894136 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +13ms
E: 3.905873 0003 0035 1257      # EV_ABS / ABS_MT_POSITION_X    1257
E: 3.905873 0003 0036 1308      # EV_ABS / ABS_MT_POSITION_Y    1308
E: 3.905873 0001 014d 0001      # EV_KEY / BTN_TOOL_DOUBLETAP   1
E: 3.905873 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 3.905873 0003 0000 1257      # EV_ABS / ABS_X                1257
E: 3.905873 0003 0001 1308      # EV_ABS / ABS_Y                1308
E: 3.905873 0001 014d 0000      # EV_KEY / BTN_TOOL_DOUBLETAP   0
E: 3.905873 0001 014e 0001      # EV_KEY / BTN_TOOL_TRIPLETAP   1
E: 3.905873 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +11ms
E: 3.932363 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.932363 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
E: 3.932363 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.932363 0001 014a 0000      # EV_KEY / BTN_TOUCH            0
E: 3.932363 0001 014e 0000      # EV_KEY / BTN_TOOL_TRIPLETAP   0
E: 3.932363 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +27ms

Here are the device settings:

Device 'AlpsPS/2 ALPS GlidePoint':
        Device Enabled (138):   1
        Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (292): 1
        libinput Tapping Enabled Default (293): 0
        libinput Tapping Drag Enabled (294):    1
        libinput Tapping Drag Enabled Default (295):    1
        libinput Tapping Drag Lock Enabled (296):       0
        libinput Tapping Drag Lock Enabled Default (297):       0
        libinput Tapping Button Mapping Enabled (298):  1, 0
        libinput Tapping Button Mapping Default (299):  1, 0
        libinput Accel Speed (275):     0.000000
        libinput Accel Speed Default (276):     0.000000
        libinput Natural Scrolling Enabled (280):       0
        libinput Natural Scrolling Enabled Default (281):       0
        libinput Send Events Modes Available (259):     1, 1
        libinput Send Events Mode Enabled (260):        0, 0
        libinput Send Events Mode Enabled Default (261):        0, 0
        libinput Left Handed Enabled (282):     0
        libinput Left Handed Enabled Default (283):     0
        libinput Scroll Methods Available (284):        1, 1, 0
        libinput Scroll Method Enabled (285):   1, 0, 0
        libinput Scroll Method Enabled Default (286):   1, 0, 0
        libinput Click Methods Available (300): 1, 1
        libinput Click Method Enabled (301):    1, 0
        libinput Click Method Enabled Default (302):    1, 0
        libinput Middle Emulation Enabled (289):        0
        libinput Middle Emulation Enabled Default (290):        0
        libinput Disable While Typing Enabled (303):    1
        libinput Disable While Typing Enabled Default (304):    1
        Device Node (262):      "/dev/input/event5"
        Device Product ID (263):        2, 8
        libinput Drag Lock Buttons (291):       <no items>
        libinput Horizontal Scroll Enabled (264):       1

The laptop is an HP Zbook Studio G3 (dmi stuff included in evemu output).
Comment 1 Peter Hutterer 2016-10-11 12:54:36 UTC
Created attachment 127212 [details]
tap.evemu

in the future, please attach evemu recordings rather than pasting them.
Comment 2 Peter Hutterer 2016-10-11 13:09:50 UTC
looks like the device claims to support 4 touches (slots) but never sends slot data for the third touch (possibly the fourth). libinput ignores BTN_TOOL_TRIPLETAP if the device has more than 2 slots, so to libinput it simply looks like the third finger is never set down.

that's a bug in the device or the kernel driver, with the remaining question of whether it's fixable or whether we need a udev tag to work around this. Benjamin?

Andy: run evemu-record again and grep for ABS_MT_SLOT. do you see slots 2 and 3 ever activating when you put 3 or 4 fingers down? or does the slot value only cover 0 to 1 only
Comment 3 andykluger 2016-10-11 16:22:25 UTC
Sorry about the large paste, I'd edit the comment/report if I could.

Before suspend-wake dance, no events are recorded. After, those events are recorded, and the right-most column is always either 0 or 1 (perfectly alternating).
Comment 4 Peter Hutterer 2016-10-13 09:08:40 UTC
Created attachment 127266 [details] [review]
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch

See https://wayland.freedesktop.org/libinput/doc/latest/faq.html#faq_hwdb_changes for some extra info, you need to make sure the new hwdb entry is applied and triggers for the device
Comment 5 andykluger 2016-10-13 20:41:08 UTC
Should any of that from the other page be necessary if I just modify my distro's build script for libinput to apply the patch before building and installing? 

That's what I did (and I see the new stuff in /usr/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb), and restarted. The behavior is the same as before.

By the way, a Zbook (HP) is not a ZenBook (Asus).
Comment 6 Peter Hutterer 2016-10-13 22:55:19 UTC
(In reply to andykluger from comment #5)
> Should any of that from the other page be necessary if I just modify my
> distro's build script for libinput to apply the patch before building and
> installing? 

that should be fine, provided it runs the udevadm hwdb --update etc.

> That's what I did (and I see the new stuff in
> /usr/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb), and restarted. The
> behavior is the same as before.

is the property applied? if not, then I either have some typo in the match rule or the hwdb doesn't update as expected

> By the way, a Zbook (HP) is not a ZenBook (Asus).

yep, spotted that and already fixed locally, thanks
Comment 7 Peter Hutterer 2016-10-14 00:42:12 UTC
Created attachment 127288 [details] [review]
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch

Found a typo, please try this one
Comment 8 andykluger 2016-10-14 16:38:40 UTC
Same results, except with four taps,

# evemu-record|grep abs_mt_slot

also spits out:

/dev/input/event4:      HP Wireless hotkeys

How can I verify that the property is applied?
Comment 9 Peter Hutterer 2016-10-16 21:10:18 UTC
(In reply to andykluger from comment #8)
> Same results, except with four taps,
> 
> # evemu-record|grep abs_mt_slot

fwiw, this should be ABS_MT_SLOT or grep -i, the lowercase version won't show anything.

> How can I verify that the property is applied?

try sudo udevadm test /sys/class/input/eventX. That both shows the tag and applies it if it's still missing, you can re-run that command after each hwdb change.
Comment 10 andykluger 2016-10-17 16:36:23 UTC
Yeah, sorry, my grep is always aliased with -i.

The udevadm test does report "LIBINPUT_MODEL_HP_ZBOOK_STUDIO_G3=1".
Comment 11 Peter Hutterer 2016-10-17 23:36:35 UTC
Created attachment 127370 [details] [review]
0001-evdev-add-a-quirk-for-the-HP-Zbook-Studio-G3.patch

try this one, had the slot number at one too many
Comment 12 Peter Hutterer 2016-10-28 05:25:35 UTC
ping?
Comment 13 andykluger 2016-10-28 18:53:47 UTC
Sorry, I didn't have a lot of extra time with the work computer. With the new patch, the slots are still alternating between 0 and 1, whether it's a three- or four-finger tap, but the four-finger tab *does middle click!*

So that's great, thanks!

I still wish I could get a two-finger middle click, but this workable.

Thank you again!
Comment 14 Peter Hutterer 2016-10-30 22:01:30 UTC
the four-finger one does middle-click? Should be the three-finger one, unless I've screwed something else up.

(In reply to andykluger from comment #13)
> Sorry, I didn't have a lot of extra time with the work computer. With the
> new patch, the slots are still alternating between 0 and 1, whether it's a
> three- or four-finger tap, 

that's intended, this patch just changes how many slots the touchpad really announces so libinput can look at the BTN_TOOL_* events for anything above the second slot.
Comment 15 andykluger 2016-11-02 17:41:31 UTC
Yes, four fingers for middle click, three or two for right click, one for left click.
Comment 16 Peter Hutterer 2016-11-02 20:48:49 UTC
In the evemu-record output, do you see BTN_TOOL_QUADTAP for a four-finger tap?
do you see BTN_TOOL_TRIPLETAP for a three-finger tap? and also, do you see QUADTAP at all? 

At least the recording above didn't include it but you may not have quad-tapped then. If the BTN_TOOL bits are out there isn't much we can do in libinput, we rely on the touchpad to be accurate for those
Comment 17 andykluger 2016-11-04 15:44:27 UTC
Yes, with a single four-finger tap, BTN_TOOL_QUADTAP appears 10 times in the evemu-record output.

With a single three-finger tap, BTN_TOOL_TRIPLETAP appears 6 times, and QUADTAP does not appear at all.

When I opened this ticket I did not even consider quad taps being a thing, as I have enough trouble doing a triple tap due to the awkward positioning and the finger alignment and angle requirements.

I'll attach three- and four-finger single tap logs.
Comment 18 andykluger 2016-11-04 15:45:13 UTC
Created attachment 127760 [details]
A single three-finger tap evemu log
Comment 19 andykluger 2016-11-04 15:45:36 UTC
Created attachment 127761 [details]
A single four-finger tap evemu log
Comment 20 Peter Hutterer 2016-11-07 01:36:24 UTC
are these unmodified logs? there are sequences in there that the kernel should filter (in theory), e.g. attachment 127760 [details] has three switches from doubletap to tripletap without any switch back. those events are supposed to be filtered by the kernel.

Please always attach the full logs, including the device description at the top. Otherwise I have to figure out which attachments go together to replay an event sequence locally.
Comment 21 andykluger 2016-11-07 01:41:34 UTC
They are just the tail ends, as I didn't want to pollute with all the events from just moving the cursor around. I'll recreate and attach full logs next time I get access to that computer.
Comment 22 andykluger 2016-11-16 18:48:23 UTC
Alright, back at this computer, I'm attaching full logs, each one showing five attempts at the respective tap type.
Comment 23 andykluger 2016-11-16 18:49:27 UTC
Created attachment 128016 [details]
Five attempts at a three-finger tap
Comment 24 andykluger 2016-11-16 18:50:08 UTC
Created attachment 128017 [details]
Five attempts at a four-finger tap
Comment 25 Peter Hutterer 2016-11-19 23:47:17 UTC
Tested both and they behave as expected, so right now I'm putting down the odd behaviour to some missing bit in the udev hwdb or something, which can happen when testing. I sent the patch to the list now:
https://lists.freedesktop.org/archives/wayland-devel/2016-November/031730.html

and expect it to be pushed over the next few days. One more comment I should've mentioned earlier:

(In reply to andykluger from comment #13)
> Sorry, I didn't have a lot of extra time with the work computer. With the
> new patch, the slots are still alternating between 0 and 1, whether it's a
> three- or four-finger tap, but the four-finger tab *does middle click!*

the libinput patch doesn't affect the evemu reporting at all, it merely limits how libinput interprets the events. When you run evemu-debug --verbose --enable-tap, you can check if the tag applies ("event18: tagged as LIBINPUT_MODEL_HP_ZBOOK_STUDIO_G3") and the behaviour is the right one. As I said, this works correctly here with your recordings, so there shouldn't be any reason it works differently on yours
Comment 26 Peter Hutterer 2016-11-20 21:01:57 UTC
closing as fixed, please re-open if it's still an issue after updating libinput

commit 6752544e566250ef856b836c4b0e8c994155ffa9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 13 19:05:00 2016 +1000

    evdev: add a quirk for the HP Zbook Studio G3
Comment 27 andykluger 2016-11-22 17:45:11 UTC
I upgraded from libinput 1.5.0 to 1.5.1.r6.g6752544, using kernel 4.8.8, and when X started I had no keyboard or touchpad control at all -- I couldn't even switch to another TTY. I had to boot into single user mode and downgrade to get things working again.
Comment 28 andykluger 2016-11-22 17:50:29 UTC
I realize now I should have tried the suspend-wake dance while it was in that state -- please let me know if you think that's worth trying.
Comment 29 Peter Hutterer 2016-11-23 00:11:45 UTC
easy way to test: update libinput to the new version, then run sudo libinput-debug-events and see if you see events. Do this without restarting X or rebooting, so X keeps using the old libinput. If you see events, it's not libinput's fault but the kernel. Given the changeset in 1.5.0-current that's what I suspect (and the suspend dance should 'fix' it).
Comment 30 andykluger 2016-11-23 17:51:54 UTC
Alright, I've now updated to kernel 4.8.10, btw.

Within a running X session, I did the dance, then upgraded to libinput-git and debugged events, and they did show up.

Later when I have some more time I'll reboot and observe the tapping behavior after suspending, assuming that closing the lid at the SDDM login screen triggers a suspension.

Aside from suspending an waking my computer every time I turn it on or switch TTYs, what is to be done next?
Comment 31 Peter Hutterer 2016-11-24 23:11:44 UTC
'sudo systemd-sleep suspend' should force a suspend if you don't think you can trust the lid close. the suspend issue is Bug 98099, let's keep it there.
Comment 32 andykluger 2016-11-28 16:33:15 UTC
The lid close does not suspend at the SDDM screen, and I obviously cannot use that command because I have no use of the keyboard or touchpad. I see now that libinput-1.5.2 has been released. Do I need to add a rule for my package manager to stop upgrading that package to keep my computer usable? And can we keep this open until someone who actually has the hardware in question can verify the fix?
Comment 33 Peter Hutterer 2016-11-28 20:46:44 UTC
I consider this issue fixed, the suspend thing is really something different, and at least not caused by this specific bugfix.

You said above:
(In reply to andykluger from comment #27)
> I upgraded from libinput 1.5.0 to 1.5.1.r6.g6752544, using kernel 4.8.8 ...

Please run a git bisect between those commits to figure out which one of them breaks the touchpad. But given that it works after the suspend, I doubt it's a libinput issue anyway given that libinput isn't aware of the suspend and Bug 98099 shows that the i2c device dies.
Comment 34 andykluger 2016-11-29 22:01:24 UTC
I went through the whole bisect process, wound up back at 1.5.1.r6.g6752544, and (with kernel 4.8.11) could not reproduce that locked-out-at-boot problem. Then, after the suspend-and-wake dance, two finger taps were left clicks and three finger taps were middle clicks. Fantastic! Thank you!

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.