Improved Keyboard Management for Screens on iOS

Screens for iOS 4.9.20 introduces improved keyboard management. Since iPadOS 13.4, Apple has provided developers much more control over the external keyboard so this new version takes advantage of that.

Just like a Computer Keyboard*

With iPadOS 13.4, we now get key down and up events, along with actual key codes instead of only the output character. This allow us to know which actual physical key has been pressed and send a keyboard event macOS will understand.

The result is that when using a hardware keyboard on your iPad, Screens pretty much now supports every language! The output will be consistent with the currency selected keyboard on the Mac you’re connecting to.

* When using the iOS virtual keyboard, it is recommended to make sure that you use the same keyboard language/country on iOS and the computer you’re connecting to. The iOS virtual keyboard, unlike a hardware keyboard, does not provide any key codes so we have to simulate keystrokes. For example, the character ‘@’ on the US-English keyboard is generated by hitting Shift-2 but on the Swedish keyboard, the same character is generated via Option-‘.

PCs and AltGr Support

Users connecting to PCs should also see some improvements as well as we can also take advantage of the key states, which results in a more fluid keyboard experience.

When connecting to a PC, Screens also now supports characters generated via the AltGr key. On your hardware keyboard, simply use the right Option key to trigger AltGr. So for example, hitting the right Option key and the ‘E’ key will result in typing the ‘€’ character, as you may expect.

Adaptive Scrollable Toolbar

Unfortunately iPad 13 has “stole” some keyboard shortcuts from developers. Shortcuts such as ⌘-Q, ⌘-H or ⌘-Space are reserved by iPadOS and are not accessible to apps.

So in order to workaround this, Screens will automatically adapt the scrollable toolbar and show useful shortcuts so you can quickly quit an app, hit Escape or invoke Spotlight.

Since the hardware keyboard already has modifier keys, we move those farther down the toolbar if you still want to use those.

The toolbar will adapt as soon as it detects that you’re typing on a hardware keyboard. Unfortunately, iPadOS doesn’t provide any way to know if a hardware keyboard is attached prior to typing unless we use private APIs, which would most likely result in a rejection from Apple.

We have contacted Apple and opened a bug reports and feature requests so we hope we’ll get more keyboard control in iPadOS 14. WWDC 2020 is only 2 weeks away so maybe we’ll get some surprises! 🤞

Screens for iOS 4.9.20 is available now on the App Store.