8. Advanced - Helium314/HeliBoard GitHub Wiki

Glide typing

How to enable glide typing

There is no glide typing built into this app, but you can load compatible libraries: Go to Settings -> Advanced... -> load gesture typing library and point to a file (setting not available in nouserlib version). You can extract the file from GApps packages ("swypelibs"), or download one here. Make sure to use the correct version (app will tell you which one to use during this process).

Glide typing is not working after loading a library

Possibly the download was corrupted, or you downloaded the wrong file. If you get a "unknown file" confirmation popup, it is likely you are not using the correct file (or you might be using a different version of the library). In rare cases, there might be crashes when the file is not in internal storage, or some Samsung-specific problems.

Spell checker

Enable / disable / change the spell checker (red underlined words)

You can set the spell checker in System (not HeliBoard) Settings -> System -> Languages -> Advanced -> Spell Checker. The exact location may vary, with exact Android version. Here you can set the app doing the spell check, and the language to check. Note that HeliBoard spell checker ignores the selected language, and instead uses whatever keyboard languages are currently active (including secondary languages when using multilingual typing).

Spell checker is not checking all languages in multilingual typing

Make sure you actually enabled HeliBoard spell checker (see above).

Glossary

What is <word> from settings?

  • Layout: typically refers to the letters / letter arrangement on the keyboard without special keys like shift or space, but there are also other layouts
  • Popup (key): additional keys shown on long press
    • Pop-up on key press: short preview popups when you press a key
  • Subtype: Set of language, keyboard layout and some optional settings like multilingual typing
  • Hint: Symbol on top right of a key indicating one of the popup keys
  • Functional hint: ... indicator on bottom right of the key indicating special functionality
  • Style: general look of the keys, font, and icons
  • Toolbar: the bar on top of the keyboard that shows some buttons/keys instead of suggestions.
  • Pinned toolbar key: toolbar key that is also shown on "normal" suggestion strip.
  • Gesture typing: type by sliding through the letters. Also known as glide typing, swipe typing, swyping, and other words.
  • Floating preview: preview of the current gesture typing word shown above the finger.
  • Rapid typing cooldown: time during which gesture typing is blocked after a key tap.

Library Versions and Stability

What is the nouserlib version?

The normal version (release) allows the user to provide a library for glide typing, while the nouserlib version does not. Running code that isn't supplied with the app is dynamic code loading, which is a security risk. Android Studio warns about this:

Dynamically loading code from locations other than the application's library directory or the Android platform's built-in library directories is dangerous, as there is an increased risk that the code could have been tampered with. Applications should use loadLibrary when possible, which provides increased assurance that libraries are loaded from one of these safer locations. Application developers should use the features of their development environment to place application native libraries into the lib directory of their compiled APKs.

The app checks the SHA256 checksum of the library and warns the user if it doesn't match with known library versions. A mismatch indicates the library was modified, but may also occur if the user intentionally provides a different library than expected (e.g. a self-built variant). Note that if the the app is installed as a system app, both versions have access to the system glide typing library (if it is installed).

App crashing when using as system app

This happens if you do not install the app, but just copy the APK. Then the app's own library is not extracted from the APK, and not accessible to the app. You will need to either install the app over itself, or provide a library.

⚠️ **GitHub.com Fallback** ⚠️