Screen size really varies the use-case with on-screen keyboards, and i’m yet to find one I really like. I’m not an Android user, so I have all iOS perspective.
On my iPhone, which is usually in portrait mode, my big fingers have trouble with the tiny keys, and autocorrect gets me in trouble a lot, but the screen real estate ratio is pretty good.
On my iPad, which is what I use 90% of the time (and am typing this post on), I’m 99.9% of the time in landscape mode, they keys are nice and big,but the screen real estate is horrible. Typing this post is not great, as I can see about 4 lines of the post, and when I tried to use the smart cursor controls to go back and edit a line, every time I got near the point I wanted to insert, the text re-scrolled but the cursor didn’t, so I had to go back to tapping randomly and hoping I hit the right spot to edit.
Here’s a screenshot
So the question is, how to make the keyboard a useable size while still retaining visibility of as much of the screen as possible. The problem is, to have one, you have to compromise on the other. I personally think they keyboard is too large in my screenshot. Here’s a portrait shot which is much better proportion wise, but not the way I like to work.
So, the question is, can you do 3D keys without taking up more valuable real estate? Your image certainly looks nice, and if you butted them up to each other instead of the huge gaps you see in my flat keyboard, maybe it would work.
One other point on usability. I just started using the new swipe keyboard in iOS13 on my iPhone, and it is amazingly quicker, and surprisingly accurate at speed. But it relies on a lot of predictive analysis of the english language. This should work in the hyper constrained keyword and operator syntax of a programming language, if you can find some way to predict, or cope with user naming of variable components. Just a thought.
In the interim, from a shortcut point of view, I think something would be helpful. I already started thinking about this when implementing the shortcut macros in Notepad++, but thats on a PC. I was thinking on mobile, whether you have a panel of buttons for the commonly used code templates. Maybe even the predictive text line as you see above my iPad keyboard would be the way to go. An example being, as soon as you start a line with an F, up pops a clickable for a for-loop template, possibly multiple clickables for common variants.