My apologies for being unclear. Kivy on Phosh devices has a problem with mapping touches to widgets because it talks directly to the multi-touch device character file in /dev/input/ and it uses triangulation to map that to a screen coordinate. On Linux it doesn’t know how to share the touch coordinates with other apps, in this case Phosh’s top and bottom panels.
I couldn’t figure out how to tell Kivy that Phosh was negatively affecting its coordinate mapping scheme so I found I could fix it by fullscreening the app. That worked beautifully and it gave me more screen real estate to work with which I welcomed.
Let me see if I can illustrate what is happening by posting some screen shots.
Here is my app after it finishes loading and displays the selector screen in fullscreen mode. Calibration is perfect at this point:
Now I swipe up from the bottom of the screen to unhide the top and bottom panels:
This is good still. The app has not been windowed and calibration is still correct.
Now I will swipe down from the top and open Phosh’s controls window:
We are still good here. You can toggle phone features and no problems yet.
Now we will swipe up to close this window and return to the app.
We are still in fullscreen mode and everything works correctly. But let say I forgot to turn off the screen saver and I don’t want the screen locking while I am using the app so I need to switch to the settings app.
Okay now we want to go back to the running app.
Here I returned to the app and opened the set recorder screen. The top and bottom panels are now no longer hidden and calibration is off. If you touch the 0 button too high it will register as a touch to the 5 button because Kivy thinks the 5 button is lower on the touch device than it really is.
Calls to Window.fullscreen() now will no longer restore fullscreen mode which fixes the touch calibration problem.
I am looking for the APIs that one can use to talk to Phosh on how to control the fullscreen or top and panel auto-hide behaviors. A change in behavior happened so after swapping apps subsequent calls to Window.fullscreen() in Kivy no longer restores fulllscreen mode for me. I already have Phosh specific code to disable squeakboard so Phosh panel control calls wouldn’t be a out of sorts for this code base.
I hope this makes my questions more clear.
Thanks for being patient. This is a lot of stuff to wade through.