FUTO Keyboard
  • Java 39.6%
  • C++ 30.4%
  • Kotlin 18.8%
  • C 10.7%
  • CMake 0.3%
  • Other 0.1%
Find a file
2026-07-03 01:18:23 +03:00
.ci Update CI 2025-10-20 00:16:05 +01:00
.github/ISSUE_TEMPLATE fix: typo 2025-06-19 20:37:54 +02:00
common/src/org/futo/inputmethod Swipe library integration 2026-05-27 11:02:08 +00:00
dictionaries
gradle/wrapper Update AGP, Gradle, CI 2025-07-20 05:57:51 +03:00
java Improve swipe language switching on KASROZ/Clearflow 2026-07-03 01:18:23 +03:00
libs@be4362cf82 Update swipe library 2026-06-18 04:43:46 +03:00
native Refactor bad word handling 2026-06-12 20:38:02 +03:00
tests Fix Japanese language switch key issue 2026-04-16 16:16:37 +03:00
tools Update hi__Latn texts 2026-04-30 16:09:09 +03:00
translations@8cd47ae043 Update translations 2026-06-22 08:47:49 +03:00
voiceinput-shared Update translation filter 2026-07-02 22:52:11 +03:00
.clang-tidy Fix some linter warnings 2024-05-16 17:18:08 -05:00
.gitignore Add KeyboardTextsTable.java to gitignore 2026-04-06 19:19:03 +03:00
.gitlab-ci.yml Add signingReport to CI 2025-11-28 19:24:33 +02:00
.gitmodules Swipe library integration 2026-05-27 11:02:08 +00:00
build.gradle Update translation filter 2026-07-02 22:52:11 +03:00
gradle.properties Port 20 layouts to new system and fix some inconsistencies 2024-09-18 18:47:04 +03:00
gradlew
gradlew.bat
LICENSE.md Update LICENSE.md 2024-10-14 13:29:15 +03:00
lint.xml Update layout docs, resolve some bugs 2024-10-18 23:32:12 +03:00
NOTICE Add license 2023-08-15 19:44:22 +03:00
proguard-rules.pro Swipe library integration 2026-05-27 11:02:08 +00:00
README.md Add translation link to README 2025-07-23 12:01:26 +03:00
sendZulipMessage.sh Add webhook to CI and update image version 2023-08-31 23:53:30 +03:00
settings.gradle Initial voice input implementation 2023-08-27 19:08:44 +03:00
setUpPropertiesCI.sh Add crash reporting file to CI 2023-08-31 22:48:35 +03:00
syncTranslations.sh Update syncTranslations 2025-12-20 01:35:44 +02:00
uploadNightly.sh Fix uncached download URL for nightly 2025-03-20 21:13:13 -05:00
uploadNightlyBranch.sh Update CI 2025-07-03 00:24:10 +03:00

FUTO Keyboard

The goal is to make a good modern keyboard that stays offline and doesn't spy on you. This keyboard is a fork of LatinIME, The Android Open-Source Keyboard, with significant changes made to it.

Check out the FUTO Keyboard website for downloads and more information.

The code is licensed under the FUTO Source First License 1.1.

Issue tracking and contributing

Please check the GitHub repository to report issues: https://github.com/futo-org/android-keyboard/

The source code is hosted on our internal GitLab and mirrored to GitHub. As registration is closed on our internal GitLab, we use GitHub instead for issues and pull requests.

Due to custom license, pull requests to this repository require signing a CLA which you can do after opening a PR. Contributions to the layouts repo don't require CLA as they're Apache-2.0

If you want to help translate the app, please do so via our Pontoon instance: https://i18n-keyboard.futo.org/

Layouts

If you want to contribute layouts, check out the layouts repo.

Building

When cloning the repository, you must perform a recursive clone to fetch all dependencies:

git clone --recursive https://gitlab.futo.org/keyboard/latinime.git

If you forgot to specify recursive clone, use this to fetch submodules:

git submodule update --init --recursive

You can then open the project in Android Studio and build it that way, or use gradle commands:

./gradlew assembleUnstableDebug
./gradlew assembleStableRelease