Keyboard logo

Your keyboard shouldn’t connect to the internet.

We are building a modern keyboard that respects your privacy and security. 100% offline and 100% private, the FUTO Keyboard is equipped with all of your favorite features including but not limited to swipe typing, offline voice input, smart autocorrect, theme selection, and predictive text.

The FUTO Keyboard costs $6.99 if purchased through FUTO Pay or $11.99 if purchased through the Google Play Store. Pay for it if you like it.

This guide will walk you through every aspect of the FUTO Keyboard, including important settings and options, various actions and how they can be used and accesed, basic controls and how they can be changed, best practices for migrating from other popular keyboards, how to submit a good bug report or feature request, and the present and future trajectory of the keyboard.

Settings: Every Important Setting and Option

The keyboard settings menu is categorized into the following sub-menus:

  • Languages & Models - The menu in which you add new languages as well as the dictionaries, voice input models, transformer models, and layouts associated with them

  • Keyboard & Typing - The menu in which you set your keyboard and typing preferences, such as the keyboard size and key behavior

  • Text Prediction - The menu in which you set your preferences for auto-correct and personalized suggestions

  • Voice Input - The menu in which you set your voice input preferences, such as input length and speech-to-text settings

  • Personal Dictionary - The menu in which you create your personal dictionary of words that the keyboard will remember and suggest

  • Theme - The menu in which you select your preferred theme for the keyboard

  • Help & Feedback - The menu in which you access the keyboard documentation portal, Discord server, Zulip chat, GitHub Issue tracker, and support email.

  • Developer Settings - The menu in which you can access additional settings that are tailored to developers

Languages & Models

The menu in which you add new languages as well as the dictionaries, voice input models, transformer models, and layouts associated with them.

Add Language

Some languages require you to download a dictionary. If you also want a voice input model for a specific language, you will need to download that as well. Every language has a selection of keyboard layouts already associated with it; you can choose which layout(s) you’d like to add when you add the language.

Switch Language

There are two ways you can switch languages. The first is by pressing the globe icon in the Action Bar, located near the top left of the keyboard. The second is by either long-pressing or swiping the spacebar; you can customize your spacebar language-switching behavior by going to Settings -> Keyboard & Typing -> Long-Press Keys & Spacebar -> Spacebar Behavior. You can also assign the globe icon as the Action Key so it's right next to the spacebar, which can be accessed in the All Actions menu by pressing the ellipsis key (...) in the top left of the keyboard and then going to Edit Actions.

Add Dictionary

Some languages have a built-in dictionary but most of them don’t. If the language you’re installing doesn’t have a built-in in dictionary, you call install from our website by going to Languages & Models -> Dictionary (on the language you’re installing) -> Explore -> Download (from our website).

Create Custom Layout

If you’d like to make your own custom layout for a particular language, you can do so by enabling Developer Settings -> Custom Layouts -> Create new layout. More info on custom layouts can be found here. Key-by-key long-press setting customization is not yet supported, but is in the cue for us to implement.

Keyboard & Typing

The menu in which you set your keyboard and typing preferences, such as the keyboard size and key behavior.

Resizing Keyboard

You can change the height and width of the keyboard through our interactive resizing interface by clicking on Resize Keyboard.

Number Row

You can display a number row at the top of the keyboard in supported layouts by toggling on Show Number Row.

Arrow Keys

You can display a set of four arrow keys (up, down, right, and left) by toggling on Show Arrow Keys.

Symbol Hints

You can display the symbols that are accessed by long-pressing certain keys on the top right of each key by going to Long-Press Keys & Spacebar and toggling on Show hints.

Layout of Long-Press Keys

You can change the layout of long-press keys by going to Long-Press Keys & Spacebar and switching around the order of said keys.

Long-Press Duration

You can change the amount of time it takes for a key to be pressed to be considered a long-press by going to Long-Press Keys & Spacebar -> Long Press Duration and dragging the slider to your desired number of milliseconds.

Backspace Behavior

You can change what happens when you hold or swipe the backspace key—to either delete single characters or delete entire words—by going to Long-Press Keys & Spacebar -> Backspace Behavior when holding/swiping.

Spacebar Behavior

You can change what happens when you long-press or swipe the spacebar key—to either make swipe move the cursor and long-press switch languages, swipe switch languages and long-press move the cursor, or both swipe and long-press only move the cursor—by going to Long-Press Keys & Spacebar -> Spacebar Behavior.

Action and Suggestions Bar

You can show the bar that contains action shortcuts and word suggestions by toggling on Show action/suggestions bar.

Automatic Spaces

You can set the keyboard to automatically insert spaces after typing punctuation and/or inserting suggestions, or set it to not automatically insert spaces after either of those, by going to Automatic spaces mode and choosing your preferred setting.

Swipe Typing

You can enable the ability to swipe from key to key to write words by toggling on Swipe Typing.

Emoji Suggestions

You can enable the ability to suggest emojis while you’re typing by toggling on Emoji Suggestions.

Auto-Correct

You can enable the ability to automatically correct mistyped words when pressing the spacebar or typing punctuation by toggling on Auto-correction.

Auto-Capitalization

You can enable the ability to automatically capitalize the first word of each sentence by toggling on Auto-capitalization. Note: auto-capitalization only works in text fields that require it (e.g. in messaging apps) but not in fields where it doesn’t require it (e.g. in a url search bar).

Double-Space Period

You can enable the ability to insert a period followed by a space by double-tapping the spacebar by toggling on Double-space period.

Sound on Keypress

You can enable the ability to make a sound on each key press by toggling on Sound on keypress.

You can enable the ability to make keys pop up on each key press by toggling on Popup on keypress.

Vibrate on Keypress

You can enable the ability for your device to vibrate on each key press by toggling on Vibrate on keypress.

Vibration Intensity

You can change the level of vibration intensity of key presses by dragging the slider to your desired number of milliseconds.

Clipboard History

You can enable the ability for the clipboard to remember your saved entries by toggling on Clipboard History.

Text Prediction

The menu in which you set your preferences for auto-correct and personalized suggestions.

Transformer Language Model

You can have the keyboard predict the next word you’ll type or make more intelligent auto-corrections, which uses a pre-trained transformer language model based on publicly-available data sets, by toggling on Transformer LM. Note: This only currently works for English, but we are working on making it working for other languages.

Transformer Fine-Tuning

You can have the keyboard remember what you type and what suggestions you select, which trains the language model (while your phone is idle) to predict which words to suggest and auto-correct while you’re typing by toggling on Transformer fine-tuning. Note: This is your own personal language model and FUTO does not view or store any of your data.

Transformer Language Model Strength

You can make autocorrect behave more like the AOSP keyboard or more like the neural network by going to Advanced Parameters -> Transformer LM strength and dragging the slider to either a lower value (which will make autocorrect behavior more like the AOSP keyboard) or a higher value (which will make autocorrect more dependent on the neural network).

Auto-Correct Threshold

You can change the threshold of autocorrect to make autocorrect occur more or less often by going to Advanced Parameters -> Autocorrect Threshold and dragging the slider to either a lower value (which will make autocorrect occur more often but also miscorrect more often) or a higher value (which will make autocorrect occur less often but also miscorrect less often).

Word Blacklisting

You can blacklist word suggestions, which will prevent the keyboard from continuing to suggest blacklisted words, by going to Blacklisted Suggestions and adding words you’d like to blacklist.

Offensive Words

You can block offensive words, such as common cuss words, by going to Blacklisted Suggestions and toggling on Block offensive words. Note: Block offensive words is toggled on by default.

Auto-Correcct

You can enable the ability to automatically correct mistyped words when pressing the spacebar or typing punctuation by toggling on Auto-correction.

Correction Suggestions

You can enable the ability to display suggested words while you’re typing by toggling on Show correction suggestions.

Word Suggestions

You can enable the ability to learn from your communications and typed data to improve suggestions by toggling on Personalized suggestions. Note: Toggling Personalized suggestions off also disables Transformer fine-tuning.

Voice Input

The menu in which you set your voice input preferences, such as input length and speech-to-text settings.

Built-In Voice Input

You can disable the keyboard’s built-in voice input and instead use the voice input provider by an external app by toggling off Disable built-in voice input.

Indication Sounds

You can enable the ability to play sounds while starting and cancelling voice input by toggling on Indication sounds.

Verbose Progress

You can enable the ability to display verbose information, such as indicating that the mic is being used, by toggling on Verbose progress.

Bluetooth Microphone

You can have voice input automatically prefer your bluetooth microphone over the built-in microphone by toggling on Prefer Bluetooth Mic.

Audio Focusing

You can have voice input automatically pause videos or music when voice input is activated by toggling on Audio Focus.

Symbol Suppression

By default, voice input will only transcribe basic text and punctuation. You can toggle off Suppressing symbols in order to unrestrict voice input from transcribing special characters (.e.g. @, $, or %). Note: This does not affect how voice input interprets literal words (e.g. “comma”, “period”).

Long-Form Voice Input

You can disable the default 30-second limit for voice input by toggling on Experimental long-form voice input. Note: The output quality may be degraded with long inputs.

Personal Dictionary

The menu in which you create your personal dictionary of words that the keyboard will remember and suggest.

Add to Dictionary

You can add a word or phrase to your personal dictionary by pressing the plus icon on the Personal dictionary screen. You can also create a shortcut to it in the Shortcut field when adding the word or phrase.

Delete From Dictionary

You can delete a word or phrase from your personal dictionary by clicking that word or phrase and clicking on the trash icon in the top right.

Theme

The menu in which you select your preferred theme for the keyboard.

Change Theme

You can select from a variety of themes for the keyboard, including Dark Mode, Light Mode, Dynamic Auto, Dynamic Dark, Dynamic Light, AOSP Material Dark, AOSP Material Light, AMOLED Dark Purple, Sunflower, Snowfall, Steel Gray, Emerald, Cotton Candy, Deep Sea Light, Deep Sea Dark, Gradient 1, FUTO VI Theme, or Construction Theme. The ability to customize your theme will come eventually.

Key Borders

You can enable key borders by scrolling down to the bottom and toggling on Key borders.

Help & Feedback

The menu in which you access the keyboard wiki, Discord server, Zulip chat, GitHub Issue tracker, and support email.

Version Name

You can see the version name at the top of the menu.

Version Code

You can also see the version code at the top of the menu.

Developer Settings

You can activate Developer Settings by clicking on the Version Code eight times.

Documentation Portal

You can access the FUTO Keyboard Documentation Portal to familiarize yourself with every aspect of the keyboard, how to submit a good bug report or feature request, and the present and future trajectory of the keyboard, by clicking on Documentation portal (coming soon).

Discord Server

You can access the FUTO Discord Server, in which you can chat with a community of users about bug fixes, feature requests, beta testing, and other topics, by clicking on Discord Server.

Zulip Chat

You can access the FUTO Zulip Chat, in which you can chat with a community of users about a variety of topics regarding all of FUTO’s apps, by clicking FUTO Chat.

GitHub Issue Tracker

You can access the FUTO GitHub Issue Tracker, in which you can submit bug reports and feature requests, by clicking Public issue tracker.

User Support

You can email us with private feedback or requests for help at [email protected] by clicking on Email [email protected].

Developer Settings

The menu in which you can access additional settings that are tailored to developers. You can activate Developer Settings by clicking on the Version Code eight times.

Developer Mode

You can disable the Developer Settings menu by toggling off Developer mode. To re-able it, you need to once again go into the Help & Feedback menu and click on the Version Code eight times.

Update Reminders

You can disable reminders to update the keyboard by toggling on Disable all update reminders.

Touch-Typing Mode

If you remember the positioning of all keys on the keyboard, you can hide all of the keys in order to reduce AMOLED screen burn-in.

Migration Notice

If you dismiss automatic update reminders, you can un-dismiss them by toggling off Dismissed migration notice. Note: This is exclusive to the non-Play Store version of the keyboard.

Old Action Bar

You can enable the action bar that was in place in previous versions of the keyboard by toggling on Old action bar.

Crash Keyboard

You can intentionally crash the keyboard and send a crash report by clicking on Crash the app.

Layout List

You can search the list of all the keyboard layouts you have installed by clicking on Layout list.

Keyboard Paid Indication

You can display a notice on the menu screen indicating that you paid for the keyboard by toggling on Is paid.

Keyboard Payment Pending Indication

You can display a notice on the menu screen indicating that you haven’t yet paid for the keyboard by toggling on Is payment pending.

Show Notice

You can display the notice about paying for FUTO Keyboard on the settings menu by toggling on Force show notice. Note: The notice normally displays 30 days after you install the keyboard.

Reminder Time

If you dismissed the notice about paying for the keyboard with a set reminder time, you can reset the reminder time by toggling off Reminder Time.

Payment URL

You can set which url will open to pay for the keyboard in the Payment URL text field.

Actions: What They Are, What They Do, and How They Can Be Accessed

Actions are shortcuts to specific features of the keyboard, each with a corresponding icon for easy access.

Currently Supported Actions

Actions are shortcuts to specific features of the keyboard, each with a corresponding icon for easy access. The actions currently supported are the following:

Emojis

Accesses the emoji selection menu.

Voice Input

Accesses voice-to-text.

Language Switch Key

Switches languages (by tapping) or opens language switch menu (by long-pressing). to the next language, you can long-press it to open the language switch menu.

Text Editor

Accesses the Text Editor.

Clipboard Manager

Accesses the Clipboard Manager.

Paste from Clipboard

Pastes text to the clipboard (sends CTRL+V command).

Cut to Clipboard

Cuts text into your clipboard (sends CTRL+X command).

Copy to Clipboard

Copies text into your clipboard (sends CTRL+C command).

Theme Switcher

Switches themes.

Keyboard Modes

Accesses the keyboard mode selection menu (Standard, One Hand, Split, or Float).

Select All

Selects all text input (sends CTRL+A command).

Undo

Undoes last text input (sends CTRL+Z command).

Redo

Redoes last text input (sends CTRL+Y command).

Arrow Up

Moves the cursor up.

Arrow Down

Moves the cursor down.

Arrow Left

Moves the cursor left.

Arrow Right

Moves the cursor right.

Debug Info

Shows info that helps resolve bugs (Editor Info, Keyboard State, Screen State Info, and Memory Use).

Settings

Accesses the settings menu.

Accessing and Assigning Actions

Actions can be accessed in the All Actions menu by pressing the ellipsis key (...) in the top left of the keyboard. The location of each action on the keyboard can be edited by clicking Edit Actions after navigating to the All Actions menu.

In the Edit Actions menu, you can drag and drop the actions to the following locations:

Action Key

This action will appear directly to the left of the Spacebar. You can only assign one key as the Action Key.

Pinned Action(s)

These actions will appear on the right side of the keyboard, directly below the Action Bar and directly above the Keyboard Layout.

Favorite Actions

These actions will appear in the Action Bar located at the top of the keyboard.

More Actions

These actions will appear in the All Actions menu, accessed by clicking the ellipsis key (...).

Hidden Actions

These actions will not appear anywhere on the keyboard.

Gestures: Basic Keyboard Gestures and How They Can Be Changed

There are basic gestures you should know about that will make your experience using the FUTO Keyboard seamless.

Spacebar Cursor Movement

Slide Spacebar to Move Cursor

When you slide the spacebar left or right, it will move the cursor left or right.

If you’d prefer to change the spacebar behavior, you can do so by going to Settings -> Keyboard & Typing -> Long-Press Keys & Spacebar -> Spacebar Behavior. You can set the spacebar to swipe to move the cursor and long-press to switch the language, swipe to switch the language and long-press to move the cursor, or swipe and long-press only to move the cursor.

Backspace Key Highlight-to-Delete

Slide Backspace to Highlight and Delete Text

When you slide the backspace key to the left, it will highlight your selected amount of text and delete that selection.

If you’d prefer to change the backspace key behavior, you can do so by going to Settings -> Keyboard & Typing -> Long-Press Keys & Spacebar -> Backspace behavior when holding/swiping. You can set the backspace key to either delete individual characters or delete entire words.

?123 Key Symbol Selection

Slide ?123 Key to Type Symbol and Switch Back to Alphabet

When you slide the ?123 key to the right, the symbol menu will open, allowing you to select one symbol, then switch back to the alphabet after you select that symbol.

Enter Key Action Shortcuts

Long-Press Enter Key to Access Key Actions

If you hold down the Enter key, you can access key actions including undo, redo, switch language, text editor, clipboard, and emojis.

Blacklisting Word Suggestions

Long-Press Word Suggestion to Blacklist That Word

When a word suggestion appears in the suggestion bar that you don't want to appear in the suggestion bar again, you can blacklist that word by long-pressing it and pressing Blacklist.

Migration: Migrating From Other Popular Keyboards

It's important that you have a smooth transition to the FUTO Keyboard from other keyboards such as Gboard or SwiftKey. Below are some of the key settings to be aware of to facilitate your transition.

Gboard Migration

Automatically Add Spaces After Punctuation

If you don’t want spaces automatically added after punctuation, you can set the keyboard to not do so by going to Settings -> Keyboard & Typing -> Automatic spaces mode and choosing your preferred setting.

Importing Personal Dictionary

Importing your personal dictionary from Gboard is not yet supported but is in the cue for us to implement.

SwiftKey Migration

Switch Language by Swiping Spacebar

If you want to switch the language by swiping the spacebar, go to Settings -> Keyboard & Typing -> Long-Press Keys & Spacebar -> Spacebar Behavior.

Arrow Keys

You can show arrow keys by going to Settings -> Keyboard & Typing -> Show Arrow Keys.

Importing Personal Dictionary

Importing your personal dictionary from SwiftKey is not yet supported but is in the cue for us to implement.

Improvements: Bug Reports and Feature Requests

We review all bug reports and feature requests. We appreciate your time and effort in helping us improve your keyboard experience. Here are some best practices for reporting bugs and requesting features:

How to Submit a Good Bug Report

We fix bugs as soon as possible to keep your keyboard experience seamless, and the more information you can give us about the issue you're experiencing, the easier it will be for us to fix.

An ideal bug report will include the following information:

  • A detailed explanation of the bug you are reporting
  • The version of the keyboard you are using, which you can find by going to Settings -> Help & Feedback
  • A video of the bug being reproduced (or photos if you cannot provide a video)
  • If it's an issue with a specific text field, the info provided by the Debug Info action, which you can enable by going to Settings -> Keyboard & Typing -> Edit Actions

The best way to report bug is either by submitting a ticket in our GitHub Issues Tracker or by sending us an email at [email protected].

How to Submit a Good Feature Request

We consider implementing feature requests to better your keyboard experience, and the more information you can give us about the feature you're requesting, the easier it will be for us to assess.

An ideal feature request will include the following information:

  • A detailed proposal of the feature you are requesting
  • The different use cases the proposed feature is applicable to
  • Any references to similar features in existing keyboards that are comparable, ideally with a video of the feature being used (or photos if you cannot provide a video)

The best way to request a feature is either by submitting a ticket in our GitHub Issues Tracker or by sending us an email at [email protected].

Trajectory: The Present and Future of FUTO Keyboard

We are in the process of developing the best smart keyboard ever made. We appreciate how involved many of you have been in the process, and we want to let you know what our current priorities are and what's on the horizon for the future of FUTO Keyboard.

Current Priorities

Short-Term

  • Stability improvements
  • Very high priority bug fixes
  • User experience improvements
  • Swipe typing accurancy
  • Localizing strings
  • Adding new layouts

Future Priorities

Mid-Term

  • Autocorrect accuracy
  • Multilingual typing
  • High priority feature implementations
  • Code cleanup
  • Simple theming system
  • Medium priority bug fixes

Long-Term

  • Non-latin language support
  • Advanced theming system
  • Low priority feature implementations