linux-surface / iptsd

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

Configurable sensitivity #15

Open danielzgtg opened 3 years ago

danielzgtg commented 3 years ago

The touchscreen is not sensitive enough on my Surface Pro 7 when running linux-surface, but it is fine with Windows. Another user mentioned in a comment somewhere that they were in the opposite situation: the touchscreen sensitivity was just right in linux-surface, but too sensitive in Windows.

To support both of our use cases, I suggest adding a configuration option to allow the user to adjust the touchscreen sensitivity. This could be a decimal corresponding to something like the pressure or radius, or it could even be just a high/low boolean.

In my case, the lack of sensitivity is quite inconvenient. I like to use my fingertips on the touchscreen. This is what I do on Windows and on all other touchscreen devices. It feels smooth as my finger glides effortlessly across the glass.

This is not the case with linux-surface. My touches are ignored unless I apply a medium downwards force with the flat part of my thumb. No, it doesn't work properly otherwise such as with other fingers or with the normal soft pressure that one would naturally apply. When I try to perform a drag gesture, the computer often interprets the drag as being lifted for a while before starting a new drag action, and this leads to drag-and-drops being dropped in the wrong spot and selection marquees not covering the desired items. This way of using a touchscreen is awkward and frustrating. However, the workaround doesn't last. When I apply an increased amount of pressure, I need to use an increased amount of force parallel to the screen to overcome the friction and move my finger. For some reason, the friction not only exists but keeps on increasing until I wash my hands and wipe the screen. This does not happen with my fingertips.

Nowadays, after struggling against this, I have been forced to develop a habit of using the touchpad instead of the touchscreen, even for tasks that would be more natural with a touchscreen. I would like this configuration option so that I can properly use my touchscreen again

StollD commented 3 years ago

Well, we are still limited to singletouch mode on the SP7. In that mode all processing is done in the ME firmware, and all that we receive is an X and a Y coordinate. All that iptsd does is parse these values and forward them as is to the input subsystem.

So I don't think this can be implemented, at least not on SP7 or other gen7 devices.

danielzgtg commented 3 years ago

This bug is indeed intended to serve as a note before I forget for after multitouch support lands.

[...] singletouch mode on the SP7. In that mode all processing [...]

I was aware that touching the screen with two fingers causes no finger to be recognized. Furthermore, I also guessed that the singletouch was a fallback mode by observing that touch in the UEFI setup feels and behaves the same way as in Linux.

implemented

I know this is currently blocked on multitouch (linux-surface/intel-precise-touch#4). Once that is implemented, it would be nice to support both sensitivity options