FUTO Keyboard is a keyboard being developed, forked from the [AOSP keyboard](https://android.googlesource.com/platform/packages/inputmethods/LatinIME/).
The goal is to create a good, customizable keyboard that doesn't sacrifice on privacy or freedoms
If you're testing this, please join the FUTO Chat #Keyboard stream! This is currently the best way to share your feedback and ideas. https://chat.futo.org/
Current features:
* Transformer-based predictions and autocorrect (using llama.cpp)
** This may run slow on lower-end devices, you can turn it off in predictive text settings
* Basic scrolling emoji menu, with latest emoji and skin tones
* Theming using preset themes and dynamic colors
* Integrated voice input (using whisper.cpp and [faster models](https://github.com/ggerganov/whisper.cpp/issues/1951))
* Swipe the spacebar to move cursor, swipe the delete key to delete
* System personal dictionary gets prompted to transformer model and voice input
* Emoji suggestions
* Long-press suggestions to blacklist them
Current limitations:
* Languages other than English are not well supported
* Model finetuning is implemented and enableable, but needs more evaluations and tuning
* Emoji menu is very limited
## Roadmap
Short-term:
* Improve model to intelligently suggest emojis and more texting-style text
* Improve emoji menu
* Improve the built-in dictionary by removing some entries that are potentially annoying (common misspellings of common words that the dictionary contains as a capitalized acronym, e.g. jts becomes JTS instead of it's)
* Stability improvements, bug fixes, quality of life improvements
Short to mid term:
* Improved onboarding, explaining the various features
* Support other languages for the built-in voice input
* Automatic personal dictionary, take common user words and feed them to models automatically so that the user doesn't have to manually add them
* Algorithm improvements, better dealing with plurals, etc
Mid-term:
* The actions need to be customizable, draggable, removable, instead of being hardcoded into their places
* Improved modularity, possibly allow importing keyboard layouts, dictionaries and models all as one file
* Improve model fine-tuning, evaluate to figure out the best method of training
Long-term:
* Fully customizable theming (crazy ideas for this)
* Swipe typing
Missing something? Let us know in the FUTO Chat #Keyboard stream! https://chat.futo.org/