Close ad

The integration of third-party keyboards in iOS 8 was a very welcome development for users and developers alike. It opened the door to popular third-party keyboards such as Swype or SwiftKey. As part of security, however, Apple has partially limited the keyboard. For example, they cannot be used to enter passwords. Several other limitations emerged from the iOS 8 documentation, the saddest of which was the inability to move the cursor using the keyboard. However, it seems that in iOS 8 beta 3, Apple has abandoned this limitation, or rather added an API to enable cursor movement.

Information about the restriction was coming out documentation on programming custom keyboards, where it says:

“[…] custom keyboard cannot mark text or control cursor position. These operations are controlled by a text input application that uses the keyboard"

In other words, the cursor is controlled by the application, not the keyboard. This paragraph has not yet been updated after the release of the new iOS 8 beta, however, in the documentation of the new APIs discovered by developer Ole Zorn one that, according to its description, will eventually enable this action. The description literally says it all "adjust text position by distance from character". Thanks to this, the keyboard should gain access to an operation that until now only the application could control.

 

For third-party keyboards, genius could thus apply concept by Daniel Hooper from 2012, where it is possible to move the cursor by dragging horizontally on the keyboard. Later, this feature appeared via a jailbreak tweak SwipeSelection. This concept is also applied by several apps in the App Store including Publishing, a writing software developed by Ole Zorn, although dragging is possible only on a special bar above the keyboard.

Cursor placement on iOS has never been the most accurate or comfortable, and third-party keyboards could finally improve this seven-year-old concept. At WWDC 2014, it was seen how Apple wants to accommodate developers, and the new API is apparently a response to their requests.

.