From 82cb07eba238e6ec2136d309829b9c0d4dade979 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Mon, 17 Aug 2026 02:01:02 +0900 Subject: [PATCH] docs: the input modes as they now are, in one piece The paragraphs on candidates, keys, and searches had grown by patches; they read as three: Japanese, Korean, and the searches. --- README.md | 71 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 2072bab..1dfa05c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # strans strans is a small, single-user input method for Korean, Japanese, English, -emoji, and symbols. It provides one engine for IBus, XIM, and GTK 3. -Vietnamese Telex is also available as a compatibility mode. +emoji, and symbols. It provides one engine for IBus (which GTK 4 and +Qt use), XIM, and GTK 3. Vietnamese Telex is also available as a +compatibility mode. ## Input modes @@ -18,38 +19,44 @@ Vietnamese Telex is also available as a compatibility mode. A Korean keyboard's 한/영 key toggles Korean and English, and its 한자 key is `Ctrl+H`; a Japanese keyboard's 半角/全角 toggles Japanese and English, -ひらがな/カタカナ switches between the two kana modes, 変換 turns Japanese on -and then converts like `Space`, and 無変換 turns it off. Only a plain `Ctrl` chord is a strans key: with `Shift`, `Alt`, -or `Super` held it commits what is pending and goes to the application, so -`Ctrl+Shift+V` still pastes. +ひらがな/カタカナ switches between the two kana modes, 変換 turns Japanese +on and then converts like `Space`, and 無変換 turns it off. Only a plain +`Ctrl` chord is a strans key: with `Shift`, `Alt`, or `Super` held it +commits what is pending and goes to the application, so `Ctrl+Shift+V` +still pastes. -A complete Japanese reading shows its Kanji candidates with none chosen. -`Space` or `Tab` chooses the first and then steps on, wrapping (with -`Shift`, back); `Up`/`Down` and `PageUp`/`PageDown` move without wrapping. -An unmodified `1`-`9` commits that row of the current page. `Enter` -commits the chosen candidate, or the reading when none is chosen, as `0` -always does; so does typing on, or any key that ends the composition. -`Backspace` deletes the last kana shown. -Japanese consumes the confirming key; Korean and Vietnamese pass it on to -the application. `Space` adds the reading in Katakana as the last -candidate, so a word the dictionary lacks converts to Katakana with one -`Space`. `Backspace` and `Esc` on a chosen candidate go back to the -reading. In a temporary Emoji or Hanja search, `Enter` or `Space` commits the -highlighted result and `Tab`/`Shift-Tab` wrap through the results. Leaving -the field or clicking elsewhere commits what is pending. `Esc` cancels a -Japanese reading or a search; in Korean and Vietnamese it commits the -syllable and goes on to the application, so it still leaves insert mode. +Hiragana mode composes a complete reading, then shows its Kanji candidates +with none chosen: the exact readings of the dictionary, then the verbs and +adjectives SKK keys by stem and okurigana (かく offers 確 and 書く), and +under `Space` the reading in Katakana last, so a word the dictionary lacks +converts to Katakana with one `Space`. `Space` or `Tab` chooses the first +candidate and then steps on, wrapping (with `Shift`, back); `Up`/`Down` and +`PageUp`/`PageDown` move without wrapping. An unmodified `1`-`9` commits +that row of the current page. `Enter` commits the chosen candidate, or the +reading when none is chosen, as `0` always does; so does typing on, or any +key that ends the composition. `Backspace` deletes the last kana shown; +romaji that made no kana stays in the reading as typed until it is mended. +`Backspace` and `Esc` on a chosen candidate go back to the reading, and +`Esc` on the reading cancels it. Katakana mode does not perform Kanji +conversion. -Hiragana mode composes a complete reading before offering Kanji candidates. -Katakana mode does not perform Kanji conversion. Emoji and Hanja searches -return to the previous mode after use; switching language during a search -commits the shown query; `Esc` in a Hanja search gives the syllable back -to the composition. A search with nothing typed yet shows ☺ or 漢 in the -popup. The Emoji search matches the typed keys, and what -they spell in the current language, against a prefix of every emoji's -CLDR name and keywords in English, Korean, and Japanese, and against ASCII -symbol aliases such as `->` and `<=`. `Ctrl+H` takes the syllable being composed as its -query; the Hanja dictionary lists one modern Hangul syllable at a time. +Korean composes one syllable at a time; `Enter`, `Tab`, `Esc`, and any key +that is not a jamo commit the syllable and go on to the application, so +`Esc` still leaves insert mode. Two lone consonants join into the compound +final they make (rt → ㄳ) and a vowel typed before its consonant is +reordered under it (kr → 가), as in libhangul. + +Emoji and Hanja searches take over the keys until `Enter`, `Space`, or a +digit picks a result or `Esc` cancels; they return to the previous mode +after use, and switching language during a search commits the shown +query. `Tab`/`Shift-Tab` wrap through the results, and a search with +nothing typed yet shows ☺ or 漢 in the popup. The Emoji search matches the +typed keys, and what they spell in the current language, against a prefix +of every emoji's CLDR name and keywords in English, Korean, and Japanese, +and against ASCII symbol aliases such as `->` and `<=`. `Ctrl+H` takes the +syllable being composed as its query and composes on from it; `Esc` gives +the syllable back; the Hanja dictionary lists one modern Hangul syllable at +a time. Leaving the field or clicking elsewhere commits what is pending. ## Preedit and candidates