On ipad, the problem is that in fullscreen, using convert_point with None thinks 0,0 is at the physical bottom left corner of the screen. also ui.get_keyboard_frame returns nonsense values. things work normally if converting between two views, just not view to None
it seems my code to fix this issue is not working either though... so somewhere along the line the problem changed.
@dgelessus Your suspicion was right: the speeds seem to be completely different to begin with. I found a slider in the voice over section of the accessibilty setting. To get a normal speed on my iPhone I have to set the slider to about 0.1. Maybe this is a difference between 8.4.1 (iPhone) and 9.2.1 (iPad)? The value of 0.5 seems a lot more natural for a medium speed than 0.1 so it may have been changed during a release update...
This could be because of iOS 11's "smart punctuation" feature, which messes up quotes, dashes, and other punctuation. (Well, in normal text it's nice, but when programming it's annoying.) Maybe you've already disabled it for the onscreen keyboard, but you may have to disable it again for the hardware keyboard. (Since iOS 10, some keyboard settings are tracked separately for onscreen and hardware keyboards. The "smart punctuation" setting might be one of them.)
@dgelessus@ccc The code that I tried for the ButtonItems were pretty much the same as you suggested. After a lot of trying I think it's due to the NavigationView generated by the UI editor. If I create the view programmatically it works. I changed the code in my app to use a pyui file for the general frame. In the frame there is a placeholder where I insert the manually created NavigationView. As subview I insert another view loaded from another pyui file. It's definitely not straight forward anymore but at least I made some progress after being stuck for two days with the NavigationView that didn't work. By the way: this also fixes the trouble with the wrongly centered buttons.
@omz Could this be a general problem that the NavigationView generated by the UI editor has some flaw in it making it "misbehave"?
@palmin I just tries to reproduce the error which so far always occured upon the second call of the x-url-callback. Fortunately, I was not able to reproduce it which is that the server was also started by the second call. However, during both the first and the second call it takes 'working copy' about 10 seconds to return to Pythonista.
This is the call issued: working-copy://x-callback-url/webdav/?cmd=start&key=[KEYREPLACED]&x-success=pythonista%3A%2F%2Fgitsynchista%2Fgitsynchista%3Faction%3Drun%26argv%3DIGNORE_WAKEUP'
People would complain especially if non-Hochdeutsch-speaking people started writing in their regional dialects. The situation is bad enough already (recently had a fun discussion with relatives about what a "Pfannkuchen" is), and it would not help if Saxons, Bavarians and Swiss wrote like they spoke. Or if us Rheinländers wrote like we speak when it's Karneval.
(I still wonder how long it takes until we write "Füsik" instead of "Physik".)
So, I found the problem. It was not a coding issue, really, but I did not see the forest for the trees. I mixed up two views and got confused. Thanks for your advice and I apologize for wasting your time.