# OpenBoard upgrade, WIP This is an attempt to integrate changes / improvements into OpenBoard that have been sitting around for a long time due to low dev activity. Might end up on F-Droid... **This is mostly a development version. On updates there may be changes that reset some settings. Consider all releases as beta quality at best.** ## Features * Allow loading Glide typing library * not included in the app, as there is no compatible open source library * can be extracted from GApps packages (_swypelibs_), or downloaded [here](https://github.com/erkserkserks/openboard/tree/master/app/src/main/jniLibs) * Multilingual typing * Load external dictionaries * get them [here]( https://codeberg.org/Helium314/aosp-dictionaries#dictionaries), or in the [experimental](https://codeberg.org/Helium314/aosp-dictionaries#experimental-dictionaries) section (quality may vary) * additional dictionaries for emojis or scientific symbols can be used to provide suggestions ("emoji search") * note that for Korean layouts, suggestions only work using [this dictionary](https://github.com/openboard-team/openboard/commit/83fca9533c03b9fecc009fc632577226bbd6301f), the tools in the dictionary repository are not able to create working dictionaries * Adjust keyboard themes (style and colors) * can follow the system's day/night setting on Android 10+ (and on some versions of Android 9) * Split keyboard (if the screen is large enough) * Number row * Number pad * Show all available extra characters on long pressing a key * Backup your learned word / history data * Adjustable bottom padding ## Hidden functionality Features that may go unnoticed * Long-pressing the Clipboard Key (the optional one in the suggestion strip) pastes system clipboard contents. * Long-pressing keys in the suggestion strip toolbar pins them to the suggestion strip. * Long-press the Comma-key to access Clipboard View, Emoji View, One-handed Mode, Settings, or Switch Language: * Emoji View and Language Switch will disappear if you have the corresponding key enabled; * For some layouts it\'s not the Comma-key, but the key at the same position (e.g. it\'s `q` for Dvorak layout). * Press the Incognito icon to access the toolbar. * Sliding key input: Swipe from shift to another key to type a single uppercase key: * This also works for the `?123` key to type a single symbol from the symbols keyboard, and for related keys. * Long-press a suggestion in the suggestion strip to show more suggestions, and a delete button to remove this suggestion. * Swipe up from a suggestion to open more suggestions, and release on the suggestion to select it. * You can add dictionaries by opening them in a file explorer: * This only works with _content-uris_ and not with _file-uris_, meaning that it may not work with some file explorers. * _Debug APK only_ * Long-press a suggestion to show the source dictionary. * The Debug Settings are located within the Advanced Preferences, though the usability is limited except for dumping dictionaries into the log. * In the event of an application crash, you will be prompted whether you want the crash logs when you open the Settings. * For users doing manual backups with root access: Starting at Android 7, the shared preferences file is 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 can be read before the device is unlocked, e.g. at boot. The file is located in `/data/user_de/0/package_id/shared_prefs/`, though this may depend on the device and Android version. ## Important differences and changes to OpenBoard * Debug version can be installed along OpenBoard * Allow users to add and replace built-in dictionaries * modified / improved from https://github.com/openboard-team/openboard/pull/569 and https://github.com/openboard-team/openboard/pull/578 * some AOSP dictionaries are available [here](https://codeberg.org/Helium314/aosp-dictionaries/src/branch/main/dictionaries) * experimental dictionaries with next-word suggestions created from sentence lists [are also available](https://codeberg.org/Helium314/aosp-dictionaries/src/branch/main/dictionaries_experimental), but they may contain unwanted words, and may be missing other features * dictionary files starting with "main_" replace the built-in dictionary for the language, all other names work as add-on dictionaries * emoji dictionaries can be used to get emoji suggestions * Fixes / improvements regarding suggestions * Remove suggestions by long pressing on suggestion strip while the more suggestions popup is open (suggestions get re-added if they are entered again) * Allow using contacts for suggestions * several small adjustments and fixes * Reduce amount of unwanted automatic space insertions, https://github.com/openboard-team/openboard/pull/576 * Add multi-lingual typing, slightly modified from https://github.com/openboard-team/openboard/pull/586, https://github.com/openboard-team/openboard/pull/593 * Allow loading an external library to enable gesture typing, https://github.com/openboard-team/openboard/issues/3 * based on [wordmage's work](https://github.com/openboard-team/openboard/tree/57d33791d7674e3fe0600eddb72f6b4317b5df00) * tested with [Google libraries](https://github.com/erkserkserks/openboard/tree/master/app/src/main/jniLibs) and [others](https://github.com/openboard-team/openboard/issues/3#issuecomment-1200456262) (when building with the [rename](https://github.com/openboard-team/openboard/tree/57d33791d7674e3fe0600eddb72f6b4317b5df00)) * Theming: allow adjusting keyboard colors, https://github.com/openboard-team/openboard/issues/124 * Optionally make the navigation bar follow current theme, https://github.com/Helium314/openboard/issues/4 * Allow defining day/night themes * Remove suggestions by long pressing on suggestion strip while the more suggestions popup is open, https://github.com/openboard-team/openboard/issues/106 * suggestions get re-added if they are entered again * Optionally add typed words to system personal dictionary * Improve issues with emoji deletion (still happens with delete gesture), https://github.com/Helium314/openboard/issues/22 * Add Unicode 15 emojis, https://github.com/Helium314/openboard/pull/25 * Better currency selection, https://github.com/Helium314/openboard/pull/21 / https://github.com/Helium314/openboard/commit/0d1106649f95ecbd7d8f6d950428547666059564 * Reduce space between keys, with option to use old values, https://github.com/Helium314/openboard/pull/8 * Fix number row not split in split keyboard view, https://github.com/Helium314/openboard/pull/27 * Fix issue with spell checker incorrectly flagging words before a period as wrong on newer Android versions, https://github.com/openboard-team/openboard/pull/679 * maybe not properly fixed, this causes some other issues * Fix always-dark settings on some Android versions, https://github.com/Helium314/openboard/pull/69 * Fix bug with space before word being deleted in some apps / input fields, https://github.com/Helium314/openboard/commit/ce0bf06545c4547d3fc5791cc769508db0a89e87 * Allow using auto theme on some devices with Android 9 * Add number pad * Overhauled language settings * Updated translations * Open dictionary files with the app * Add more options to the language switch key ## The rough plan/todo before "full" release * Add/update pre-defined themes * Internal clean up (xml files, unused resources, some _todo_s in code) * Solve some [issues](https://github.com/Helium314/openboard/milestone/1) Once above is done, we can think about properly releasing the app: * Work on issues with the [when ready](https://github.com/Helium314/openboard/labels/when%20ready) label * Rename app, package and this repository * New icon * Use a translation tool (e.g. weblate) * Release on F-Droid * Maybe add a version that does not allow prodiving a glide typing library, for people concerned about security ## Further plan * More customizable theming * Improved / less bad suggestions in some cases * Sliding key input for numpad and emojis (like `?123` and _shift_ sliding input) ----- # readme for original version of OpenBoard below -----