-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Surface Book 3 touch screen doesn't work in iptsd 1.2.0 and 1.2.1 #129
Comments
Wow, that looks weird. And you say it works fine on windows? Even the left side? iptsd-show shows that iptsd recognizes your finger as a palm, which means it bigger than the default settings. iptsd includes an app that can measure the size of your fingers, but with that issue on the left side of your display, this won't work sadly. The algorithms for touch detection have changed in 1.2.0, so this would explain why it worked before. What you can try is manually adjusting the maximum size of a contact. The value for this is Also, could you get be a binary log of your touchscreen? $ sudo systemctl stop $(iptsd-find-service)
$ sudo iptsd-dump $(iptsd-find-hidraw) ipts.bin Run these two commands and then touch the screen a few times. I would be especially interested in touches on that white stripe or near of it. Once you did that, stop the program with Ctrl-C and upload the ipts.bin file it created here. |
Thanks for the quick reply!
I didn't notice anything unsual when I was om Windows. Let me try again especially for the left side next time.
It seems the default of MaxSize is 2.0. I tried 1.0, 0.5, 0.1, 0.01, 0 and none of them makes the touch screen work. And I didn't see any visual different from iptsd-show. I'm curious how do you know from iptsd-show screenshot that it recogized my finger as palm?
I touched the screen multiple times including area around the left strip. |
I tested on Windows. The whole area on the left of the bar doesn't work on Windows either.... Seems like hardware issue... Sorry for bother you... |
Because I know that palms (or rather, "invalid" contacts, so too small, too large, too distorted) are colored red, and valid contacts are colored green.
Your fingers are bigger than the default value, so you need to increase it.
I didnt want to discard your issue. The defaults could need some improvements, and with some tweaks to the settings the rest of your screen could still work fine. I was just interested in whether Windows can somehow fix this issue with the Digitizer, either by uploading calibration data, or by some intensive post processing. |
Understood. It would be good if I can use the rest of the screen with iptsd. After setting MaxSize = 100, the contact appearred as yellow. I can't get a green contact even with my little finger and with the slightest touch. Do you think the issue (yellow contacts and touch still doesn't work) has anything to do with the bad part of screen? If so, can I "ban" the bad part of the touch screen in iptsd? And I forgot to mention that iptsd flickers with these red horizontal lines. I attached the dump in a previous reply, does that help diagnose the issue? |
Those are just one really big ellipses because processing gets confused.
I guess if you want to try and hack around, you could set the offending values/values in some area to the average value right after this. |
Yellow contacts mean that the movement of the contact in the current frame is regarded as unstable. That means that iptsd will keep using the previous values for it. If it was never stable, then it will be ignored. The issue is that iptsd marks contacts that are near a palm as unstable. To make things easier, iptsd assumes all contacts are circles, with the same radius as the major axis of the ellipse. In your case this means that the giant palm ellipse is assumed to be a circle spanning the entire display. To fix this, try setting |
The comment says DistanceThreshold is a max value. So it seems a minus value can solve the problem.
After settings to -1000000, the touch works again. Though problems still exist, like phantom touch (maybe related to the flickering red lines showed in iptsd-show) and touch sometimes doesn't work for a few seconds. Windows doesn't have these issues. Let me try different settings in iptsd to see if I can fix it. |
On 1.2.1
the systemd service starts fine but the touch screen doesn't work.
iptsd output
no error in dmesg
Running iptsd-show seems to work (But there is a weird bar on the left)
On 1.2.0
it will crash on start.
On 1.1.1
the touch screen mostly works. (Only the left corner doesn't work)
On Windows
Touchscreen works perfectly so it shouldn't be hardware issue.
System info
The text was updated successfully, but these errors were encountered: