Skip to content

Offer Thai as an install-time keyboard choice - #9358

Open
kengggg wants to merge 2 commits into
omacom:quattrofrom
kengggg:feature/thai-install-keyboard
Open

Offer Thai as an install-time keyboard choice#9358
kengggg wants to merge 2 commits into
omacom:quattrofrom
kengggg:feature/thai-install-keyboard

Conversation

@kengggg

@kengggg kengggg commented Aug 31, 2026

Copy link
Copy Markdown

Thai is missing from the install-time keyboard picker because the list maps labels to console keymaps and kbd ships no Thai map. Thai typing is still a normal XKB layout (th, Kedmanee by default) — not an IME — and Hyprland already knows what to do with XKBLAYOUT=th: default/hypr/input.lua prefixes us, for non-Latin layouts (Thai is already on that list) and adds grp:alts_toggle.

Selecting Thai (Kedmanee) now persists KEYMAP=us and XKBLAYOUT=th. The console, LUKS prompt, and login password stay Latin. The first session comes up us,th with Left Alt + Right Alt to switch. Caps Lock stays compose.

apply_keyboard in omarchy-provision-owner keeps its existing loadkeys / systemd-firstboot / localectl path. Thai is an extra branch: reuse apply_keyboard us, then omarchy_write_xkblayout. XKB-only picker values are named in OMARCHY_XKB_ONLY_LAYOUTS in setup-form.sh so the ISO configurator can persist them the same way.

Companion: omacom/omarchy-iso#141. Without it, configure_keyboard rejects th and a fresh ISO install stays US. First-boot owner setup on an already-installed machine uses this package alone.

Not in this PR: post-install wizard, Pattachote/Manoonchai, fcitx5, Thai UI locale.

Related: #8050, #7677. Same installer hole as #9299, but Thai is xkb rather than an IME.

Testing

  • test/shell.d/setup-form-test.sh — picker maps Thai (Kedmanee) → th; German still → de; English (US) still leads
  • test/shell.d/apply-keyboard-test.sh — original persist path still present; omarchy_write_xkblayout rewrites only XKBLAYOUT; that vconsole duals as us,th in default/hypr/input.lua
  • test/shell.d/hyprland-keyboard-layout-test.shXKBLAYOUT=thus,th

kbd ships no Thai console keymap, so the picker could not offer it. Add Thai (Kedmanee) as an XKB-only layout: persist KEYMAP=us and XKBLAYOUT=th so Hyprland duals us,th while passwords and LUKS stay Latin.
Thai is an added branch: persist us with the existing loadkeys/systemd-firstboot/localectl body, then write XKBLAYOUT. Do not relocate that body into setup-form.sh.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant