Zh: Discussion about the implementation of Chinese settings#2055
Draft
AstroNot233 wants to merge 82 commits into
Draft
Zh: Discussion about the implementation of Chinese settings#2055AstroNot233 wants to merge 82 commits into
AstroNot233 wants to merge 82 commits into
Conversation
Chinese See merge request keyboard/latinime!17
Signed-off-by: Aleksandras Kostarevas <alex@futo.org>
Signed-off-by: Aleksandras Kostarevas <alex@futo.org>
Signed-off-by: Aleksandras Kostarevas <alex@futo.org>
Changes as soon as a key is pressed, so that the user can use it before lifting the finger and avoid accidental langauge switches
We can't be sure that the user dictionary hasn't been modified in the time that our service wasn't running
Signed-off-by: Aleksandras Kostarevas <alex@futo.org>
Co-authored-by: slipstyle <102705917+slipstyle@users.noreply.github.com>
Co-authored-by: Aleksandras Kostarevas <alex@futo.org>
Since it automatically overrides the input connection and displays the keyboard, it makes sense to autofocus by default so we see the caret
Allow keys to visually and functionally span multiple rows by adding a rowSpan attribute. The layout engine accumulates row heights for spanning keys, sets a heightOverride, and converts overlapping entries in subsequent rows to gaps. The clampHeight logic is adjusted to account for multi-row keys so they aren't incorrectly shrunk. This is needed for the ClearFlow layout where space keys on each side should span two adjacent letter rows as single tall keys.
Add supportsSplit property to Keyboard data class. When false, the Split button is hidden from the mode selector UI and the layout engine falls back to Regular mode if split was previously active. This prevents broken rendering for layouts like ClearFlow whose rows don't split cleanly.
Swap outer functional keys (shift, backspace, action) between left and right sides when the keyboard is in left-handed one-hand mode. Inner letter keys remain in their original order. Layouts opt in via the mirrorInOneHanded YAML property.
Swipe library integration See merge request keyboard/latinime!18
…tion GUI tools to settings. Now the implementations of Rime engine and settings GUI are unbound.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
** This is a Draft Pull Request looking for discussion on the implementation of Chinese. **
This PR moves ChineseIME settings to
uix/settings/pages/langspecific/zh/and separates engine logic from configuration.Current state:
ChineseIME.ktis now a pure engine, without handling any config file.RimeSettings.kt(an object) manages engine-wide settings and generates/overwritesdefault.yaml.PinyinSettings.ktwill manage pinyin-specific settings(in progress).ZhuyinSettings.ktwill be similar to Pinyin, and will be concerned after Pinyin being confirmed to work well.I met some issues when implementing them, especially RimeSettings.kt (marked with TODO).
There are several questions bothering me:
fun generateDefaultYaml()is called in composition. This may cause unnecessary file rewrite and rime redeploy.I have tested that it can generate the valid yaml as expected. So after fixing these issues, it should be able to work well and provide a template for Pinyin and Zhuyin, etc.