Bug 245877 - Synaptics touchpad sends button release as soon as movement starts preventing text selection
Summary: Synaptics touchpad sends button release as soon as movement starts preventing...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Vladimir Kondratyev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-24 14:09 UTC by raichoo
Modified: 2020-05-04 15:20 UTC (History)
4 users (show)

See Also:


Attachments
psm.patch (493 bytes, patch)
2020-04-25 13:10 UTC, Vladimir Kondratyev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description raichoo 2020-04-24 14:09:16 UTC
I'm currently running `CURRENT` on my X1 Carbon 3rd Gen Thinkpad and having
trouble marking text. I'm on a Wayland compositor and inspecting incoming events
with `wev` tells me that as soon as I start moving the cursor there is a button
release event even though the button has not yet been released.

I've tried some older boot environments and the issue seems to appear between
360108 (good) and 360172 (bad).
Comment 1 Vladimir Kondratyev freebsd_committer freebsd_triage 2020-04-24 16:22:58 UTC
(In reply to raichoo from comment #0)
Do you have kern.evdev.rcpt_mask=<something> in your sysctl.conf?

If not, try `sysctl kern.evdev.rcpt_mask=3`
Comment 2 raichoo 2020-04-24 16:30:14 UTC
I currently have the following setting, is that even a legal value for kern.evdev.rcpt_mask?

$ sysctl -d kern.evdev.rcpt_mask
kern.evdev.rcpt_mask: Who is receiving events: bit0 - sysmouse, bit1 - kbdmux, bit2 - mouse hardware, bit3 - keyboard hardware
$ sysctl kern.evdev.rcpt_mask
kern.evdev.rcpt_mask: 12
Comment 3 raichoo 2020-04-24 16:34:28 UTC
Sorry didn't see there where *3* bits to set. Yes I tried your setting and it works.
Comment 4 raichoo 2020-04-24 16:34:57 UTC
4 -_-
Comment 5 Vladimir Kondratyev freebsd_committer freebsd_triage 2020-04-24 16:39:29 UTC
(In reply to raichoo from comment #3)
Than please, run evemu-record (devel/evemu) attached to trackpoint (not trackpad!!!) and see if it reports button release event properly when kern.evdev.rcpt_mask is set to 12.
Comment 6 raichoo 2020-04-24 16:46:52 UTC
Here's what I get

E: 0.000001 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 0.000001 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +0ms
E: 0.984647 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 0.984647 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +984ms
E: 4.170001 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 4.170001 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +3186ms
E: 4.666718 0002 0001 -001	# EV_REL / REL_Y                -1
E: 4.666718 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 4.666718 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +496ms

Clicking with BTN_LEFT and releasing it works but when I click+hold+move the release gets issued prematurely.
Comment 7 Vladimir Kondratyev freebsd_committer freebsd_triage 2020-04-24 16:52:23 UTC
(In reply to raichoo from comment #6)
Looks like psm(4) driver issue.

Could you add debug.psm.loglevel=5 to /boot/loader.conf and post bootup dmesg here?
Comment 8 raichoo 2020-04-24 16:58:57 UTC
Of course, thanks for looking into this!

---<<BOOT>>---
Copyright (c) 1992-2020 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-CURRENT #2 r360249: Fri Apr 24 14:10:36 CEST 2020
    raichoo@area51:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64
FreeBSD clang version 10.0.0 (git@github.com:llvm/llvm-project.git llvmorg-10.0.0-0-gd32170dbd5b)
VT(efifb): resolution 640x480
CPU: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz (2394.51-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x306d4  Family=0x6  Model=0x3d  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x121<LAHF,ABM,Prefetch>
  Structured Extended Features=0x21c27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG,RDSEED,ADX,SMAP,PROCTRACE>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8149950464 (7772 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <LENOVO TP-N14  >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 hardware threads
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-39
Launching APs: 1 2 3
Timecounter "TSC-low" frequency 1197255032 Hz quality 1000
Cuse v0.1.36 @ /dev/cuse
random: entropy device external interface
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 13.0.
kbd1 at kbdmux0
000.000047 [4342] netmap_init               netmap: loaded module
[ath_hal] loaded
nexus0
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
cryptosoft0: <software crypto>
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS>
acpi0: <LENOVO TP-N14>
acpi_ec0: <Embedded Controller: GPE 0x24, ECDT> port 0x62,0x66 on acpi0
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x3000-0x303f mem 0xf0000000-0xf0ffffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
vgapci0: Boot video device
hdac0: <Intel Broadwell HDA Controller> mem 0xf1230000-0xf1233fff at device 3.0 on pci0
xhci0: <Broadwell Integrated PCH-LP chipset USB 3.0 controller> mem 0xf1220000-0xf122ffff at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
xhci0: Port routing mask set to 0xffffffff
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <simple comms> at device 22.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection> port 0x3060-0x307f mem 0xf1200000-0xf121ffff,0xf123d000-0xf123dfff at device 25.0 on pci0
em0: Using 1024 TX descriptors and 1024 RX descriptors
em0: Using an MSI interrupt
em0: Ethernet address: 54:ee:75:61:c1:98
em0: netmap queues/slots: TX 1/1024, RX 1/1024
hdac1: <Intel Broadwell HDA Controller> mem 0xf1234000-0xf1237fff at device 27.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pcib2: <ACPI PCI-PCI bridge> at device 28.1 on pci0
pci1: <ACPI PCI bus> on pcib2
pci1: <network> at device 0.0 (no driver attached)
pcib3: <ACPI PCI-PCI bridge> at device 28.5 on pci0
pci2: <ACPI PCI bus> on pcib3
ahci0: <AHCI SATA controller> mem 0xf1000000-0xf1001fff at device 0.0 on pci2
ahci0: AHCI v1.30 with 1 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ehci0: <Intel Wildcat Point-LP USB 2.0 controller> mem 0xf123c000-0xf123c3ff at device 29.0 on pci0
usbus1: EHCI version 1.0
usbus1 on ehci0
usbus1: 480Mbps High Speed USB v2.0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
acpi_tz0: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: current command byte:0047
psm: ENABLE_DEV return code:00fa
psm: DISABLE_DEV return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 00 02 64
psm: SEND_DEV_ID return code:00fa
psm: device ID: 0000
psm: SET_RESOLUTION (0) 00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 00 00 64
psm: SET_RESOLUTION (3) 00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 00 03 64
psm: SET_RESOLUTION (3) 00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 00 03 64
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SEND_AUX_DEV_DATA return code:00fa
psm: data 08 00 00
psm: SET_SAMPLING_RATE (200) 00fa
psm: SET_SAMPLING_RATE (100) 00fa
psm: SET_SAMPLING_RATE (80) 00fa
psm: SEND_DEV_ID return code:00fa
psm: device ID: 0000
psm: SET_SAMPLING_RATE (200) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: SET_SAMPLING_RATE (80) 00fa
psm: SEND_DEV_ID return code:00fa
psm: device ID: 0000
psm: SET_SAMPLING_RATE (200) 00fa
psm: SET_SAMPLING_RATE (100) 00fa
psm: SET_SAMPLING_RATE (80) 00fa
psm: SET_SAMPLING_RATE (60) 00fa
psm: SET_SAMPLING_RATE (40) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SEND_DEV_ID return code:00fa
psm: device ID: 0000
psm: SEND_DEV_ID return code:00fa
psm: device ID: 0000
synaptics: BEGIN init
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 01 47 18
Synaptics Touchpad v8.1
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 01 e2 b1
  Model information:
   infoRot180: 0
   infoPortrait: 0
   infoSensor: 1
   infoHardware: 113
   infoNewAbs: 1
   capPen: 0
   infoSimplC: 1
   infoGeometry: 1
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status f0 03 a3
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 2d 80 44
  Extended capabilities:
   capExtended: 1
   capMiddle: 0
   nExtendedQueries: 7
   capPassthrough: 1
   capLowPower: 0
   capMultiFingerReport: 1
   capSleep: 0
   capFourButtons: 0
   capBallistics: 0
   capMultiFinger: 1
   capPalmDetect: 1
   infoXupmm: 45
   infoYupmm: 68
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 94 33 00
  Extended model ID:
   verticalScroll: 0
   horizontalScroll: 0
   verticalWheel: 0
   nExtendedButtons: 3
   capEWmode: 1
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 12 e8 00
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status b1 b6 94
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 27 49 22
  Continued capabilities:
   capClickPad: 1
   capDeluxeLEDs: 0
   noAbsoluteFilter: 0
   capReportsV: 1
   capUniformClickPad: 0
   capReportsMin: 1
   capInterTouch: 1
   capReportsMax: 1
   capClearPad: 0
   capAdvancedGestures: 0
   capCoveredPad: 0
   maximumXCoord: 5676
   maximumYCoord: 4758
   minimumXCoord: 1266
   minimumYCoord: 1096
  Clickpad capabilities:
   forcePad: 0
   topButtonPad: 0
  Additional Buttons: 4
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 33 00 40
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
psm: setting pass-through mode.
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: turning pass-through mode off.
psm: SET_SCALING21 return code:00fa
psm: SET_SCALING11 return code:00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SET_SAMPLING_RATE (20) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (3) 00fa
psm: SET_SAMPLING_RATE (200) 00fa
synaptics: END init (7 buttons)
psm0: found Synaptics Touchpad
psm: SET_RESOLUTION (2) 00fa
psm: SET_SAMPLING_RATE (100) 00fa
psm: SET_SCALING11 return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 00 02 64
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
WARNING: Device "psm" is Giant locked and may be deleted before FreeBSD 13.0.
psm0: model Synaptics Touchpad, device ID 0-00, 7 buttons
psm0: config:00004000, flags:00000008, packet size:6
psm0: syncmask:c0, syncbits:00
battery0: <ACPI Control Method Battery> on acpi0
acpi_acad0: <AC Adapter> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Timecounters tick every 1.000 msec
Obsolete code will be removed soon: random(9) is the obsolete Park-Miller LCG from 1988
hdacc0: <Intel Broadwell HDA CODEC> at cad 0 on hdac0
hdaa0: <Intel Broadwell Audio Function Group> at nid 1 on hdacc0
pcm0: <Intel Broadwell (HDMI/DP 8ch)> at nid 3 on hdaa0
hdacc1: <Realtek ALC292 HDA CODEC> at cad 0 on hdac1
hdaa1: <Realtek ALC292 Audio Function Group> at nid 1 on hdacc1
pcm1: <Realtek ALC292 (Analog 2.0+HP/2.0)> at nid 20,21 and 26 on hdaa1
pcm2: <Realtek ALC292 (Internal Analog Mic)> at nid 18 on hdaa1
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <SAMSUNG MZHPV512HDGL-000L1 BXW25L0Q> ACS-2 ATA SATA 3.x device
ada0: Serial Number S1WUNYAG607087
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 488386MB (1000215216 512 byte sectors)
ugen0.1: <0x8086 XHCI root HUB> at usbus0
ugen1.1: <Intel EHCI root HUB> at usbus1
Trying to mount root from zfs:zroot/ROOT/r360249 []...
uhub0 on usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
uhub1 on usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
GEOM_ELI: Device ada0p4.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
Root mount waiting for: usbus0 usbus1
uhub0: 15 ports with 15 removable, self powered
Root mount waiting for: usbus0 usbus1
uhub1: 3 ports with 3 removable, self powered
ugen0.2: <Sierra Wireless Inc. Sierra Wireless EM7345 4G LTE> at usbus0
Root mount waiting for: usbus0 usbus1
ugen0.3: <vendor 0x138a product 0x0017> at usbus0
ugen1.2: <vendor 0x8087 product 0x8001> at usbus1
uhub2 on uhub1
uhub2: <vendor 0x8087 product 0x8001, class 9/0, rev 2.00/0.03, addr 2> on usbus1
uhub2: 8 ports with 8 removable, self powered
ugen0.4: <vendor 0x8087 product 0x0a2a> at usbus0
ugen0.5: <Chicony Electronics Co.,Ltd. Integrated Camera> at usbus0
GEOM_ELI: Device ada0p3.eli created.
GEOM_ELI: Encryption: AES-XTS 128
GEOM_ELI:     Crypto: software
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19).
Successfully added WC MTRR for [0xe0000000-0xefffffff]: 0; 
[drm] Got stolen memory base rxce000000, size 0x2000000
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] Connector eDP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.eDP-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DP-2: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-2
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-2: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-2
[drm]   - kern.vt.fb.default_mode
[drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0
WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 13.0.
VT: Replacing driver "efifb" with new "fb".
start FB_INFO:
type=11 height=1440 width=2560 depth=32
cmsize=16 size=14745600
pbase=0xe0005000 vbase=0xfffff800e0005000
name=drmn0 flags=0x0 stride=10240 bpp=32
cmap[0]=0 cmap[1]=7f0000 cmap[2]=7f00 cmap[3]=c4a000
end FB_INFO
drmn0: fb0: inteldrmfb frame buffer device
lo0: link state changed to UP
[drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
iwm0: <Intel(R) Dual Band Wireless AC 7265> mem 0xf1100000-0xf1101fff at device 0.0 on pci1
iwm0: hw rev 0x210, fw ver 22.361476.0, address 4c:34:88:29:6c:ce
pchtherm0: <Wildcat Point Thermal Subsystem> mem 0xf123b000-0xf123bfff at device 31.6 on pci0
cdce0 on uhub0
cdce0: <Sierra Wireless EM7345 4G LTE (NCM)> on usbus0
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: ff:ff:ff:ff:ff:ff
umodem0 on uhub0
umodem0: <Sierra Wireless EM7345 4G LTE> on usbus0
umodem0: data interface 3, has no CM over data, has break
wlan0: Ethernet address: 4c:34:88:29:6c:ce
wlan0: link state changed to UP
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (0) 00fa
psm: SET_RESOLUTION (1) 00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 33 00 c5
psm: ENABLE_DEV return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 20 01 64
psm: SET_SAMPLING_RATE (100) 00fa
psm: SET_RESOLUTION (2) 00fa
psm: SET_SCALING11 return code:00fa
psm: SEND_AUX_DEV_STATUS return code:00fa
psm: status 20 02 64
hdac0: Unexpected unsolicited response from address 0: 00000000
[...plenty of what's on the last line...]
Comment 9 Niclas Zeising freebsd_committer freebsd_triage 2020-04-24 17:09:24 UTC
It's interesting that this causes issues, since kern.evdev.rcpt_mask=12 is generally what we recommend for using devices with evdev/libinput.  And AFAIK, Wayland can only use devices this way.

I haven't seen any issues with it in X though.
Comment 10 Niclas Zeising freebsd_committer freebsd_triage 2020-04-24 17:15:43 UTC
(In reply to Niclas Zeising from comment #9)

Replying to myself:  I think I got it.  The issue is with the trackpoint, and I can reproduce it.  I guess most people just use a touchpad for mouse movements, since this hasn't been reported before.
Comment 11 Vladimir Kondratyev freebsd_committer freebsd_triage 2020-04-24 21:08:34 UTC
(In reply to raichoo from comment #8)
>   nExtendedButtons: 3
>
>  Continued capabilities:
>   capClickPad: 1

Hmmm... Trackpad advertises himself as clickpad with 3 extra buttons

Could you:
1. Post track*pad* evdev capabilities (it is the header of evemu-record output for this device.
1. evemu-record track*pad*'s events while you are doing your gesture.
2. Post dmesg output produced at the same time with debug.psm.loglevel set to 5.
Comment 12 raichoo 2020-04-25 08:01:06 UTC
1)

# EVEMU 1.3
# Kernel: 13.0-CURRENT
# Input device name: "SynPS/2 Synaptics TouchPad"
# Input device ID: bus 0x11 vendor 0x02 product 0x07 version 0000
# Size in mm: 98x53
# 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 256 (BTN_0)
#     Event code 257 (BTN_1)
#     Event code 258 (BTN_2)
#     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     3100
#       Min       1266
#       Max       5676
#       Fuzz         0
#       Flat         0
#       Resolution  45
#     Event code 1 (ABS_Y)
#       Value     2603
#       Min       1096
#       Max       4758
#       Fuzz         0
#       Flat         0
#       Resolution  68
#     Event code 24 (ABS_PRESSURE)
#       Value        0
#       Min          0
#       Max        255
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 28 (ABS_TOOL_WIDTH)
#       Value       12
#       Min          0
#       Max         15
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     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       1266
#       Max       5676
#       Fuzz         0
#       Flat         0
#       Resolution  45
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min       1096
#       Max       4758
#       Fuzz         0
#       Flat         0
#       Resolution  68
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min      65535
#       Max          1
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 58 (ABS_MT_PRESSURE)
#       Value        0
#       Min          0
#       Max        255
#       Fuzz         0
#       Flat         0
#       Resolution   0
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
N: SynPS/2 Synaptics TouchPad
I: 0011 0002 0007 0000
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 07 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 11 00 80 60 06
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 1266 5676 0 0 45
A: 01 1096 4758 0 0 68
A: 18 0 255 0 0 0
A: 1c 0 15 0 0 0
A: 2f 0 1 0 0 0
A: 35 1266 5676 0 0 45
A: 36 1096 4758 0 0 68
A: 39 65535 1 0 0 0
A: 3a 0 255 0 0 0

2) This works just as expected (not like the track*point*) I just gave it a light tap if you need more
please let me know.

E: 0.000001 0001 0100 0001	# EV_KEY / BTN_0                1
E: 0.000001 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +0ms
E: 1.806133 0003 0039 0000	# EV_ABS / ABS_MT_TRACKING_ID   0
E: 1.806133 0003 0035 3669	# EV_ABS / ABS_MT_POSITION_X    3669
E: 1.806133 0003 0036 2833	# EV_ABS / ABS_MT_POSITION_Y    2833
E: 1.806133 0003 003a 0034	# EV_ABS / ABS_MT_PRESSURE      34
E: 1.806133 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.806133 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.806133 0003 0000 3669	# EV_ABS / ABS_X                3669
E: 1.806133 0003 0001 2833	# EV_ABS / ABS_Y                2833
E: 1.806133 0003 0018 0034	# EV_ABS / ABS_PRESSURE         34
E: 1.806133 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +1806ms
E: 1.806173 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.806173 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.806173 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.806173 0003 0018 0000	# EV_ABS / ABS_PRESSURE         0
E: 1.806173 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +0ms
E: 2.607737 0001 0100 0000	# EV_KEY / BTN_0                0
E: 2.607737 0000 0000 0001	# ------------ SYN_REPORT (1) ---------- +801ms



3) Did a `dmesg -c` before doing the gesture.

psmintr: 80 00 00 c2 01 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: b0 be 22 c0 55 cd
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
synaptics: palm detected! (12)
smoother0: ---
smoother0: ipacket: [3669, 3021], 34, 12
smoother0: cursor[9]: x=3669, y=3021, dx=0, dy=0
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c2 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
psmintr: 80 00 00 c0 00 00
Comment 13 Vladimir Kondratyev freebsd_committer freebsd_triage 2020-04-25 13:10:42 UTC
Created attachment 213780 [details]
psm.patch

Try attached patch
Comment 14 raichoo 2020-04-26 08:40:03 UTC
Seems to work here.
Comment 15 commit-hook freebsd_committer freebsd_triage 2020-04-26 20:07:04 UTC
A commit references this bug:

Author: wulf
Date: Sun Apr 26 20:06:08 UTC 2020
New revision: 360353
URL: https://svnweb.freebsd.org/changeset/base/360353

Log:
  psm(4): Fix wrong key-release event occuring after trackpoint use.

  Some models of laptops e.g. "X1 Carbon 3rd Gen Thinkpad" have LRM buttons
  wired as so called "Synaptic touchpads extended buttons" rather thah real
  trackpoint buttons. Handle this case with merging of events from both
  sources.

  PR:		245877
  Reported by:	Raichoo <raichoo@googlemail.com>
  MFC after:	1 week

Changes:
  head/sys/dev/atkbdc/psm.c
Comment 16 commit-hook freebsd_committer freebsd_triage 2020-05-03 23:38:45 UTC
A commit references this bug:

Author: wulf
Date: Sun May  3 23:38:22 UTC 2020
New revision: 360617
URL: https://svnweb.freebsd.org/changeset/base/360617

Log:
  MFC r360353:

  psm(4): Fix wrong key-release event occuring after trackpoint use.

  Some models of laptops e.g. "X1 Carbon 3rd Gen Thinkpad" have LRM buttons
  wired as so called "Synaptic touchpads extended buttons" rather thah real
  trackpoint buttons. Handle this case with merging of events from both
  sources.

  PR:		245877
  Reported by:	Raichoo <raichoo@googlemail.com>

Changes:
_U  stable/11/
  stable/11/sys/dev/atkbdc/psm.c
_U  stable/12/
  stable/12/sys/dev/atkbdc/psm.c