Proximity Out events not being thrown when ModelTabletNoProximityOut is set.
Summary
Laptop: HP Spectre Folio 13-ax0000
The stylus does not throw Proximity Out events. When testing a local quirk, proximity out events are not thrown when pen is unused for a long period.
Steps to reproduce
Install the local quirk:
[HP Spectre Folio Convertible 13-akxxxx Tablet]
MatchName=ELAN2514:00 04F3:2E26
MatchUdevType=tablet
ModelTabletNoProximityOut=1
For a short while after boot, proximity out events are thrown as expected when pen is removed after a moment.
After the stylus is used for long stroke, proximity out events stop being thrown when pen is removed from the screen.
libinput version you encountered the bug on
Libinput 1.12.6
Hardware information:
rkr@handbrain ~> libinput --version
1.12.6
rkr@handbrain ~> xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN2514:00 04F3:2E26 id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎜ ↳ ELAN2514:00 04F3:2E26 Pen (0) id=18 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ HP Wide Vision FHD Camera: HP W id=8 [slave keyboard (3)]
↳ HP Wide Vision FHD Camera: HP I id=9 [slave keyboard (3)]
↳ ELAN2514:00 04F3:2E26 id=11 [slave keyboard (3)]
↳ Intel HID events id=12 [slave keyboard (3)]
↳ Intel HID 5 button array id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ HP Wireless hotkeys id=16 [slave keyboard (3)]
↳ HP WMI hotkeys id=17 [slave keyboard (3)]
Other log output:
-
libinput record
output: -
libinput debug-events --verbose
output:
A quick touch of the pen to the screen and back. Button 1 is triggered when the pen is touched to the screen.
rkr@handbrain ~> xinput test -proximity 18
motion a[0]=15148659 a[1]=11860673 a[2]=0
motion a[0]=14722435 a[1]=11854221 a[2]=0
motion a[0]=14233505 a[1]=12209089 a[2]=0
motion a[0]=13641881 a[1]=13289825 a[2]=1231
button press 1
motion a[0]=13641881 a[1]=13289825 a[2]=1339
motion a[0]=13641881 a[1]=13289825 a[2]=1448
motion a[0]=13641881 a[1]=13289825 a[2]=1487
motion a[0]=13641881 a[1]=13289825 a[2]=1526
motion a[0]=13641881 a[1]=13289825 a[2]=1467
motion a[0]=13641881 a[1]=13289825 a[2]=401
motion a[0]=13641881 a[1]=13289825 a[2]=0
button release 1
Spurious proximity out events created when the eraser button is pressed while using pen. (Related to issue #284?)
rkr@handbrain ~ [130]> xinput test -proximity 18
motion a[0]=13551911 a[1]=13460807 a[2]=1119
button press 1
proximity in a[0]=13551911 a[1]=13460807
motion a[0]=13551911 a[1]=13460807 a[2]=1260
motion a[0]=13553728 a[1]=13457581 a[2]=1401
motion a[0]=13560090 a[1]=13452742 a[2]=1506
motion a[0]=13776382 a[1]=13243047 a[2]=0
button release 1
motion a[0]=13806372 a[1]=13238208 a[2]=0
motion a[0]=13841815 a[1]=13241434 a[2]=0
motion a[0]=13880893 a[1]=13247886 a[2]=0
motion a[0]=13923607 a[1]=13257564 a[2]=0
motion a[0]=13937239 a[1]=13273695 a[2]=0
motion a[0]=13948144 a[1]=13284986 a[2]=0
motion a[0]=13958141 a[1]=13294664 a[2]=0
motion a[0]=13965411 a[1]=13301116 a[2]=0
motion a[0]=13970864 a[1]=13307568 a[2]=0
motion a[0]=13976317 a[1]=13314021 a[2]=0
motion a[0]=13982678 a[1]=13320473 a[2]=0
motion a[0]=14084463 a[1]=13409190 a[2]=812
button press 1
motion a[0]=14084463 a[1]=13407577 a[2]=812
motion a[0]=14085372 a[1]=13407577 a[2]=928
motion a[0]=14087189 a[1]=13404351 a[2]=1044
motion a[0]=14091733 a[1]=13397899 a[2]=1044
button release 1
proximity out a[0]=14091733 a[1]=13397899
proximity in a[0]=14103547 a[1]=13364025
motion a[0]=14103547 a[1]=13364025 a[2]=1219
motion a[0]=14103547 a[1]=13364025 a[2]=1219
button press 1
proximity in a[0]=14105365 a[1]=13357573
motion a[0]=14105365 a[1]=13357573 a[2]=1282
motion a[0]=14111727 a[1]=13344668 a[2]=1345
motion a[0]=14121723 a[1]=13328538 a[2]=1368
motion a[0]=14136264 a[1]=13309181 a[2]=1390
motion a[0]=14153531 a[1]=13297890 a[2]=1390
motion a[0]=14171707 a[1]=13297890 a[2]=1391
motion a[0]=14188974 a[1]=13312407 a[2]=1359
motion a[0]=14210785 a[1]=13344668 a[2]=377
motion a[0]=14248954 a[1]=13418868 a[2]=0
button release 1
motion a[0]=14023574 a[1]=12913987 a[2]=0
motion a[0]=13352885 a[1]=11433217 a[2]=784
button press 1
motion a[0]=13321077 a[1]=11447735 a[2]=0
button release 1
I honestly have no idea what's going on, and how to debug it at this point. Getting this far was mostly due to google and my ability to copy and paste. That said, I'm happy to provide further information if needed.