0.1.3 - Physical Keyboard Improvements and Candidate Tab Actions
Highlights
- On some phones with physical keyboards, the input method can select candidates or input digits/punctuations with combination keys properly. @rocka
- CandidatesView for physical keyboards now supports long-press actions (#875) @WhiredPlanck . It would also pop up automatically when switching input method by keyboard shortcuts, and show an icon on system status bar to indicate the activate input method (#830) @rocka.
- In password inputs, the toolbar number row can be dismissed by swiping right. Swipe left on the right-most button on toolbar to bring it back. (#856) @iovxw
- Expanded candidate list in virtual keyboard could display tabs for filtering candidates when supported by the engine. Pinyin correction/single-character/stroke filtering are supported by the built-in pinyin engine. @rocka @wengxt
Notable changes
- Added a new option "Advanced - Keyboard height percent base", with 2 available values: DisplayMetrics (old behavior) and RealSize (new behavior). If you encounter an issue that the virtual keyboard height would change after switching theme/rotating screen, the new behavior maybe able to solve that. We are planing to deprecate the old behavior since it's unstable on some devices.
New features
- Improve FAB animation in list fragments
- Restore InputView state when switching between virtual/physical keyboard
- Show CandidatesView when input method switched by user
- Use InputConnection#setSelection to move cursor when supported
- Improve cursor move when selection is not empty
- Swipe to collapse/expand NumberRow (#856)
- Make voice input selectable
- Show status icon when using hardware keyboard (#830)
- Make CandidatesView support candidate action menu (#875)
- Tab actions UI in expanded candidate window
- Try restore composing range when selection matches
- Add copy button for EditorInfoWindow
- Add option for keyboard height percent base
Bug fixes
- Fix CandidatesView popup without focusing input
- Fixes typing on hardware keyboard with "sticky" modifier keys
- Avoid showing CharacterPickerDialog with keyboard shortcut
- Reset view state when DynamicListAdapter recycles them
- Make item order in PinyinDictionaryFragment consistent
- Disable vivo_keypress_workaround on Origin OS 4+
- Make sure popup entry do not have parent view before adding it
- Fix crash when MainActivity relaunches under FcitxPreferenceFragment route
- Send KEYCODE_ENTER instead of commit "\n" when pressing enter on virtual keyboard
- Don't recreate InputView on keyboard Configuration changes
- Reduce contrast of InlineSuggestion Chip ripple
- Send arrow key in browser location bar on space swipe (#872) @CoelacanthusHex
- Fix CandidatesView position when CursorAnchorInfo is invalid on API 35+
- Always show Snackbar in BaseDynamicListUi when item changes
- Add missing characters in PopupPreset and sort items (#887) @iamliuzy
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.thai | armeabi-v7a | arm64-v8a | x86 | x86_64 |
| plugin.unikey | armeabi-v7a | arm64-v8a | x86 | x86_64 |
Metadata
app
:::json
{
"versionName": "0.1.3-0-g048f581c",
"commitHash": "048f581c652367567b8ee5c28c5163b805288895",
"timestamp": "1785059707935"
}
### plugin
### plugin.anthy :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785060085662" } ### plugin.chewing :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785060269513" } ### plugin.clipboard_filter :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785060433838" } ### plugin.hangul :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785060526399" } ### plugin.jyutping :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785060692176" } ### plugin.rime :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785061027669" } ### plugin.sayura :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785061203357" } ### plugin.thai :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785061369333" } ### plugin.unikey :::json { "versionName": "0.1.3-0-g048f581c", "commitHash": "048f581c652367567b8ee5c28c5163b805288895", "timestamp": "1785061537471" }Checksum
8e5de1036aea1f55895b39b4fc25a2d563e7b0663fa2708c86598f81768b106d org.fcitx.fcitx5.android-0.1.3-0-g048f581c-arm64-v8a-release.apk
0551b80a2d04150e68e1e923192368a9aa54f83e1715183a8197d9db94bd5219 org.fcitx.fcitx5.android-0.1.3-0-g048f581c-armeabi-v7a-release.apk
21c472bac5ab257a3b67c423725220b2c9c8c3b560acdea1d705ad45021f4fc0 org.fcitx.fcitx5.android-0.1.3-0-g048f581c-x86-release.apk
aaeb569fc3e9e8ec532b0ea33be39ce77b143c8add824d172f17356ddc3b9ed2 org.fcitx.fcitx5.android-0.1.3-0-g048f581c-x86_64-release.apk
ca0696f181763e074b32e0249ed74b021b40fe578dcaa0191808f5239ffceac2 org.fcitx.fcitx5.android.plugin.anthy-0.1.3-0-g048f581c-arm64-v8a-release.apk
cbfea42189ff5e0a6c0bfbbb4ee2f204ec85967a7157f39a28cf636a5f784ec1 org.fcitx.fcitx5.android.plugin.anthy-0.1.3-0-g048f581c-armeabi-v7a-release.apk
c1c0dc65d47e318023e7ee1c076fa4d6cca6cffe0cf0ddc970f46ca2417cc774 org.fcitx.fcitx5.android.plugin.anthy-0.1.3-0-g048f581c-x86-release.apk
549f0e7e591cce7887406aba844e6b6ed6f2dd3c9b73f45b1f7dec7d419e47b0 org.fcitx.fcitx5.android.plugin.anthy-0.1.3-0-g048f581c-x86_64-release.apk
24cd4470bebd0e1ae0e3e89f61674864870318c54650f00884a18e523e3faf96 org.fcitx.fcitx5.android.plugin.chewing-0.1.3-0-g048f581c-arm64-v8a-release.apk
f905fae2245af908096df47810f34fde80c67bc4c19d3396f1da8e935d23b111 org.fcitx.fcitx5.android.plugin.chewing-0.1.3-0-g048f581c-armeabi-v7a-release.apk
2e651db5c51eceae00fcf233a13acabdd988ffedc24ae147edfdcc0e6003b843 org.fcitx.fcitx5.android.plugin.chewing-0.1.3-0-g048f581c-x86-release.apk
3f6ce19d8a2343c1b36282c532aa870f1f28f36165af580a5f1b1e98f4e86f77 org.fcitx.fcitx5.android.plugin.chewing-0.1.3-0-g048f581c-x86_64-release.apk
5afd4002cc9a453bfc60c31555b8cfe9f010e66755ff15e6b1552a2b1d5e02d2 org.fcitx.fcitx5.android.plugin.clipboard_filter-0.1.3-0-g048f581c-release.apk
138b6cd871534f6cd2a2e71757c3a5d3464b839bae3ad66f2cda042711267cf7 org.fcitx.fcitx5.android.plugin.hangul-0.1.3-0-g048f581c-arm64-v8a-release.apk
f25814d330ddba6a0c186b22548ba498bf47d98e953ca31f7629b2574edc5c37 org.fcitx.fcitx5.android.plugin.hangul-0.1.3-0-g048f581c-armeabi-v7a-release.apk
e8a81fc445f442ee4af19680d45c427236057b2692779e272d73d01689b44831 org.fcitx.fcitx5.android.plugin.hangul-0.1.3-0-g048f581c-x86-release.apk
d8e8facd48fd6898e3f0b81723b38a25e94eb8667926ca61f2171ea253460a1b org.fcitx.fcitx5.android.plugin.hangul-0.1.3-0-g048f581c-x86_64-release.apk
50338f5dfcd499417d0d4662215e2b4d35ffc1f506118dd356cb3e2152100f5a org.fcitx.fcitx5.android.plugin.jyutping-0.1.3-0-g048f581c-arm64-v8a-release.apk
2f202984939098f924ccb519535107b628433ab733e82a409ca77224ed9bd780 org.fcitx.fcitx5.android.plugin.jyutping-0.1.3-0-g048f581c-armeabi-v7a-release.apk
e0f1bbb0df113a49b0729087ed7a46cefab06617225a3da4d2f3688c0a5a1b5d org.fcitx.fcitx5.android.plugin.jyutping-0.1.3-0-g048f581c-x86-release.apk
8f8fb8010f251b354fcee4ce6f7c589dc712b9d9f012f7bdac50d4bf35d7d353 org.fcitx.fcitx5.android.plugin.jyutping-0.1.3-0-g048f581c-x86_64-release.apk
2d8d27cd127647fc2e171297d220dd1a6ed6f295a82d047ebbcb882ddd37ca0c org.fcitx.fcitx5.android.plugin.rime-0.1.3-0-g048f581c-arm64-v8a-release.apk
f7b128221c5538e231f681a218d75518ab65636d8d9b75e703b5aaf092208f87 org.fcitx.fcitx5.android.plugin.rime-0.1.3-0-g048f581c-armeabi-v7a-release.apk
d1eb230e164a685ea89d79904e2c10e362dea0bd182808722cf1137c26de71c9 org.fcitx.fcitx5.android.plugin.rime-0.1.3-0-g048f581c-x86-release.apk
4376d2d58978e4a11d73e033ccb9e619a30a8ead75b19c9442d50ae5fd5a4168 org.fcitx.fcitx5.android.plugin.rime-0.1.3-0-g048f581c-x86_64-release.apk
c15ca5468c797ffd2ec7c0eca4a821c656e0439eea25c6ccb87173af5dac617f org.fcitx.fcitx5.android.plugin.sayura-0.1.3-0-g048f581c-arm64-v8a-release.apk
34bb77d6c9d9dad28b168800af6ec685c7c7a1c0ff4abfefdf746c4ad2c833fd org.fcitx.fcitx5.android.plugin.sayura-0.1.3-0-g048f581c-armeabi-v7a-release.apk
8d7e4156a0864bc3d5d00ef0caec3599a7a9b1726b04f984fce4e2612f715525 org.fcitx.fcitx5.android.plugin.sayura-0.1.3-0-g048f581c-x86-release.apk
7a632113552ce9dec907a80aa68da23237a6f617671b84388b45cc92e70111fb org.fcitx.fcitx5.android.plugin.sayura-0.1.3-0-g048f581c-x86_64-release.apk
c3c299a3549e8ff2b4c5aebc6629c4f0f4c10bd351f17d563c983bb64edb30b4 org.fcitx.fcitx5.android.plugin.thai-0.1.3-0-g048f581c-arm64-v8a-release.apk
a0abe714f0908c698b06a51a59c39daf60f00255a5ddecccdcedfb9e8f5da665 org.fcitx.fcitx5.android.plugin.thai-0.1.3-0-g048f581c-armeabi-v7a-release.apk
fcf548f65b9a06a275412e1cfb47319b75ef3198a985ca7ad9ba4baf73251dd6 org.fcitx.fcitx5.android.plugin.thai-0.1.3-0-g048f581c-x86-release.apk
ac716e8894da543c218ba5c3c6c94f47fc9d07cee2d6617f2ba508d34126bc9a org.fcitx.fcitx5.android.plugin.thai-0.1.3-0-g048f581c-x86_64-release.apk
0bd16b664a526673d945ecec4b857389aab69cb5cdabcdcff9696c38083f66de org.fcitx.fcitx5.android.plugin.unikey-0.1.3-0-g048f581c-arm64-v8a-release.apk
976f6c32370556ad20c2a9ad51b408e9388bf934d69f1f0c25467d6beac11946 org.fcitx.fcitx5.android.plugin.unikey-0.1.3-0-g048f581c-armeabi-v7a-release.apk
0b06c285a7a5aa6845f68d1f09cfcac77360c3effca75f7840453d9b3bab94ee org.fcitx.fcitx5.android.plugin.unikey-0.1.3-0-g048f581c-x86-release.apk
e2b7b7edc7e78db0c302fcab6ad4509c7e93a3ec8906e690157deeedd78100af org.fcitx.fcitx5.android.plugin.unikey-0.1.3-0-g048f581c-x86_64-release.apk