keymanapp / keymanapp/keyman

feat: Predictive Text Dynamic Key Highlighting

Open
#15,825 1 comment 0 reactions 0 assignees View on GitHub
common/ feat
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

### Is your feature request related to a problem? Please describe.

The predictive text feature is highly valuable, however, horizontal space is limited and only a few potential words can be displayed. The feature then is not immediately helpful for inputting less frequent words until a 2nd key is typed. Which next key will lead to potential words may be uncertain to the typist if the typist is unsure of the spelling, or is a 2nd language user with limited vocabulary.

### Describe the solution you'd like

The vocabulary data in the lexical files is sufficient to provide statistics of the most frequent following letters, given the context of the previously typed letters. This data could then be used to assist typist in forming words. For example, if "W" is typed, the next possible keys are "A", "E", "I", "O", "U", "H" and "R". On a touch layout, these keys could be highlighted to assist the typist for what letter should be typed next (the entire key could change tint, or just the border).

Other keys like "B", "K", "S", etc. that are not found in the lexicon after "W" would remain in the regular state, and the typist knows that they are improbable and can instead focus on just on the probable keys. The non-hlghlighted keys can still be typed to support acronyms (like WJLA, a radio station), if the user wishes.

Thus this feature request links the lexicons to the layouts in a practical way to help support correct and faster word composition. It should be a feature that users can toggle off if desired.

### Describe alternatives you've considered

_No response_

### Related issues

_No response_

### Keyman apps

- [x] Keyman for Android
- [x] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [ ] Keyman for Windows
- [ ] Keyman Developer
- [x] KeymanWeb
- [ ] Other - give details at bottom of form

### Keyman version

18.x

### Operating system

Mobile

### Device

Mobile

### Target application

N/A

### Browser

N/A

### Keyboard name

Any

### Keyboard version

N/A

### Language name

Any

### Additional context

While the example is for English language and script where the problem being addressed is not terribly large, it may be a bigger issue for languages with a larger phoneme inventory and larger script to cope with.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.