Highlights
- The application now targets Android API 34, and exposes input methods as subtypes to system input method picker @rocka
- Pinyin input method from fcitx5-chinese-addons gains basic error correction support for adjacent keys in the same row @wengxt
- Pinyin/Shuangpin and Table input methods from fcitx5-chinese-addons are able to "forget word" by long pressing the candidates @cinit
- RIME Plugin includes rime-predict for next-word prediction @eagleoflqj
Notable changes
- "Global Options - Show preedit in application" has been enabled by default, you may need to enable it manually after upgrading from old versions.
For those who don't like composing text (aka client preedit) in applications, pinyin and rime engine now include a "Preedit Mode" option to disable it. - As many users requested, English input method now provides an option "Disable word hint based on editor attributes".
Turning it off would make the input method ignore InputType flags from editor and provide word hint regardless.
Build process improvements
- descriptor.json generated on Windows actually works, by replacing backslash ("\") in path with forward slash ("/")
New features
- Allow client preedit in global options and pinyin engine by default
- Expose input method as subtypes to system input method picker on Android 14+
- Handle subtype switching via system input method picker
- Raise keyboard side padding limit to 300dp
- Add shrug emoticon ¯\_(ツ)_/¯
- Swipe left backspace key to clear predict candidates
- Apply keyboard side padding to preedit
- Use KP_Separator/KP_Equal for comma/dot in NumberKeyboard
- Trigger "forget word" by long pressing on candidates from pinyin and table engine
- Option to mask sensitive data (such as password) in clipboard UI
- Option to show word hint regardless of InputType flags
- Prompt to restart after changing verbose logging preference
- Option to disable swipe gesture on space key
- OpenCC config shows a list of available profiles
Bug fixes
- Toolbar above keyboard sometimes become blank when switching input methods
- Unable to detect other input method apps on Android 14
- Fix crash in androidkeyboard when commit characters with byte length > 1
- Last symbol state cannot be remembered when switching between SymbolPicker/NumberKeyboard for multiple times
- Keyboard theme won't follow system dark mode when dark mode changes while app is not running
- Transparent area in keyboard background images won't get darkened
- "Restore default" in FcitxPreferenceFragment does not work
- Disallow empty user input in various editor fragments
- Fix importing/creating quickphrase with backslash
- Fix crash when saving logs on some devices
- Fix default value display in various custom Preferences
- Change default navigation bar background to follow keyboard background color to avoid problems on some Android 14 devices
- "Hidden Notifications" config in "Android Toast & Notifications" cannot be persisted
- Prevent crash loop when uncaught exception occurs during Application instantiation
Download
app | armeabi-v7a | arm64-v8a | x86 | x86_64 |
---|---|---|---|---|
plugin.anthy | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.chewing | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.clipboard_filter | any | |||
plugin.hangul | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.jyutping | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.rime | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.sayura | armeabi-v7a | arm64-v8a | x86 | x86_64 |
plugin.unikey | armeabi-v7a | arm64-v8a | x86 | x86_64 |
Metadata
app
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714032240551"
}
plugin
plugin.anthy
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714032782344"
}
plugin.chewing
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714032997024"
}
plugin.clipboard_filter
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714033190038"
}
plugin.hangul
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714033318958"
}
plugin.jyutping
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714033513159"
}
plugin.rime
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714033870117"
}
plugin.sayura
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714034071251"
}
plugin.unikey
{
"versionName": "0.0.9-0-g8dc51356",
"commitHash": "8dc51356d30f1eba8c5ede9d680bd2ee8be59747",
"timestamp": "1714034266175"
}
Checksum
a1dee7cee3302d41746aeb13e108a62319397a584440ecb0f7ed0d06f3bb056c org.fcitx.fcitx5.android-0.0.9-0-g8dc51356-arm64-v8a-release.apk
a38367cb93aa24c837660fd0d6f143aecd2a671cc7d0931f3c92c82f36b2f266 org.fcitx.fcitx5.android-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
fb6c25d51ee710124662efee1894388cc2f8de5609a3c65a407a1bb313a1d6f8 org.fcitx.fcitx5.android-0.0.9-0-g8dc51356-x86-release.apk
6ced8ad76fa43ca64e91a05aa4439d472d356cabd597cd4d89364a86cd827b65 org.fcitx.fcitx5.android-0.0.9-0-g8dc51356-x86_64-release.apk
815488d434a6c71a4ff1c3a3bdc7c7867134c2ea19058658f8d81721315ece3a org.fcitx.fcitx5.android.plugin.anthy-0.0.9-0-g8dc51356-arm64-v8a-release.apk
ad04fcbf8a072f72b22a883be384a052f369923124e850c17a34c02c0d5caf4e org.fcitx.fcitx5.android.plugin.anthy-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
d2f6a285e75c160ff3895a3387b998a55c25241930f19b42f3a9a58ef9800c77 org.fcitx.fcitx5.android.plugin.anthy-0.0.9-0-g8dc51356-x86-release.apk
594e06c5eca98cbd1bd8039be921af66f5d904be92aced3aec5527a2021e37ed org.fcitx.fcitx5.android.plugin.anthy-0.0.9-0-g8dc51356-x86_64-release.apk
b892c2811b4f0506c4e2503c305d2d9d6827ae9f595cf46aee46bc4857b0db38 org.fcitx.fcitx5.android.plugin.chewing-0.0.9-0-g8dc51356-arm64-v8a-release.apk
e8c5bc0d0732426cd79051372bd7a9c569967a0a8b6287ba8cff74318117d31a org.fcitx.fcitx5.android.plugin.chewing-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
5e158784aa545f71a7ba7a6fd336ea6748a91d2884615323f9cf0ba83d3bbc98 org.fcitx.fcitx5.android.plugin.chewing-0.0.9-0-g8dc51356-x86-release.apk
efcfb94527e44c7c38937149d61740b244cc2d570b2362422e904d66c535ee89 org.fcitx.fcitx5.android.plugin.chewing-0.0.9-0-g8dc51356-x86_64-release.apk
fd3723d5533705598d12b6c8dee4d097c96bc307d79185f888ab798baeed327d org.fcitx.fcitx5.android.plugin.clipboard_filter-0.0.9-0-g8dc51356-release.apk
aa865981ef1c77051f879454b4a9f17e8b3b2619a76a52fa3654596a3840aa97 org.fcitx.fcitx5.android.plugin.hangul-0.0.9-0-g8dc51356-arm64-v8a-release.apk
7e3d52e98e67a55eb761382a7bb9b0feb0449b1dcd97d30f28e1f9e9e429b0f6 org.fcitx.fcitx5.android.plugin.hangul-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
51c595af7bdd0190ba4aca117c8ef031708c04111801d440032831e2a1eaf488 org.fcitx.fcitx5.android.plugin.hangul-0.0.9-0-g8dc51356-x86-release.apk
6c610711deb1d421e41b0dd1bd654d34b8013d9717aa7abbadf2e2cd93a87156 org.fcitx.fcitx5.android.plugin.hangul-0.0.9-0-g8dc51356-x86_64-release.apk
b3ff466ddca1923fbf904b7f446b24d7a76f062fc32ca79a7b9556b37d40c447 org.fcitx.fcitx5.android.plugin.jyutping-0.0.9-0-g8dc51356-arm64-v8a-release.apk
92230101431f32fb1aaf5329d54a2b70a9cf668696cab4072cdde5453ebafdf3 org.fcitx.fcitx5.android.plugin.jyutping-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
93c64146bec7db3c2437a6dad2fbd46b5c131d4ef6fc03bf420bd12babe9c435 org.fcitx.fcitx5.android.plugin.jyutping-0.0.9-0-g8dc51356-x86-release.apk
3d132a759271f6f3dba6b987b01a4bb02bbfc12ec66f5372b1b67dd1f5d4e447 org.fcitx.fcitx5.android.plugin.jyutping-0.0.9-0-g8dc51356-x86_64-release.apk
32b76e154002f58608da73458a916898171e667a59ef2eb48af550e533937fe0 org.fcitx.fcitx5.android.plugin.rime-0.0.9-0-g8dc51356-arm64-v8a-release.apk
7b44f48c4dca352ccab1d26652d6c8da87de75519e4f348e274d71e8d25cd560 org.fcitx.fcitx5.android.plugin.rime-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
927a876a84cf2ac13b6c265cf7ce00bee6d59cd61598fdd41a49657267a101c1 org.fcitx.fcitx5.android.plugin.rime-0.0.9-0-g8dc51356-x86-release.apk
ac2979801592775048f87aedf2ab54f3bdaf5666433569d3d8d223497ffad146 org.fcitx.fcitx5.android.plugin.rime-0.0.9-0-g8dc51356-x86_64-release.apk
8ac596cc5c507d6b4d26b6d33b26be202151fd29d8d7c32fdfa4c75ade6fb4d1 org.fcitx.fcitx5.android.plugin.sayura-0.0.9-0-g8dc51356-arm64-v8a-release.apk
586fb910218487389bf6fdc71af989e13bf6f51b175da0f5bf27043a350db4c1 org.fcitx.fcitx5.android.plugin.sayura-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
453779f1b0281e975920181d2da425c8c308f711c92b58022ec026f2cbd27102 org.fcitx.fcitx5.android.plugin.sayura-0.0.9-0-g8dc51356-x86-release.apk
b96deb1a2b422b9ff684188d3c0ba5c6084338be13e9e4da11b00416e7be04ee org.fcitx.fcitx5.android.plugin.sayura-0.0.9-0-g8dc51356-x86_64-release.apk
2f16f1605f1c5469feeeae2dc1cc33f4185342b50c01ae30851616fd83e3ac49 org.fcitx.fcitx5.android.plugin.unikey-0.0.9-0-g8dc51356-arm64-v8a-release.apk
8f80949ea92e8780bdb9bd10ff59da3540fb75dc5fe2f3c19e9f8aacd9542d53 org.fcitx.fcitx5.android.plugin.unikey-0.0.9-0-g8dc51356-armeabi-v7a-release.apk
ac88e01937b23a914980fd4b603e09bb0b90630cf7c3170f65541e94ccaccafc org.fcitx.fcitx5.android.plugin.unikey-0.0.9-0-g8dc51356-x86-release.apk
c5cf98f5f1bb5776ed126ab5781f44a78ff519ac83dbe82200ebe9b847d99495 org.fcitx.fcitx5.android.plugin.unikey-0.0.9-0-g8dc51356-x86_64-release.apk