HeliBoard keyboard is an improved fork of the now-unmaintained OpenBoard keyboard. It does not require internet permission, allowing it to be used 100% offline.

Features

  • Add dictionaries for suggestions and spell check

    • Build your own, or access them here, or in the experimental section (quality may vary)
    • Additional dictionaries for emojis or scientific symbols can be used to provide suggestions (similar to “emoji search”)
    • Note that for Korean layouts, suggestions only work using this dictionary; the tools in the dictionary repository cannot create working dictionaries
  • Customize keyboard themes (style, colors, and background image)

    • Can follow the system’s day/night setting on Android 10+ (and on some versions of Android 9)
    • Can follow dynamic colors for Android 12+
  • Customize keyboard layouts (only available when disabling system languages)

  • Multilingual typing

  • Glide typing (only with closed-source library ☹️)

    • Library not included in the app, as there is no compatible open-source library available
    • Can be extracted from GApps packages (“swypelibs”), or downloaded here
  • Clipboard history

  • One-handed mode

  • Split keyboard (only available if the screen is large enough)

  • Number pad

  • Backup and restore your learned word/history data

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 or symbol key to another key. This will enter a single uppercase key or symbol and return to the previous keyboard.
  • Hold shift or symbol key, press one or more keys, and then release shift or symbol key to return to the previous keyboard.
  • 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)
  • Select text and press shift to switch between uppercase, lowercase, and capitalize words
  • You can add dictionaries by opening the file
    • This only works with content-uris and not with file-uris, meaning that it may not work with some file explorers.
  • 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.
      • For a release APK, you need to tap the version in About several times, then you can find debug settings in Advanced Preferences.
      • When enabling Show suggestion infos, suggestions will have some tiny numbers on top showing some internal score and source dictionary.
    • 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, the space bar will show a confidence value used for determining the currently used language.
  • For users doing manual backups with 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.

Planned features and improvements:

  • Customizable functional key layout
    • Will likely result in having the same functional key layout for alphabet and symbols layouts
  • Support for alt, ctrl, meta and fn (#479)
  • Less complicated addition of new keyboard languages (e.g. #519)
  • Additional and customizable key swipe functionality
    • Some functionality will not be possible when using glide typing
  • Ability to enter all emojis independent of Android version (optional, #297)
  • (limited) support for customizing all internally used colors
  • Add and enable emoji dictionaries by default (if available for language)
  • Clearer / more intuitive arrangement of settings
    • Maybe hide some less used settings by default (similar to color customization)
  • Customizable currency keys
  • Customizable clipboard toolbar keys (#513, #403)
  • Ability to export/import (share) custom colors
  • Make use of the .com key in URL fields (currently only available for tablets)
    • With language-dependent TLDs
  • Internal cleanup (a lot of over-complicated and convoluted code)
  • (optionally?) move toolbar key pinning to a setting, so long press actions on unpinned toolbar keys are available
  • Bug fixes

What will not be added:

  • Material 3 (not worth adding 1.5 MB to app size)
  • Dictionaries for more languages (you can still download them)
  • Anything that requires additional permissions
    • catnash [she/her, ae/aer]
      link
      fedilink
      English
      arrow-up
      8
      ·
      8 months ago

      It’s additional because the recommended gesture typing libraries (I believe it’s one made by Google?) are closed-source, so an open-source project wouldn’t be able to share them within the repository or release and keep the open-source label because a component would be closed-source.

      There are open-source gesture typing libraries out there but they’re such a bother to set up I just accept the proprietary software. In HeliBoard it took me a few moments to have it going.