-
-
Notifications
You must be signed in to change notification settings - Fork 29
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
Touchpad inputs are treated as touchscreen inputs on Linux under some unknown conditions #54
Comments
In Kivy on Linux, multitouch devices (= touchscreens) seem to be handled by kivy.input.providers.mtdev, which in the default config is configured by kivy.input.providers.probesysfs. This lead me to a workaround: I'll investigate further, but I suspect that this is a problem with ProbeSysfs' logic for how to detect touchscreens and should be fixed upstream in Kivy. Or does Sideband do anything unusual regarding input devices? EDIT: This matches with the following lines in the log I posted, which I think are ProbeSysfs recognizing the touchpads as touchscreens and configuring them: Log snippet
|
To be more precise and correct: The problem seems to be that all multitouch devices are treated as touchscreens, where device coordinates map to screen coordinates somehow and a contact moving corresponds to the user dragging UI elements. I don't know where that conflation of touchscreens and touchpads happens and how it should be fixed. Also, the question remains why this didn't cause any trouble for other users. |
Thanks for collecting all the information and posting detailed logs and info. I agree with your observations and initial conclusions here. Unfortunately, Sideband doesn't do anything non-standard in regards to input, so this may be an issue that has it's root in Kivy itself. Regardless, we'll need to find some sort of tenable workaround as well, until it can be identified and potentially fixed in Kivy. I'll start looking into this, and seeing if I can track down where the issue might occur exactly, but it might be hard for me to debug, since I doubt I have any hardware where I can replicate. Therefore, any additional information and input you can come up with in the meantime is highly appreciated! |
Describe the Bug
Sideband or Kivy seem to partially treat inputs from a touchpad as if they were coming from a touchscreen on my system, which results in the GUI being pretty much unusable via touchpad.
For example, moving a finger up and down on a scrollable view results in its contents moving up and down (instead of just moving the mouse pointer). Also, tapping on the touchpad seems to sometimes click on things corresponding to where the touchpad was tapped, instead of where the mouse pointer is.
There is a screencast below.
Using a regular mouse works fine, even without closing and reopening Sideband.
To Reproduce
I don't know which pieces of my system cause the bug to surface. A possible starting point might be to live-boot Manjaro with KDE from a USB stick on a laptop and install Sideband on that (via pipx).
After that, just opening Sideband and using the touchpad should be enough to see the bug in action.
Expected Behavior
Sideband should treat touchpads like other mouse input devices.
Logs & Screenshots
Sideband log file with -v
Screencast_20240817_124228.webm
The window on the right is the libinput debug-gui, in which the blue rectangle shows touchpad inputs. The blue circle always shows the last finger position, the number 0 means that a finger is currently on the touchpad.
System Information
Additional context
libinput list-devices
I removed irrelevant devices.
The text was updated successfully, but these errors were encountered: