# OpenBoard upgrade, WIP **This is mostly a development version. On updates there may be changes that reset some settings. Consider all releases as beta quality at best and always have another keyboard installed in case of really bad bugs.** ## Plan for actual release The plans for major changes are completed, and most features appear to be stable enough for a proper release. So what comes next: * Work on issues with the [when ready](https://github.com/Helium314/openboard/labels/when%20ready) label * Rename app, package and this repository * New icon * Drop support for Android 4.4? * Use a translation tool (probably weblate) * Release on F-Droid * Maybe add a version that does not allow providing a glide typing library, for people concerned about security ## 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) * add them in language settings (click on the language, then on `+` next to _dictionary_), or open the file in a file explorer * 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 * Add custom keyboard layouts * Adjustable bottom padding ## Hidden functionality Features that may go unnoticed, and further potentially useful information * 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). * When incognito mode is enabled, no words will be learned, and no emojis will be added to recents. * 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. * Long-press an entry in the clipboard history to pin it (keep it in clipboard until you unpin). * Swipe left in clipboard view to remove an entry (except when it's pinned) * 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. * _When using debug mode / debug APK_ * Long-press a suggestion in the suggestion strip twice to show the source dictionary. * When using debug APK, you can find Debug Settings within the Advanced Preferences, though the usefulness 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. * When using multilingual typing, space bar will show an confidence value used for determining the currenly used language. * Suggestions will have some tiny numbers on top showing some internal score and source dictionary (can be disabled) * 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. ## Ideas for further improvements * More customizable theming * Improved / less bad suggestions in some specific situations * Sliding key input for toolbar and emojis (like `?123` and _shift_ sliding input) * More tunable behavior, e.g for delete and spacebar swipe, for toolbar, for spell checker,... * Adjust arrangement of settings, maybe hide settings irrelevant for most users behind some "more settings mode" * Migrate to internally use language tags (problematic due to lack of support on older Android versions) * Support providing background images (for keyboard, and possibly also for keys) * and general [bug](https://github.com/Helium314/openboard/issues?q=is%3Aopen+is%3Aissue+label%3Abug) fixing ## 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, https://github.com/Helium314/openboard/issues/55 * 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 * New keyboard parser (no need to use `tools:make-keyboard-text:makeText` any more) * Can use simple text files or JSON files as used by [FlorisBoard](https://github.com/florisboard/florisboard/tree/master/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts) ----- # readme for original version of OpenBoard below -----