Skip to content
Joseph George edited this page Nov 30, 2024 · 4 revisions
  • Add a dictionary: First download the dictionary file, e.g. from here. Then go to language settings, click on the language, then on + next to dictionary the add and select the file. Alternatively you can open a .dict file in a file explorer with HeliBoard and then select the language. Note that the latter method does not work with all file explorers.

  • Emoji search: You can get addon dictionaries for emoji suggestions in the dictionaries repo. An actual search function does not exist yet.

  • Cannot switch choose layout: This is only possible when use system languages is disabled. You can select the layout when tapping on the language.

    • How to customize layout: Go to layout selection and use the + button, then you can add a custom layout, either from a file or you can copy and edit an existing layout.
  • No suggestions for some language: Check dictionaries repo whether a dictionary is available. If there is one, download it and add it in the language settings for this language.

  • No suggestions in some app / text field: This app respects the no suggestions flag set by some input fields, i.e. the developer does not want you to see suggestions here. Best do in issue report for that app if you think this behavior is wrong. Alternatively you can enable the always show suggestions setting that overrides the no suggestions flag.

  • Multilingual typing (type in multiple languages without switching manually): Go to Languages & Layouts, select the main language, and tap the + button next to multilingual typing to add a language. Note that the selection is limited to languages with the same script as the main language, and to languages that have a dictionary. So if you want e.g. Finnish as secondary language, first go to Finnish in Languages & Layouts and add a dictionary.

  • How to enable glide typing: There is no glide typing built into this app, but you can load compatible libraries: Go to advanced settings -> 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 in the dialog to load the library).

    • 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.
  • German layout with / without umlauts: German (Germany) layout has umlauts, German layout doesn't

  • Spell checker is not checking all languages in multilingual typing: Make sure you actually enabled HeliBoard spell checker. Usually it can be found in System Settings -> System -> Languages -> Advanced -> Spell Checker, but this may depend on Android version.

  • Words added to Gboard dictionary are not suggested: Gboard uses its own dictionary instead of the system's personal dictionary. See here for how to export the words.

  • 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.

  • Where on disk are the files stored (when having root access): Starting at Android 7, some files and the main shared preferences file are not in the default location, because the app is using device protected storage. This is necessary so the settings and layout files can be read before the device is unlocked, e.g. at boot. The files are usually located in /data/user_de/0/<package_id>/, though the location may depend on the device and Android version.

  • 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 langauges are currently active (including secondary languages when using multilingual typing).

Clone this wiki locally