PolterType is data-driven: adding a language means writing one TOML file and one wordlist — no Rust required. The walkthrough is docs/ADDING_A_LANGUAGE.md.
Bundled today: EN · UK · RU · DE · ES · FR (data/layout-mappings/, data/wordlists/).
Languages people are likely to miss first (claim one in a comment, or just open a PR):
Two paths:
- Try it locally first (no rebuild): drop
<stem>.toml into <config-dir>/poltertype/layouts/ and a wordlist into <config-dir>/poltertype/wordlists/, restart, and watch the log for loaded user layout layout=… keys=….
- Upstream it: the bundled files are copy-paste templates; a PR with the TOML + wordlist (+ a line in the README language list) is all it takes.
Non-obvious bits worth reading in the doc before you start: dead keys are surfaced as their spacing equivalents, and the detector ignores scancodes you don't list — cover the alphanumeric block plus your language's word-boundary punctuation.
PolterType is data-driven: adding a language means writing one TOML file and one wordlist — no Rust required. The walkthrough is docs/ADDING_A_LANGUAGE.md.
Bundled today: EN · UK · RU · DE · ES · FR (
data/layout-mappings/,data/wordlists/).Languages people are likely to miss first (claim one in a comment, or just open a PR):
pl-PL)cs-CZ)el-GR)he-IL)tr-TR)bg-BG)it-IT)pt-PT/pt-BR)Two paths:
<stem>.tomlinto<config-dir>/poltertype/layouts/and a wordlist into<config-dir>/poltertype/wordlists/, restart, and watch the log forloaded user layout layout=… keys=….Non-obvious bits worth reading in the doc before you start: dead keys are surfaced as their spacing equivalents, and the detector ignores scancodes you don't list — cover the alphanumeric block plus your language's word-boundary punctuation.