So I am working on a kivy application that uses 2 monitors that are stacked on top of each other. Above them there is one more monitor with same resolution as the previous two (1680×1050), but it is not used in my app. Moreover, I am only using touch on the very bottom monitor, the second one just shows some data.
When I try to use this on a setup with regular monitors, everything works as expected, but when run on a monitor with multi-touch capabilities the touch is not working correctly. The touch is shrunk at the bottom third of the screen, meaning that when for example you touch the rightmost-top point in the bottom third of the bottom monitor, kivy thinks you touched the rightmost-top point in the bottom screen.
I tried adding postproc:calibration on yratio to config file, but it didn't work. I tried to add
[input]
%(name)s = probesysfs,provider=mtdev,param=max_position_y=4080,param=min_position_y=-8260
I had to change the numbers around so the touch somehow resembles the actual position of widgets on the screen. I doubt that this is the correct way to fix this problem, do you have any suggestions what should I try? The multi-touch functionality is not used in the app so turning off the multi-touch would solve the problem, if it is possible.
Posting this here so it might maybe help someone, this is what worked for me. After extensive research, I found out the correct values are:
4095
,(number of monitors - 1) * (-4095)
.With these values, touch is precisely where it needs to be. If there is better way to do this let me now, this is sufficient for me for now.