Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Форк 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.

Полезные ресурсы



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max