cross-posted from: https://lemmy.world/post/14015786

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
  • @Albbi@lemmy.ca
    link
    fedilink
    1625 days ago

    Alright, giving it a shot now. Was getting frustrated with all the bloat Microsoft Swiftkey kept adding.

    Wish you could see a preview when customizing the keyboard. Hard to do it blind.

    • @N4CHEM
      link
      225 days ago

      Wish you could see a preview when customizing the keyboard. Hard to do it blind

      That’s a pretty good idea. You could check if there’s any issue about it in GitHub or open one, the app is under active development and I think this is something the developers would consider implementing.

  • @Grass@sh.itjust.works
    link
    fedilink
    12
    edit-2
    25 days ago

    Hoooooob

    Edit: I just tried it out and hoob is now my keyboard. I’m kinda curious what exactly the gesture typing library does since this seems to work better than others using the exact same file.

    • southsamurai
      link
      fedilink
      525 days ago

      It lets you glide/swipe type by just moving your finger across the letters.

      • @Grass@sh.itjust.works
        link
        fedilink
        725 days ago

        I meant specifically what libjni_latinime provides to enable that. I’ve been using the input method since Swype first appeared and have tried probably every other attempt at it by competitors since. When I was using aosp keyboard with the file dropped in I did compare it across different versions of things you can get it from, and it seemingly hadn’t changed since it appeared, with every instance of it I could find being the exact same file. What puzzles me is how the quality of swipe output has been inconsistent. Although tested over 4 different phones, I would expect some level of quality to be maintained.

        • southsamurai
          link
          fedilink
          825 days ago

          Ahhh, gotcha!

          Iirc, from what I’ve been told, the library is basically a dictionary of patterns for words.

          They apparently don’t detect so much where you make movement changes as they do the overall shape of the swiping. Now, don’t bet money on that or anything, with it being second hand. But it does make sense how the swipe detection can be inconsistent.

          If it was picking up transition points, it would hog more resources, but be more accurate. But having a library of patterns means it doesn’t need to detect all the movement, just the shape made, but that’s more vulnerable to minor variances causing bad detection.

          And that would make sense why you’d need a library at all.

          Again, the cousin that told me this is a dipshit, so I can’t stand behind it, but it’s the answer I got. He does android development on a hobby level, but codes for a living, so he’s who I ask such things.

    • To me it feels like it doesn’t do much better than the Google keyboard. But it does follow my custom dictionary while swiping, which Google never did. After all these years it still suggested a word I never use instead of a name I type often. Heliboard just casualty does the correct thing after adding the name to the dictionary. That plus showing the detected word directly above the finger so I can keep my eyes on one spot instead of constantly checking the text for bullshit words are killer features to me.

      • @Grass@sh.itjust.works
        link
        fedilink
        325 days ago

        I was getting a metric ton of outlandish words “ain’t nobody use round here” and yeah the custom dictionary thing is a game changer and probably a big part of it now that you bring it up.

  • @umbrella
    link
    725 days ago

    good to know, thanks. didnt know openboard was unmantained.

  • southsamurai
    link
    fedilink
    525 days ago

    It’s a really solid pick. My household tablet “updated” to a nee samsung one ui, and fucked my Swype from working at all (ended up getting an updated version from xda), so I was testing the open source options.

    Heliboard is the only one that’s worth a damn as regards traditional keyboards. Dessalines has a thumb typing input that’s pretty cool, but it’s far from traditional (and I’m too old to relearn typing on a new system). Anything else is unmaintained, or just bad compared to the more popular swiftkey and gboard.

    There’s multilingO, which is pretty customizable, but still not updated, no matter how good it is otherwise.

  • @Miaou@jlai.lu
    link
    fedilink
    4
    edit-2
    25 days ago

    One thing no keyboard but Swiftkey seem to do properly is language detection :/

    Edit: figured it out, its not very intuitive but you can add languages to other languages

  • Corroded
    link
    fedilink
    English
    225 days ago

    Does anyone know how to remove the number and comma button in the bottom left corner?

    It’s kind of redundant with how I want to set things up

    • @N4CHEM
      link
      4
      edit-2
      24 days ago

      I don’t think you can remove those buttons, because both of them give you access to more options:

      • the numbers button changes they keyboard layout to give access not only to numbers but also to many symbols
      • the comma button shows a pop up when long pressing for options like ”voice input, undo, redo, one handed mode, access settings…". These can be customised on the keyboard’s settings.
      • Corroded
        link
        fedilink
        English
        124 days ago
        • the comma button shows a pop up when long pressing for options like ”voice input, undo, redo, one handed mode, access settings…". These can be customised on the keyboard’s settings.

        Can’t the top row give you the same options with the > button?

        • @N4CHEM
          link
          124 days ago

          I’m not sure, it might be possible. I am not the developer, just someone who wanted to guess why there is no option to disable those. You could open an issue in GitHub and ask for that option, the developers are quite active and responsive.

    • southsamurai
      link
      fedilink
      425 days ago

      Have you tried the one dessalines made? It isn’t for me, but it’s a damn slick entry method.

    • @N4CHEM
      link
      225 days ago

      Heliboard does have a single hand layout, you can access it from the top toolbar (you might need to add this button in “Settings/Preferences/Additional keys/Select toolbar keys”) or by long pressing the comma. Then tap the hand icon.

    • @N4CHEM
      link
      425 days ago

      Heliboard is now also on the official F-Droid repository, people can choose any source!