- приложение перенесено в public/, инструкции в docs/ - Dockerfile (nginx без root-прав), docker-compose.yml с ограничениями - deploy/split-trainer.conf: CSP и заголовки безопасности, no-cache по ETag, /healthz, реальный IP из X-Forwarded-For только от частных сетей, редиректы без внутреннего хоста - deploy/install-debian.sh: установка и обновление без Docker - docs/DEPLOY.md: требования, установка, примеры прокси (nginx, Caddy, Traefik), подпуть Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
114 lines
12 KiB
Markdown
114 lines
12 KiB
Markdown
# Сплит-тренер: как пользоваться
|
||
|
||
## 1. Запуск
|
||
|
||
1. Откройте файл `public/index.html` двойным кликом (лучше в Chrome или Edge). Если приложение установлено на сервере, откройте его адрес в браузере.
|
||
2. Ничего устанавливать не нужно. Интернет не нужен.
|
||
|
||
Прогресс и статистика хранятся в самом браузере. Не переносите папку с приложением в другое место и не меняйте браузер или адрес сайта, иначе прогресс «потеряется» (он привязан к браузеру и адресу).
|
||
|
||
## 2. Главное правило: раскладка Windows
|
||
|
||
Тренер читает те символы, которые выдаёт система. Поэтому перед упражнением включите **ту раскладку, на которой печатаете**:
|
||
|
||
- русский урок: русская раскладка;
|
||
- английский урок: английская.
|
||
|
||
Переключение: `Win + Пробел` или `Alt + Shift`. Если включена не та, сверху появится жёлтая подсказка, ошибкой это не считается.
|
||
|
||
## 3. Как проходит упражнение
|
||
|
||
- Сверху текст, ниже экранная клавиатура. Следующая клавиша подсвечена, рядом написано, каким пальцем её нажимать. Если нужен Shift, подсвечивается Shift **противоположной** руки.
|
||
- Таймер запускается с первой нажатой клавиши.
|
||
- Неверная клавиша не засчитывается: курсор остаётся на месте, ошибка записывается. Нажмите правильную клавишу, чтобы идти дальше.
|
||
- `Esc` начинает упражнение заново.
|
||
- Если включён Caps Lock, тренер предупредит, а не будет считать это ошибками.
|
||
|
||
## 4. Разделы
|
||
|
||
### Уроки
|
||
45 уроков для каждого языка, от простого к сложному. Идти лучше по порядку, но открыть можно любой.
|
||
|
||
| Раздел | Что тренируем |
|
||
|---|---|
|
||
| A. Основной ряд | Исходная позиция, указательные к центру |
|
||
| B. Верхний ряд | Новые буквы по 2–3 за урок |
|
||
| C. Нижний ряд | То же для нижней строки |
|
||
| D. Сплит | Центр на стыке половинок, слова одной рукой, чередование рук, мизинцы и безымянные |
|
||
| E. Слова | Короткие, средние, длинные |
|
||
| F. Заглавные | Работа с Shift |
|
||
| G. Цифры | Ряд цифр, числа, даты, телефоны |
|
||
| H. Знаки препинания | Точка, запятая, `? ! : ; -`, кавычки, скобки |
|
||
| I. Символы | `@ # $ % & * [ ] { }` и код (в русской раскладке: `№ % * ?`) |
|
||
| J. Тексты | Предложения, абзацы, «Марафон» |
|
||
| K. Слои | Только с загруженной раскладкой Vial (см. раздел 6) |
|
||
|
||
**Звёзды:** ★ за точность от 90%; ★★ за точность от 95% и целевую скорость урока; ★★★ за 98% и скорость на 25% выше цели. Кнопка «Продолжить» сверху ведёт к первому непройденному уроку.
|
||
|
||
### Практика
|
||
Собственные упражнения: слова (можно добавить заглавные, цифры, знаки), предложения, абзацы, цифры, символы, режим «Слои» и **свой текст** (вставьте любой, символы, которых нет на раскладке, будут убраны).
|
||
|
||
### Статистика
|
||
- скорость, точность, время, рекорды, графики по последним упражнениям;
|
||
- **карта клавиш**: красным отмечены клавиши с ошибками (или медленные, если переключить);
|
||
- кнопка **«Тренировать слабые клавиши»**: тренер соберёт текст из ваших проблемных букв (нужно хотя бы несколько упражнений).
|
||
|
||
### Настройки
|
||
Тема, экранная клавиатура вкл/выкл, цвета пальцев, вид клавиатуры (со сдвигом или ортолинейная), размер текста, звук ошибки.
|
||
|
||
## 5. Что означают цифры в результате
|
||
|
||
- **Скорость** в знаках в минуту (зн/мин). Слов в минуту = зн/мин ÷ 5.
|
||
- **Точность**: доля верных нажатий среди всех нажатий.
|
||
- **Ровность ритма**: насколько ровные паузы между клавишами. Рваный ритм показывает места, которые пальцы ещё не выучили.
|
||
- **Самые медленные клавиши** и **путаница** («нужно Ф, нажато Ы») подсказывают, что повторять.
|
||
|
||
## 6. Ваша клавиатура из Vial и слои
|
||
|
||
### Загрузка раскладки
|
||
1. В программе **Vial**: меню **File → Save current layout**, получится файл `.vil`.
|
||
2. В тренере откройте раздел **Клавиатура**, выберите файл или перетащите его в окно.
|
||
3. Проверьте, что слои распознаны. Слои можно переименовать (файл их названий не хранит).
|
||
|
||
Настройки на этой странице:
|
||
- **Использовать в тренировках**: экранная клавиатура рисуется по вашему файлу.
|
||
- **Расположение клавиш**: «Две половинки» (по умолчанию) или «Один блок», если у вашей модели матрица устроена иначе и схема выглядит неправильно.
|
||
- **Слой с цифрами**: какой слой тренер будет просить использовать для цифр и символов. По умолчанию определяется сам.
|
||
|
||
### Тренировка со слоями
|
||
- Уроки раздела **К** в списке уроков и режим **Практика → «Слои: текст, числа и формулы»**.
|
||
- Над клавиатурой видна полоска слоёв: сплошным закрашен слой, на котором тренер **считает**, что вы сейчас, а жёлтой рамкой отмечен нужный для следующего символа.
|
||
- Если нужно переключить слой, в подсказке написано действие (например, «Включите слой «Цифры»: TG(1)»), а нужная клавиша слоя мигает жёлтым. Дальше подсвечена сама клавиша символа на нужном слое.
|
||
- Уроки специально заставляют переключаться: цифры и символы нужно набирать через слой «Цифры», хотя на базовом слое есть цифровой ряд. В английских уроках есть символы `[ ] { } \ | = ~`, которых на базовом слое нет.
|
||
- В результатах появляется блок **«Переключение слоёв»**: число переключений и «цена переключения» (на сколько миллисекунд дольше символ сразу после смены слоя). Её и нужно сокращать.
|
||
|
||
### Важно знать
|
||
- Нажатия клавиш слоёв (`TG`, `MO` и т. п.) обрабатывает прошивка клавиатуры, до тренера они **не доходят**. Тренер проверяет только набранные символы, а выполнение подсказок по слоям остаётся на вас.
|
||
- Если вы оказались на другом слое, чем думает тренер, нажмите на нужный слой над клавиатурой, и маршрут пересчитается.
|
||
- Для цифрового блока (`KP_*`) в системе должен быть включён NumLock.
|
||
|
||
## 7. Как заниматься
|
||
|
||
- Лучше **20 минут каждый день**, чем 2 часа раз в неделю.
|
||
- **Точность важнее скорости**: печатайте медленнее, чем хочется. Скорость придёт, когда пальцы запомнят путь.
|
||
- Если на уроке меньше ★: повторите его, а не переходите дальше.
|
||
- Раз в неделю заглядывайте в «Статистику» и запускайте **слабые клавиши**.
|
||
- Не смотрите на клавиши клавиатуры: подсказки на экране для этого и сделаны. Когда освоитесь, экранную клавиатуру можно выключить в «Настройках».
|
||
|
||
## 8. Если что-то не так
|
||
|
||
| Проблема | Что делать |
|
||
|---|---|
|
||
| Жёлтая подсказка про раскладку | Переключите раскладку Windows на нужный язык |
|
||
| Подсказка про Caps Lock | Выключите Caps Lock |
|
||
| Клавиши не реагируют | Кликните по странице: фокус должен быть в окне приложения, а не в адресной строке |
|
||
| Уроки К закрыты замком | Загрузите файл `.vil` в разделе «Клавиатура» и включите «Использовать в тренировках» |
|
||
| Схема клавиатуры выглядит неправильно | В «Клавиатура → Расположение клавиш» выберите «Один блок» |
|
||
| «Этого символа нет на вашей раскладке» | Такой символ нельзя набрать на вашей клавиатуре; добавьте его в Vial или пропустите упражнение |
|
||
| Прогресс пропал | Он хранится в браузере: проверьте, тем ли браузером и тем же файлом вы пользуетесь |
|
||
| Нужно всё обнулить | «Статистика» → «Сбросить все данные» |
|
||
|
||
## 9. Файлы приложения
|
||
|
||
В папке `public/`: `index.html` (запуск), `app.js` (логика), `vial.js` (чтение Vial и маршруты по слоям), `data.js` (раскладки, слова и тексты упражнений), `styles.css` (оформление). Слова и предложения для упражнений можно править в `data.js`. Установка на сервер описана в `docs/DEPLOY.md`.
|