Skip to content
This repository has been archived by the owner on Aug 20, 2023. It is now read-only.

test(tap_parser): reproduce the bug that 4 finger tap after detecting palm #8

Merged
merged 1 commit into from
Aug 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
event18 - palm: palm detected (tool-palm)
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - palm: palm detected (tool-palm)
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
event18 - palm: touch 0, palm detected (tool-palm)
event18 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - palm: touch 0, palm detected (tool-palm)
event18 - button state: touch 0 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - tap: touch 0 state TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
event18 - button state: touch 1 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: touch 2 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: touch 3 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - tap: touch 1 state TAP_STATE_TOUCH → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_2
event18 - tap: touch 2 state TAP_STATE_TOUCH_2 → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_3
event18 - tap: touch 3 state TAP_STATE_TOUCH_3 → TAP_EVENT_TOUCH → TAP_STATE_DEAD
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 3 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 2 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 1 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - button state: touch 0 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - tap: touch 0 state TAP_STATE_DEAD → TAP_EVENT_RELEASE → TAP_STATE_IDLE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
event18 - palm: touch 0, palm detected (tool-palm)
event18 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - palm: touch 0, palm detected (tool-palm)
event18 - button state: touch 0 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - tap: touch 0 state TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
event18 - button state: touch 1 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: touch 2 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - button state: touch 3 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
event18 - tap: touch 1 state TAP_STATE_TOUCH → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_2
event18 - tap: touch 2 state TAP_STATE_TOUCH_2 → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_3
event18 - tap: touch 3 state TAP_STATE_TOUCH_3 → TAP_EVENT_TOUCH → TAP_STATE_DEAD
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 3 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 2 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
event18 - button state: touch 1 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - button state: touch 0 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE
event18 - tap: touch 0 state TAP_STATE_DEAD → TAP_EVENT_RELEASE → TAP_STATE_IDLE
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
# EVEMU 1.3
# Kernel: 5.3.0-61-generic
# DMI: dmi:bvnDellInc.:bvr2.13.0:bd11/14/2019:svnDellInc.:pnXPS139360:pvr:rvnDellInc.:rn0115N5:rvrA00:cvnDellInc.:ct9:cvr:
# Input device name: "DLL075B:01 06CB:76AF Touchpad"
# Input device ID: bus 0x18 vendor 0x6cb product 0x76af version 0x100
# Size in mm: 101x56
# 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 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 1216
# Fuzz 0
# Flat 0
# Resolution 12
# Event code 1 (ABS_Y)
# Value 294
# Min 0
# Max 680
# Fuzz 0
# Flat 0
# Resolution 12
# Event code 47 (ABS_MT_SLOT)
# Value 0
# Min 0
# Max 4
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 53 (ABS_MT_POSITION_X)
# Value 0
# Min 0
# Max 1216
# Fuzz 0
# Flat 0
# Resolution 12
# Event code 54 (ABS_MT_POSITION_Y)
# Value 0
# Min 0
# Max 680
# Fuzz 0
# Flat 0
# Resolution 12
# Event code 55 (ABS_MT_TOOL_TYPE)
# Value 0
# Min 0
# Max 2
# 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
# Event type 4 (EV_MSC)
# Event code 5 (MSC_TIMESTAMP)
# Properties:
# Property type 0 (INPUT_PROP_POINTER)
# Property type 2 (INPUT_PROP_BUTTONPAD)
N: DLL075B:01 06CB:76AF Touchpad
I: 0018 06cb 76af 0100
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 e0 02
B: 04 20 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 1216 0 0 12
A: 01 0 680 0 0 12
A: 2f 0 4 0 0 0
A: 35 0 1216 0 0 12
A: 36 0 680 0 0 12
A: 37 0 2 0 0 0
A: 39 0 65535 0 0 0
################################
# Waiting for events #
################################
E: 0.000001 0003 0039 37243 # EV_ABS / ABS_MT_TRACKING_ID 37243
E: 0.000001 0003 0037 0002 # EV_ABS / ABS_MT_TOOL_TYPE 2
E: 0.000001 0003 0035 0915 # EV_ABS / ABS_MT_POSITION_X 915
E: 0.000001 0003 0036 0247 # EV_ABS / ABS_MT_POSITION_Y 247
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 0915 # EV_ABS / ABS_X 915
E: 0.000001 0003 0001 0247 # EV_ABS / ABS_Y 247
E: 0.000001 0004 0005 0000 # EV_MSC / MSC_TIMESTAMP 0
E: 0.000001 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +0ms
E: 0.005387 0004 0005 7100 # EV_MSC / MSC_TIMESTAMP 7100
E: 0.005387 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +5ms
E: 0.005402 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 0.005402 0001 014a 0000 # EV_KEY / BTN_TOUCH 0
E: 0.005402 0001 0145 0000 # EV_KEY / BTN_TOOL_FINGER 0
E: 0.005402 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +0ms
E: 0.921806 0003 0039 37244 # EV_ABS / ABS_MT_TRACKING_ID 37244
E: 0.921806 0003 0037 0000 # EV_ABS / ABS_MT_TOOL_TYPE 0
E: 0.921806 0003 0035 0957 # EV_ABS / ABS_MT_POSITION_X 957
E: 0.921806 0003 0036 0264 # EV_ABS / ABS_MT_POSITION_Y 264
E: 0.921806 0001 014a 0001 # EV_KEY / BTN_TOUCH 1
E: 0.921806 0001 0145 0001 # EV_KEY / BTN_TOOL_FINGER 1
E: 0.921806 0003 0000 0957 # EV_ABS / ABS_X 957
E: 0.921806 0003 0001 0264 # EV_ABS / ABS_Y 264
E: 0.921806 0004 0005 931700 # EV_MSC / MSC_TIMESTAMP 931700
E: 0.921806 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +916ms
E: 0.930578 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.930578 0003 0039 37245 # EV_ABS / ABS_MT_TRACKING_ID 37245
E: 0.930578 0003 0035 0476 # EV_ABS / ABS_MT_POSITION_X 476
E: 0.930578 0003 0036 0161 # EV_ABS / ABS_MT_POSITION_Y 161
E: 0.930578 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.930578 0003 0039 37246 # EV_ABS / ABS_MT_TRACKING_ID 37246
E: 0.930578 0003 0035 0276 # EV_ABS / ABS_MT_POSITION_X 276
E: 0.930578 0003 0036 0272 # EV_ABS / ABS_MT_POSITION_Y 272
E: 0.930578 0003 002f 0003 # EV_ABS / ABS_MT_SLOT 3
E: 0.930578 0003 0039 37247 # EV_ABS / ABS_MT_TRACKING_ID 37247
E: 0.930578 0003 0035 0693 # EV_ABS / ABS_MT_POSITION_X 693
E: 0.930578 0003 0036 0134 # EV_ABS / ABS_MT_POSITION_Y 134
E: 0.930578 0001 0145 0000 # EV_KEY / BTN_TOOL_FINGER 0
E: 0.930578 0001 014f 0001 # EV_KEY / BTN_TOOL_QUADTAP 1
E: 0.930578 0004 0005 938900 # EV_MSC / MSC_TIMESTAMP 938900
E: 0.930578 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +9ms
E: 0.938350 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.938350 0003 0036 0172 # EV_ABS / ABS_MT_POSITION_Y 172
E: 0.938350 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.938350 0003 0035 0273 # EV_ABS / ABS_MT_POSITION_X 273
E: 0.938350 0003 0036 0265 # EV_ABS / ABS_MT_POSITION_Y 265
E: 0.938350 0003 002f 0003 # EV_ABS / ABS_MT_SLOT 3
E: 0.938350 0003 0035 0698 # EV_ABS / ABS_MT_POSITION_X 698
E: 0.938350 0003 0036 0156 # EV_ABS / ABS_MT_POSITION_Y 156
E: 0.938350 0004 0005 946000 # EV_MSC / MSC_TIMESTAMP 946000
E: 0.938350 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +8ms
E: 0.945400 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.945400 0003 0035 0956 # EV_ABS / ABS_MT_POSITION_X 956
E: 0.945400 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.945400 0003 0035 0475 # EV_ABS / ABS_MT_POSITION_X 475
E: 0.945400 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.945400 0003 0035 0272 # EV_ABS / ABS_MT_POSITION_X 272
E: 0.945400 0003 002f 0003 # EV_ABS / ABS_MT_SLOT 3
E: 0.945400 0003 0035 0697 # EV_ABS / ABS_MT_POSITION_X 697
E: 0.945400 0003 0000 0956 # EV_ABS / ABS_X 956
E: 0.945400 0004 0005 953200 # EV_MSC / MSC_TIMESTAMP 953200
E: 0.945400 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.952410 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.952410 0003 0035 0955 # EV_ABS / ABS_MT_POSITION_X 955
E: 0.952410 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.952410 0003 0035 0474 # EV_ABS / ABS_MT_POSITION_X 474
E: 0.952410 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.952410 0003 0035 0271 # EV_ABS / ABS_MT_POSITION_X 271
E: 0.952410 0003 002f 0003 # EV_ABS / ABS_MT_SLOT 3
E: 0.952410 0003 0035 0696 # EV_ABS / ABS_MT_POSITION_X 696
E: 0.952410 0003 0000 0955 # EV_ABS / ABS_X 955
E: 0.952410 0004 0005 960400 # EV_MSC / MSC_TIMESTAMP 960400
E: 0.952410 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.959406 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.959406 0003 0035 0954 # EV_ABS / ABS_MT_POSITION_X 954
E: 0.959406 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.959406 0003 0035 0473 # EV_ABS / ABS_MT_POSITION_X 473
E: 0.959406 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.959406 0003 0035 0270 # EV_ABS / ABS_MT_POSITION_X 270
E: 0.959406 0003 0000 0954 # EV_ABS / ABS_X 954
E: 0.959406 0004 0005 967600 # EV_MSC / MSC_TIMESTAMP 967600
E: 0.959406 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.965843 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.965843 0003 0035 0953 # EV_ABS / ABS_MT_POSITION_X 953
E: 0.965843 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.965843 0003 0035 0472 # EV_ABS / ABS_MT_POSITION_X 472
E: 0.965843 0003 002f 0003 # EV_ABS / ABS_MT_SLOT 3
E: 0.965843 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 0.965843 0001 014e 0001 # EV_KEY / BTN_TOOL_TRIPLETAP 1
E: 0.965843 0001 014f 0000 # EV_KEY / BTN_TOOL_QUADTAP 0
E: 0.965843 0003 0000 0953 # EV_ABS / ABS_X 953
E: 0.965843 0004 0005 974700 # EV_MSC / MSC_TIMESTAMP 974700
E: 0.965843 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +6ms
E: 0.972894 0004 0005 981800 # EV_MSC / MSC_TIMESTAMP 981800
E: 0.972894 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.979864 0004 0005 989000 # EV_MSC / MSC_TIMESTAMP 989000
E: 0.979864 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.986934 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.986934 0003 0035 0952 # EV_ABS / ABS_MT_POSITION_X 952
E: 0.986934 0003 0000 0952 # EV_ABS / ABS_X 952
E: 0.986934 0004 0005 996200 # EV_MSC / MSC_TIMESTAMP 996200
E: 0.986934 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.993276 0003 0035 0951 # EV_ABS / ABS_MT_POSITION_X 951
E: 0.993276 0003 002f 0002 # EV_ABS / ABS_MT_SLOT 2
E: 0.993276 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 0.993276 0001 014d 0001 # EV_KEY / BTN_TOOL_DOUBLETAP 1
E: 0.993276 0001 014e 0000 # EV_KEY / BTN_TOOL_TRIPLETAP 0
E: 0.993276 0003 0000 0951 # EV_ABS / ABS_X 951
E: 0.993276 0004 0005 1003400 # EV_MSC / MSC_TIMESTAMP 1003400
E: 0.993276 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 0.999951 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.999951 0003 0035 0950 # EV_ABS / ABS_MT_POSITION_X 950
E: 0.999951 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.999951 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 0.999951 0001 0145 0001 # EV_KEY / BTN_TOOL_FINGER 1
E: 0.999951 0001 014d 0000 # EV_KEY / BTN_TOOL_DOUBLETAP 0
E: 0.999951 0003 0000 0950 # EV_ABS / ABS_X 950
E: 0.999951 0004 0005 1010500 # EV_MSC / MSC_TIMESTAMP 1010500
E: 0.999951 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +6ms
E: 1.006997 0004 0005 1017600 # EV_MSC / MSC_TIMESTAMP 1017600
E: 1.006997 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
E: 1.013350 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 1.013350 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 1.013350 0001 014a 0000 # EV_KEY / BTN_TOUCH 0
E: 1.013350 0001 0145 0000 # EV_KEY / BTN_TOOL_FINGER 0
E: 1.013350 0004 0005 1024800 # EV_MSC / MSC_TIMESTAMP 1024800
E: 1.013350 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +7ms
20 changes: 18 additions & 2 deletions spec/fusuma/plugin/parsers/tap_parser_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ module Parsers
RSpec.describe TapParser do
describe '#parse_record' do
before do
version = ENV.fetch('LIBINPUT_VERSION', '1.14.1')
@version = ENV.fetch('LIBINPUT_VERSION', '1.14.1')

@debug_log_version_dir = "spec/fusuma/plugin/parsers/#{version}"
@debug_log_version_dir = "spec/fusuma/plugin/parsers/#{@version}"
@parser = TapParser.new
end
context 'with 1 finger tap' do
Expand Down Expand Up @@ -188,6 +188,22 @@ module Parsers
expect(@records.map(&:finger).max).not_to eq 4
end
end

context 'with 4 finger tap after palm detected (bug)' do
before do
@records = File.readlines("#{@debug_log_version_dir}/4finger-tap-after-palm-detected-bug.txt").map do |line|
@parser.parse_record(line)
end.compact
end
it 'should generate 4 finger tap (bug)' do
# FIXME: Fail only libinput 1.10.4
skip if @version == '1.10.4'

expect(@records.map(&:gesture)).to all(eq 'tap')
expect(@records.map(&:finger).max).to eq 4
expect(@records.map(&:status)).to be_include 'touch'
end
end
end
end
end
Expand Down