Code Monkey home page Code Monkey logo

fcitx5-android's Introduction

fcitx5-android

An attempt to run fcitx5 on Android.

Download

Latest CI builds

Jenkins: build status

Tagged releases

GitHub: release version

Get it on F-Droid

Get it on Google Play

Project status

Implemented

  • Virtual Keyboard (layout not customizable yet)
  • Expandable candidate view
  • Clipboard management (plain text only)
  • Theming (custom color scheme and background image)
  • Popup preview on key press
  • Long press popup keyboard for convenient symbol input
  • Symbol and Emoji picker

Work in progress

  • Customizable keyboard layout
  • More input methods

Screenshots

拼音, Material Light theme, key border enabled 自然码双拼, Pixel Dark theme, key border disabled
Emoji picker, Pixel Light theme, key border enabled Symbol picker, Material Dark theme, key border disabled

Get involved

Trello kanban: https://trello.com/b/gftk6ZdV/kanban

Matrix Room: https://matrix.to/#/#fcitx5-android:mozilla.org

Discuss on Telegram: https://t.me/+hci-DrFVWUM3NTUx (@fcitx5_android originally)

Build

Dependencies

  • Android SDK Platform & Build-Tools 33.
  • Android NDK (Side by side) 25 & CMake 3.22.1, they can be installed using SDK Manager in Android Studio or sdkmanager command line. Note: NDK 21 & 22 are confirmed not working with this project.
  • KDE/extra-cmake-modules
  • GNU Gettext >= 0.20 (for msgfmt binary; or install appstream if you really have to use gettext <= 0.19.)

How to set up development environment

First, clone this repository and fetch all submodules:

git clone [email protected]:fcitx5-android/fcitx5-android.git
git submodule update --init --recursive

Install extra-cmake-modules from your distribution software repository:

# For Arch Linux (Arch has gettext in it's base meta package)
sudo pacman -S extra-cmake-modules
# For Debian/Ubuntu
sudo apt install extra-cmake-modules gettext

Install Android SDK Platform, Android SDK Build-Tools, Android NDK and cmake via SDK Manager in Android Studio:

Detailed steps (screenshots)

Open SDK Manager

Install SDK Platform

Install SDK Build-Tools

Install NDK

Install CMake

Nix

Appropriate Android SDK with NDK is available in the development shell. The gradlew should work out-of-the-box, so you can install the app to your phone with ./gradlew installDebug after applying the patch mentioned above. For development, you may want to install the unstable version of Android Studio, and point the project SDK path to $ANDROID_SDK_ROOT defined in the shell. Notice that Android Studio may generate wrong local.properties which sets the SDK location to ~/Android/SDK (installed by SDK Manager). In such case, you need specify sdk.dir as the project SDK in that file manually, in case Android Studio sticks to the wrong global SDK.

fcitx5-android's People

Contributors

berberman avatar gostsdmitry avatar iovxw avatar keta1 avatar kkren avatar latticeladder avatar linsui avatar oldherl avatar rocka avatar sinofine avatar transifex-integration[bot] avatar vifly avatar whiredplanck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.