Outputting K_LEFT and K_RIGHT to Android touch

One of the biggest problems in editing text on a phone is that it’s hard to position the insertion point in just the right place in a word. Fingers are relatively fat compared to text.

Many Android users are accustomed to Google’s solution to this problem. In GBoard, you swipe on the space bar left and right to move the insertion point left/right more finely than is possible with fat fingers on the screen.

Keyman touch keyboards need to be able to solve this problem too. And while I long to see swipe support on the roadmap, there are a variety of other ways a keyboard could do this. Personally, I’d split my spacebar in halves, put a long press on each to provide access to the left and the right arrows respectively, and use rules to say that presses of RSpace after RArrow make for more RArrow moves, and likewise for the left. (In addition, for convenience, I’d say that LSpace after RSpace becomes moving left instead of making spaces.) Or someone could outright have left and right arrow buttons in other ways. I’m just saying, we’re not dependent on swipe support to address this need.

The problem, though, is that there doesn’t seem to be a way to send the K_LEFT and K_RIGHT keystrokes to the app. Connecting a Bluetooth keyboard to the phone, it can send K_LEFT and K_RIGHT. Shouldn’t the Keyman engine be able to do the same?

Is there some way I’m just not seeing? -Thanks!

This is probably not achievable in Keyman at present. It’s on our roadmap. Gestures apart from ‘swipe style’ input are on the roadmap too! But we don’t have a date for implementation at this point.

Thanks, @Marc! :sunglasses: