# Keyman-проект эрзянской клавиатуры (самосбор, без разработчика)

Это исходники для сборки клавиатуры в **Keyman Developer** (бесплатно, Windows). Результат — пакет
`.kmp`, который ставится в приложение **Keyman** на Android и iOS. Подробности подхода — в
[`../NO-DEV-PLAN.md`](../NO-DEV-PLAN.md).

## Что здесь
- `wordlist/erzya.tsv` — список слов (138 193 формы) `word⇥count` для лексической модели (подсказки).
- `model/erzya.model.ts` — лексическая модель. **Главное:** `searchTermToKey` сворачивает диакритику,
  поэтому плоский ввод `melse` находит `meľsë` (наш диакритик-фолдинг в подсказках).
- `keyboard/erzya.kmn` — клавиатура: постфикс-ввод 16 букв (буква + `'`=акут, `=`=гачек, `"`=умляут;
  как на десктопе и в макросе). Сгенерировано из `keymap.json`.
- `build_keyman.py` — регенерация wordlist + .kmn из наших данных.

## Сборка — лексическая модель (подсказки с восстановлением диакритики)
1. Установи **Keyman Developer** (keyman.com/developer, бесплатно, Windows).
2. **File → New Project → Lexical Model.** Заполни: язык **Erzya**, код **`myv`**; id модели, напр.
   `valks.myv.erzya`.
3. В созданный проект положи наш `wordlist/erzya.tsv` и замени содержимое сгенерированного
   `*.model.ts` на наш `model/erzya.model.ts` (выправь путь `sources`, если структура отличается).
4. **Compile** (build). Открой вкладку тестирования модели и проверь свёртку: набери `melse` →
   ожидаем подсказку **meľsë**; `sumbra`→**šumbra**; `vir`→**viŕ**. Если всплывают — фолдинг работает.

> Большой словарь (138k) компилируется в модель на несколько МБ — это нормально. Для первой быстрой
> проверки можно временно урезать `erzya.tsv` до пары тысяч строк.

## Сборка — клавиатура (ввод букв)
5. **File → New Project → Keyboard** (или добавь существующий `keyboard/erzya.kmn`). Постфикс-правила
   уже дают ввод: `s'`→ś, `s=`→š, `a"`→ä и т. д.
6. (Сенсорная раскладка) В редакторе touch-layout расставь клавиши; по желанию добавь **долгое
   нажатие** (sub-keys) на базовых буквах для прямого ввода 16 особых букв. За основу можно взять
   латинскую раскладку.
7. Привяжи **язык клавиатуры = `myv`**, тот же, что у лексической модели, — тогда в клавиатуре
   появятся подсказки из модели.
8. **Build package** → получишь `.kmp`.

## Установка на телефон (без Google Play/Apple-аккаунта)
9. Поставь приложение **Keyman** (Google Play / App Store).
10. Открой на телефоне файл `.kmp` (через облако/почту/USB) → установятся и клавиатура, и подсказки.
    Альтернатива — отправить пакет в репозиторий **keyman.com** (бесплатный хостинг SIL): тогда
    пользователи ставят его из приложения Keyman в пару тапов.

## Проверка на телефоне
Набери плоско `melse` → в подсказке должно быть `meľsë`. Это и есть наш UX «печатаешь упрощённо —
получаешь орфографию», теперь на твоём телефоне, без разработчика.

## Честные оговорки
- Свайпа (glide) в Keyman нет — будет tap + подсказки.
- Сенсорную раскладку, скорее всего, придётся слегка довести в визуальном редакторе (её я собрать/
  протестировать удалённо не могу; постфикс-правила и модель — собраны корректно из наших данных).
- FST-формы в словаре стоит выверить носителем (общая QA, см. `../fst/README.md`).
