# [vKeyboard] Backspace and some "special" characters additionally insert predictive text

Tracked by Jolla

Edited by @rozgwi and @olf

Predictive text is erroneously inserted, when using backspace or typing "special" characters.

Behavior: When typing a word and then using the backspace key to delete it (partially or completely), the current prediction buffer (the word before cursor) is inserted, with the last character being stripped.
This also happens when appending interpunctuation (.;,), the space character and other "special characters" (e.g. ", ), (, ], [) directly to a word.
It does not happen when deleting a space character by using backspace or typing a "special" character after a space. It also does not occur when using an Android virtual keyboard (by the help of AlienDalvik Control) instead of the vKBD SailfishOS provides. And it never happens in native SailfishOS apps.
For example, if you type devices and hit backspace, it will become devicesdevice. Repeatingly tapping backspace will get you something like this: devicedevdevicede

Observed on SailfishOS 2.1.x, 2.2.x and 3.0.x with some (but not all) Android apps, e.g. Firefox / Fennec and Here for Android on various devices (including Jolla 1, Xperia X).

P.S.: Now (right here, while typing this in Fennec under SFOS 2.2.1.18) this issue occurs when hitting any key (even regular letters) on SailfishOS' vKBD after any character, except a space.
Edit: Months later, this issue "vanished" under Firefox / Fennec (likely due to an update of these apps).

edit retag close delete

3

The similar problem is sometimes observed in whatsapp. Tapatalk works fine.

( 2017-03-27 09:28:23 +0300 )edit

I cannot reproduce this issue in apps Whatsapp, Here WeGo and Aptoide. Does the issue keep occurring also after rebooting the device?

( 2017-03-27 14:12:51 +0300 )edit
6

@jovirkku

No, it doesn't.

I noticed, this issue appears randomly. The issue goes away itself after sending the message or restarting the keyboard (Settings -> Utilities -> Restart keyboard).

( 2017-03-27 14:26:01 +0300 )edit

well it's not just me then :)

( 2017-03-27 15:12:11 +0300 )edit
5

Also happens in Firefox and a couple of other Android apps.
Observed under SFOS 2.1.4 and 2.2.0, but apparently this bug exists since 2.1.0 and also in 2.2.1. Quite an annoying bug!
Note that one has to use the Backspace key on the vKbd to trigger this bug (as described in the original posting).

( 2018-09-29 21:25:44 +0300 )edit

Sort by » oldest newest most voted

After updating to 2.2.1.18, I have been seeing this bug randomly a lot of times on android apps. Sometimes this bug persists even after multiple restarts making the android apps pretty much unusable.

more

5

+1

Happens a lot in Firefox with many textareas. It's happening here, now. Jolla C. I've almost stopped posting on forums on this device.

( 2018-09-29 16:43:10 +0300 )edit

I've updated the original description and changed the title of the question to reflect recent occurrence

( 2018-10-02 01:29:42 +0300 )edit
1

Still present inin OS3 :(

( 2018-11-01 03:30:19 +0300 )edit

Is it possible to disable predictive text? I'd do that if it would get rid of this bug?

( 2018-11-01 10:29:34 +0300 )edit

@DaveRo: There's the App from the Jolla Store (simply search for predictive). Uninstall that and see if it helps. haven't tried it myself though.
The alternative Presage prediction engine from openrepos might provide an alternative. But i hasn't got as many languages as the Jolla one

( 2018-11-01 23:28:46 +0300 )edit

I have gotten around this bug by using a different keyboard for android and for sailfishOS apps.

I've got Aliendalvik control, OK board, & SwiftKey installed.

I use ok board for sailfishOS apps. Occasionally it needs to be restarted.

In Aliendalvik control, in input methods, I have SwiftKey selected as input type, and I no longer have the problem.

This also worked by having other keyboards selected in input type - as long as they weren't the default "myriad remote keyboard"

more

An ugly hack to circumvent the issue by disabling the text prediction is to make yourself a custom maliit keyboard with text prediction removed. To set up a custom keyboard you only need to put two files (.qml and .conf) into the folder that is used for storaging the maliit keyboard layouts (/usr/share/maliit/plugins/com/jolla/layouts/). No patches or extra app installations needed:

1) copy (for example) the layout file for English keyboard file en.qml in the /usr/share/maliit/plugins/com/jolla/layouts/ folder, rename the copy to en-nopred.qml and add this file to the said folder

2) create a configuration file layout_en-nopred.conf into the same folder, containing the text:

[en-nopred.qml]

name=English (no pred)

languageCode=EN

handler=

(So effectively an old-fashioned maliit .conf file with Xt9InputHandler removed from the input handler line. Doing it like this instead of adding your .qml to layouts_western.conf makes your keyboard survive the upgrades that may replace that file with the standard one, which would cause your custom keyboard to deactivate and disappear from Settings - Text Input.)

3) restart the device (or alternatively devel-su killall maliit-server) to restart maliit engine

4) make your newfangled English (no pred) keyboard active in the Settings - Text Input

(1-4 rinse and repeat for other languages as needed)

5) Use this keyboard for Android apps. You won't have the text prediction at all, but also you wont have the text prediction acting up (the bug does act up when using Backspace even if you hadn't actively picked the words from the prediction selection balk). You can keep using the standard keyboard for the native apps where it works as it should.

+) While you're at it on 1), you can customize the layout to better suit your purposes so you can pretend it's not really about fixing this annoying bug that should have gotten rid of a long time ago. I myself for example have changed some 2nd page buttons to a cluster of <, >, /, i and b to easily use italic and bold tags on blog commenting where available (because dear lord writing those tags is a toil and then some when using the standard layout).

You shouldn't try setting two different .conf files for one re-used .qml file, because that messes up the activation/deactivation of the keyboards in Settings - Text Input. Even if you won't alter the standard en.qml in any way, make a dedicated renamed copy of it for this purpose.

more