Expand description
skey-engine — Stateless Vietnamese input method engine.
Letter-based accumulator model for Vietnamese input. Key features:
- Stateless: input string → output string
- Letter struct with variant + tone tracking
- Modifier keys mutate the last vowel in place
- Precomputed UTF-8 tables for output
- Correct tone placement for all diphthong/triphthong cases
Modules§
- charset
- Vietnamese charset conversion.
- engine
- Vietnamese IME engine — Letter-based accumulator model.
Each keystroke produces a
Letterstruct. Modifier keys (w, tone, z) mutate the last matching vowel in place. UTF-8 output via precomputed tables. - spelling
- Vietnamese CVC (Consonant-Vowel-Consonant) spelling validation.
- tables
- Precomposed UTF-8 Vietnamese character lookup tables. tone 0=none, 1=grave, 2=acute, 3=hook, 4=tilde, 5=dot
- vseq
- Vowel sequence table — models Vietnamese vowel clusters for hook/breve transformations (inspired by fcitx5-unikey’s VSeqList).
Structs§
- Skey
Engine - Opaque engine handle — holds only configuration.
Enums§
- Method
- Input method.
Functions§
- skey_
charset_ ⚠decode - skey_
charset_ ⚠encode - skey_
charset_ ⚠free_ buf - skey_
charset_ ⚠remove_ tone - skey_
engine_ ⚠add_ word - skey_
engine_ ⚠clear_ words - skey_
engine_ ⚠dict_ words - All embedded dictionary words joined by ‘\n’ (sorted). Caller frees with skey_free_string().
- skey_
engine_ ⚠free - skey_
engine_ ⚠is_ valid - skey_
engine_ ⚠new - skey_
engine_ ⚠set_ auto_ restore - skey_
engine_ ⚠set_ bracket_ uo - skey_
engine_ ⚠set_ dict - skey_
engine_ ⚠set_ free_ marking - skey_
engine_ ⚠set_ method - skey_
engine_ ⚠set_ short_ w - skey_
engine_ ⚠set_ tone_ style - tone_style: 0=traditional (hoà, thuỷ), 1=modern (hòa, thủy). Default modern.
- skey_
engine_ ⚠transform - skey_
free_ ⚠string