fcitx5-virutalkeyboard-ui

What's this?

A virtual keyboard UI module for Fcitx5, based on ClassicUI bundled in Fcitx5. The main target environment of this module is Weston. On X11, it partially works but not yet perfect, need further work.

Currently following languages/layouts are supported:

  • English (using keyboard-us)
  • Japanese (using fcitx5-anthy)
  • Korean (using fcitx5-hangul)
  • Rusian (using keyboard-ru)
  • Simplified Chinese (using fcitx5-chinese-addons)
  • Traditional Chinese (using fcitx5-chewing)

Demo Movie for fcitx5-virtualkeyboard-ui

Prerequisites

Currently some patches are required to Fcitx5:

Optionally Fcitx5's inputmethod addons listed above are also required to support each languages.

In Yocto environment, you can use meta-inputmethod to install these prerequisites. The yocto recipe for fcitx5-virtualkeyboard-ui itself isn's published. If you need it, please contact us.

How to build

$ cmake -B build
$ cmake --build build
$ cmake --install build

Example Configuration

~/.config/fcitx5/profile

[Groups/0]
# Group Name
Name=US
# Layout
Default Layout=us
# Default Input Method
DefaultIM=keyboard-us

[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=

[Groups/1]
# Group Name
Name=JP
# Layout
Default Layout=us
# Default Input Method
DefaultIM=anthy

[Groups/1/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=

[Groups/1/Items/1]
# Name
Name=anthy
# Layout
Layout=

[Groups/2]
# Group Name
Name=CH
# Layout
Default Layout=us
# Default Input Method
DefaultIM=pinyin

[Groups/2/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=

[Groups/2/Items/1]
# Name
Name=pinyin
# Layout
Layout=

[Groups/3]
# Group Name
Name=TW
# Layout
Default Layout=us
# Default Input Method
DefaultIM=chewing

[Groups/3/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=

[Groups/3/Items/1]
# Name
Name=chewing
# Layout
Layout=

[Groups/4]
# Group Name
Name=KR
# Layout
Default Layout=us
# Default Input Method
DefaultIM=hangul

[Groups/4/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=

[Groups/4/Items/1]
# Name
Name=hangul
# Layout
Layout=

[Groups/5]
# Group Name
Name=RU
# Layout
Default Layout=us
# Default Input Method
DefaultIM=keyboard-ru

[Groups/5/Items/0]
# Name
Name=keyboard-ru
# Layout
Layout=

[GroupOrder]
0=US
1=JP
2=CH
3=TW
4=KR
5=RU

~/.config/fcitx5/config

  • Avoid displaying IM information that causes trouble when switching languages.
...
[Behavior]
ShowInputMethodInformation=False
...