From bc39cb53aa5084bbb6989eef89e2d91eb2ca5843 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Mon, 13 Jan 2025 16:03:53 +0100 Subject: [PATCH] use headers for shortcuts via dropdown --- FAQ.md | 61 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/FAQ.md b/FAQ.md index b9a2921..a68bacc 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1,20 +1,49 @@ -* __Add a dictionary__: First download the dictionary file, e.g. from [here](https://codeberg.org/Helium314/aosp-dictionaries#dictionaries). 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](https://codeberg.org/Helium314/aosp-dictionaries). 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](https://codeberg.org/Helium314/aosp-dictionaries) 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](https://developer.android.com/reference/android/text/InputType#TYPE_TEXT_FLAG_NO_SUGGESTIONS) 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](https://github.com/erkserkserks/openboard/tree/master/app/src/main/jniLibs). 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](https://stackoverflow.com/a/75286899). -* __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](https://github.com/Helium314/HeliBoard/issues/500#issuecomment-2032292161) 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: +### Add a dictionary +First download the dictionary file, e.g. from [here](https://codeberg.org/Helium314/aosp-dictionaries#dictionaries). 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](https://codeberg.org/Helium314/aosp-dictionaries). 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](https://codeberg.org/Helium314/aosp-dictionaries) 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](https://developer.android.com/reference/android/text/InputType#TYPE_TEXT_FLAG_NO_SUGGESTIONS) 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](https://github.com/erkserkserks/openboard/tree/master/app/src/main/jniLibs). 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](https://stackoverflow.com/a/75286899). + +### German layout with / without umlauts +_German (Germany)_ layout has umlauts, _German_ layout doesn't + +### 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). + +### Spell checker is not checking all languages in multilingual typing +Make sure you actually enabled HeliBoard spell checker (see above). + +### Words added to Gboard dictionary are not suggested +Gboard uses its own dictionary instead of the system's personal dictionary. See [here](https://github.com/Helium314/HeliBoard/issues/500#issuecomment-2032292161) 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](https://developer.android.com/reference/android/content/Context#createDeviceProtectedStorageContext()). 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//`, 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). \ No newline at end of file + +### 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](https://developer.android.com/reference/android/content/Context#createDeviceProtectedStorageContext()). 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//`, though the location may depend on the device and Android version. \ No newline at end of file