HeliBoard/README.md

120 lines
8.7 KiB
Markdown
Raw Normal View History

2023-06-25 16:56:08 +02:00
# OpenBoard upgrade, WIP
2024-01-05 11:14:39 +01:00
## 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
* 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
2023-09-11 16:18:08 +02:00
## 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
2024-01-26 20:42:39 +01:00
* 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)
2023-11-19 22:08:52 +01:00
* 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
2023-11-02 21:04:37 +01:00
* Backup your learned word / history data
2024-01-26 20:42:39 +01:00
* Add custom keyboard [layouts](layouts.md)
2023-11-03 14:24:43 +01:00
* Adjustable bottom padding
2023-08-11 08:49:08 +02:00
## Hidden functionality
2023-12-19 09:37:06 +01:00
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).
2023-12-19 09:37:06 +01:00
* 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).
2024-01-01 15:55:21 +01:00
* 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.
2023-12-19 09:37:06 +01:00
* _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.
2023-12-19 09:37:06 +01:00
* 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.
2023-12-19 09:37:06 +01:00
* 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.
# Contribution ❤
## Issue reporting
2024-01-26 20:42:39 +01:00
Whether you encountered a bug, or want to see a new feature in OpenBoard, you can contribute to the project by opening a new issue [here](https://github.com/openboard-team/openboard/issues). Your help is always welcome!
2024-01-26 20:42:39 +01:00
Before opening a new issue, be sure to check the following:
- **Does the issue already exist ?** Make sure a similar issue has not been reported by browsing [existing issues](https://github.com/Helium314/openboard/issues). Please search open and closed issues.
- **Is the issue still relevant ?** Make sure your issue is not already fixed in the latest version of OpenBoard.
2022-08-11 13:20:41 +02:00
- **Did you use the issue template ?** It is important to make life of our kind contributors easier by avoiding issues that miss key informations to their resolution.
## Translation
2024-01-26 20:42:39 +01:00
Currently there is no simple way of translating the app, but it's coming soon...
## Dictionary creation
2024-01-26 20:42:39 +01:00
There will not be any further dictionaries bundled in this app. However, you can add dictionaries to the [dictionaries repository](https://codeberg.org/Helium314/aosp-dictionaries).
To create or update a dictionary for your language, you can use [this tool](https://github.com/remi0s/aosp-dictionary-tools). You will need a wordlist, as described [here](https://codeberg.org/Helium314/aosp-dictionaries/src/branch/main/wordlists/sample.combined) and in the repository readme.
## Code contribution
### Getting started
OpenBoard project is based on Gradle and Android Gradle Plugin. To get started, you'll just need to install [Android Studio](https://developer.android.com/studio), and import project 'from Version Control / Git / Github' by providing this git repository [URL](https://github.com/openboard-team/openboard) (or git SSH [URL](git@github.com:openboard-team/openboard.git)).
Once everything got setted up correctly, you're ready to go !
### Guidelines
2022-01-23 23:43:09 +01:00
OpenBoard is a complex application, when contributing, you must take a step back and make sure your contribution :
2022-08-11 13:20:41 +02:00
- **Uses already in-place mechanism and take advantage of them**. In other terms, does not reinvent the wheel or uses shortcuts that could alter the consistency of the existing code.
- **Has the lowest footprint possible**. OpenBoard code has been written by android experts (AOSP/Google engineers). It has been tested and runned on millions of devices. Thus, **existing code will always be safer than new code**. The less we alter existing code, the more OpenBoard will stay stable. Especially in the input logic scope.
- **Does not bring any non-free code or proprietary binary blobs**. This also applies to code/binaries with unknown licenses. Make sure you do not introduce any closed-source library from Google.
- **Complies with the user privacy principle OpenBoard follows**.
2022-08-11 13:20:41 +02:00
In addition to previous elements, OpenBoard must stick to [F-Droid inclusion guidelines](https://f-droid.org/docs/Inclusion_Policy/).
2024-01-26 20:42:39 +01:00
### Adding layouts
See [layouts.md](layouts.md) for how to add new layouts to the app.
### Update emojis
See make-emoji-keys tool [README](tools/make-emoji-keys/README.md).
# License
2024-01-26 20:42:39 +01:00
OpenBoard (and this yet unnamed fork) project is licensed under GNU General Public License v3.0.
2021-05-03 13:51:32 +02:00
> Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
2022-04-04 17:31:02 +02:00
2024-01-26 20:42:39 +01:00
See repo's [LICENSE](/LICENSE-GPL-3) file.
Since the app is based on Apache 2.0 licensed AOSP Keyboard, an [Apache 2.0](LICENSE-Apache-2.0) license file is provided too.
2022-04-04 17:31:02 +02:00
# Credits
2022-04-04 17:31:02 +02:00
- Icon by [Marco TLS](https://www.marcotls.eu)
2024-01-26 20:42:39 +01:00
- [OpenBoard](https://github.com/openboard-team/openboard)
2020-09-11 17:05:41 +02:00
- [AOSP Keyboard](https://android.googlesource.com/platform/packages/inputmethods/LatinIME/)
- [LineageOS](https://review.lineageos.org/admin/repos/LineageOS/android_packages_inputmethods_LatinIME)
- [Simple Keyboard](https://github.com/rkkr/simple-keyboard)
- [Indic Keyboard](https://gitlab.com/indicproject/indic-keyboard)
2024-01-26 20:42:39 +01:00
- [FlorisBoard](https://github.com/florisboard/florisboard/)
- Our [contributors](https://github.com/Helium314/openboard/graphs/contributors)