Форк Klavaro: режим «работа над ошибками» с анализом Парето
Да, я форкнул Klavaro 3.14 и добавил в него режим «работа над ошибками» (error-practice) с анализом Парето. Тренажёр теперь сам записывает каждую ошибку, вычисляет символы, на которые приходится 80% промахов, и генерирует тренировочный текст из реального словаря русского языка, насыщенный именно этими буквами. Форк лежит на GitHub, собрать его на Arch можно за пару минут.
Что за форк и зачем он нужен
Klavaro, свободный клавиатурный тренажёр (GPL v3), лежит в репозиториях Arch как пакет klavaro. Программа честная и удобная, но есть одна дыра: она показывает общий процент ошибок, а не говорит, какие именно символы у тебя не выходят. Я печатаю по-русски, и у меня вечно путались «ц» и «щ», «х» и «ж». Хотелось не гадать, а видеть список своих слабых мест и тренировать их прицельно.
Так появился форк. Он не меняет механику тренажёра, а добавляет слой анализа поверх: статистика по каждому символу, правило Парето 80/20 и отдельный режим урока, который бьёт точно по проблемным буквам. Подробнее про сам Arch и его экосистему можно почитать в обзоре Arch Linux.
Что добавлено в форк
Детальное логирование ошибок
Каждое неверное нажатие записывается в ~/.local/share/klavaro/error_detail_<layout>.log. Для каждого символа хранится: сам символ, его UTF-8 код, сколько раз ошиблись, сколько раз нажали верно, всего попыток и процент ошибок.
Анализ Парето (80/20)
Отдельный файл pareto_analysis_<layout>.log собирает символы, дающие 80% всех ошибок. Идея простая: обычно 20% «плохих» клавиш дают 80% промахов. Вот их и тренируем.
Режим Error Practice
Новая кнопка в главном окне. Режим берёт реальный словарь языка (ru.words) и генерирует текст, отдавая предпочтение словам с проблемными символами из Парето-анализа. Вместо случайных упражнений ты получаешь текст, напичканный именно твоими слабыми буквами.
Фиксы локализации и краша
Добавлен вызов setlocale(). Без него интерфейс всегда был английским, даже при русской системной локали. Теперь меню на русском. Плюс починен краш: раньше режим error-practice падал, если данных об ошибках ещё нет.
Цель 100% вместо заглушки
В статистике режима цель теперь честные 100%, а не заглушка -1%.
Как это работает на практике
Тренируешься как обычно, в любом режиме: Базовый, Адаптируемость, Скорость, Беглость. Ошибки копятся сами. Потом открываешь лог:
$ cat ~/.local/share/klavaro/error_detail_ru.log
Строка выглядит так:
Char UTF8 Wrong Correct Total ErrorRate
ц U+0446 12 3 15 0.8000
То есть «ц» нажали 15 раз, из них 12 мимо, процент ошибок 80%. Дальше смотришь Парето:
$ cat ~/.local/share/klavaro/pareto_analysis_ru.log
Там топ символов с рангами и пометкой, какие входят в 80%. Жмёшь «Error Practice», и тренажёр собирает текст из словаря, где этих букв много. После пары сессий загляни в лог снова: символы, которые перестали быть проблемными, уходят из топа. Прогресс видно по цифрам, а не на глаз.
Как собрать из исходников на Arch
Зависимости: base-devel intltool gtk3 gtkdatabox curl autoconf automake libtool.
git clone https://github.com/ordanax/klavaro-custom
cd klavaro-custom
autoreconf -fi
./configure
make
sudo make install
Запуск: klavaro. Если не хочешь ставить в систему, собери без sudo make install и запускай ./src/klavaro из каталога сборки. Кстати, если предпочитаешь ставить софт из AUR, у нас есть отдельная инструкция по AUR.
Планы и итоги
Что дальше: хочу добавить экспорт статистики по сессиям, чтобы видеть динамику по дням, и, возможно, график прямо в тренажёре. Из готового уже работает главное: прицельная тренировка слабых символов. За месяц использования процент ошибок на «ц» и «щ» у меня заметно упал, и теперь это видно не на глаз, а по логам.
Частые вопросы
Форк заменяет обычный Klavaro?
Нет, это отдельная сборка. Пакет klavaro из репозитория можно не удалять, но запускать лучше форк, он умеет всё то же самое плюс анализ ошибок.
Где хранятся логи?
В ~/.local/share/klavaro/. Если задана переменная $XDG_DATA_HOME, путь берётся от неё.
Режим работает только с русским?
Нет. Словарь берётся по выбранной раскладке, для английского будет en.words. Логи тоже раздельные: error_detail_en.log, error_detail_ru.log и так далее.
Что делать, если режим error-practice не запускается?
Проверь, что есть хотя бы один лог ошибок. Без данных режим теперь не падает, но и текст не соберёт. Сначала потренируйся в обычных режимах.
Заключение
Форк Klavaro с режимом «работа над ошибками» и анализом Парето: это способ перестать гадать, какие клавиши у тебя слабые, и начать тренировать их прицельно. Логирование, правило 80/20, генерация текста из реального словаря, фиксы локализации и краша: всё это уже работает и собрано из исходников на Arch. Код открыт под GPL v3, бери, собирай, дорабатывай. Исходники и историю изменений можно посмотреть на GitHub.
Полезные ресурсы
- Мой форк klavaro-custom, исходники, README, история коммитов
Не получилось? Поможем настроить
Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Комментарии