linux-surface / iptsd

Userspace daemon for Intel Precise Touch & Stylus
GNU General Public License v2.0
86 stars 39 forks source link

[SP7P][Fedora 36][Gnome] Touch/stylus not working near screen edges #79

Closed Pairman closed 1 year ago

Pairman commented 1 year ago

On SP7P I use manually compiled quo/ithc-linux and linux-surface/iptsd. Afetr starting the iptsd service, touch is glitchy near screen edges, especially not working in the area where the Gnome top bar exists. I used a drawing app in fullscreen mode to test the screen edges. Red represents stylus and blue represents touch with iptsd enabled.

image

When not running iptsd, single touch works perfectly near every screen edges. But with iptsd, touch in the top bar area is not functioning, but it can be properly detected. For example, when opened a maximized window, and with another window floating above it, touching in the top bar area can make the floating window behind the maximized one, but I can't touch any buttons in the top bar. In the screenshot, the other three edges(left, right and bottom) aren't touched too, idk if it's normal behaviour.

Stylus works on the Gnome top bar, pressing the buttons normally. But it can't draw in any other programs. And stylus position has an offset in Krita when pressing buttons(drawing has no offset) so I can't directly point at the buttons.

I think the issues are related to iptsd and maybe Gnome's improper implementation, and Krita issue related to KDE. Hope this will be fixed. Thanks in advance.

StollD commented 1 year ago

That the touch inputs dont go all the way to the edges of the display is expected. Our blob detection returns the center point of all contacts, and because the touchscreen does not sample outside of the display, it is not possible for that point to be directly on the edge.

Touches being ignored on the Gnome top bar, or having an offset in Krita sounds like a bug in Gnome / Krita to be honest. iptsd only reports coordinates, and when they line up at one point of the display, there is no reason why they should not line up everywhere else as far as iptsd is concerned.

The Krita issue might be a quirk resulting from Wayland / X11 differences. The last time I tried Krita, Wayland didnt work at all and it would always use X11. But that was quite a while ago, so I dont know what the situation there is at the moment.

Pairman commented 1 year ago

That the touch inputs dont go all the way to the edges of the display is expected. Our blob detection returns the center point of all contacts, and because the touchscreen does not sample outside of the display, it is not possible for that point to be directly on the edge.

Touches being ignored on the Gnome top bar, or having an offset in Krita sounds like a bug in Gnome / Krita to be honest. iptsd only reports coordinates, and when they line up at one point of the display, there is no reason why they should not line up everywhere else as far as iptsd is concerned.

The Krita issue might be a quirk resulting from Wayland / X11 differences. The last time I tried Krita, Wayland didnt work at all and it would always use X11. But that was quite a while ago, so I dont know what the situation there is at the moment.

Thanks for replying