A better keyboard?
Hi! First, thank you very much for all the work you've put in Pythonista, making it a killer app. I really love it
But one thing that does not work well for me is the keyboard : the additional rows keys are not responding very well. I have to hit very precisely in their middle to type what I want. Maybe it is because of the small screen of the iPad mini I am using.
If this point could be improved I'd be super happy.
But it could get even better: I have used the Swift Playground app by Apple, which features an amazing keyboard for coding. Do you think it could be possible to implement this one ?
Also, could it be possible to add a $ on the special keys row of Editorial? It would be much more easy to type math in LaTeXified Markdown.
Thank you again for all the work,
I'm aware that the keys on the extra row don't respond very well. This has been an issue in the past, then I had a workaround, but it came back on iOS 10.3. The problem is basically that the system keyboard swallows touch events that happen quickly after pressing a (standard) key, and that are outside of the main keyboard. So you basically have to wait a bit (about 0.5 seconds) after pressing a normal key before the extra keyboard row will be responsive.
Unfortunately, there doesn't seem to be any way to prevent this behavior without replacing the system keyboard entirely (i.e. not just extend it with an extra row, but have a completely custom keyboard that replicates all relevant functionality of the system keyboard). This is something I'm actually considering, and I'm experimenting with something along the lines of the Playgrounds keyboard, but it's an approach that has various problems of its own, so I'm not sure yet if I'm going to follow this through.
\nused to be easy to type on the on screen keyboard but no more on the current beta on the current iOS.
Funny thing is: I just tried it out and i cannot recognize any form of lag oO. I am on iOS 10.3.1 and an iPad (Pro).
@zipit Interesting, it could be that the keyboard on the iPad Pro behaves differently, I don't have one, and things like this are difficult to test in the iOS simulator. I assume you have the 12" model?
FWIW, the Swift Playgrounds keyboard's code completion row suffers from the same "required delay" issue that @omz is describing. When you type and then tap a completion suggestion too quickly, the second tap is ignored. Even worse, if you're like me and then tap faster ("why is this dumb iPad not recognizing my touches") it still doesn't work until you stop tapping for the required time.
I've found this issue more noticeable in Playgrounds than in Pythonista for some reason, and I probably wouldn't have noticed it in Pythonista at all, if I hadn't read the forum discussions about it.
A fully custom keyboard sounds interesting, if it emulates the standard keyboard properly. I wonder how Playgrounds does it, because the Playgrounds keyboard feels like an extension to the standard keyboard (it works on different keyboard layouts for example) and not like a complete replacement. (Yet it somehow gets the shift key behavior slightly wrong, and as a result I mis-capizalize every class name.)
I wonder how Playgrounds does it, because the Playgrounds keyboard feels like an extension to the standard keyboard (it works on different keyboard layouts for example) and not like a complete replacement. (Yet it somehow gets the shift key behavior slightly wrong, and as a result I mis-capizalize every class name.)
I'm fairly certain that it uses the system keyboard, and that the extensions are basically a private API.
I'm curious about the shift key behavior you've mentioned. How exactly is it slightly wrong? As I've worked on emulating the system keyboard for a bit, the proper implementation of the shift key was one of hardest things, and I wonder if I'm perhaps also missing something.
@omz When typing names with multiple uppercase letters in sequence (such as
NSObject), I use the onscreen shift key like a physical one. That is, I type (shift down)
bject, and on the normal iOS keyboard it produces
NSObjectas expected. In Playgrounds the shift key gets "stuck" if you do that, and the first letter after releasing shift is also uppercased, like
@omz Jeah, I a am. But nevermind, I found the problem now too ...