LINUX.ORG.RU

Typetrainer 0.3 — нескучный клавиатурный тренажер

 , , клавиатурный тренажер


2

5

Основная проблема почти всех программ этой тематики — монотонные, однообразные упражнения, поэтому мотивация освоения слепой печати у учащегося быстро сходит на нет и он возвращается к своим любимым четырем пальцам, полагая, что для достижения слепых 200-250 символов в минуту, ему надо приложить изрядные усилия и оно того не стоит.

Тренажер, в котором эта проблема успешно решена — VerseQ, который приспосабливается к навыкам ученика, предлагая сразу всю клавиатуру для изучения, следит за ошибками и увеличивая частоту появления проблемных мест. За ним действительно приятно и удобно учиться. Правда он проприетарный и под оффтопик. Поэтому я решил написать аналог, за неимением такового для линукса.

Фичи typetrainer'a:

  • Упражнения генерируются на основе переданного файла с текстом (я использую фортунки).
  • Возможность исправлять набранный текст, что дает ученику реальную стоимость использования Backspace и мотивирует его печатать без ошибок.
  • Текст упражнений зависит от ошибок набора. Причем учитываются сочетания букв. Например если вы путаете uo, io, er, то вероятность их появления в следующей строке повысится. Это позволяет лучше проработать именно ваши проблемы.
  • При генерации заданий учитываются также ритмические ошибки, для работы над медленными сочетаниями.
  • Может использоваться для обучения почти любой раскладке.
  • Экранная клавиатура с зонами пальцев.

И немножко про свои достижения. За неделю с хвостиком, пока писалась программа, я поднял скорость со 150 до 230 на генераторе 'en.basic'. Занимался по 10-20 минут в день.

Исходный код и багтреккер.

>>> Инструкция по установке/использованию и скриншот

★★★

Проверено: Shaman007 ()
Последнее исправление: baverman (всего исправлений: 1)

> нескучный
Принципиально новые обои? ;)

--
просто к слову придрался

Tanger ★★★★★
()
Ответ на: комментарий от baverman

> ДВОЙНОЙ ПРОБЕЛ

Извиняюсь, если уже писали (весь тред не читал), но в сабжевой проге тоже пару раз двойные пробелы проскакивали (:

pevzi ★★★★★
()

Учился по чатам, скорость в 200-250 считаю смешной. Стоящие результаты начинаются с 400.
Но программы типа солонаклавиатуре действительно скучны, сам на клавогонках.ру прокачался с 370 до 570 (средняя - 450).

anonymous
()
Ответ на: комментарий от anonymous

> matplotlib одним плох — тормоз лютый

Фиксед.

pevzi ★★★★★
()
Ответ на: комментарий от anonymous

Кстати да, клавогонки довольно веселая штука (: сейчас заезд сделал — 344 получилось.

pevzi ★★★★★
()
Ответ на: комментарий от devnullopers

а за донат?

Слишком много мороки. Поставь лучше VerseQ, мой батя на демо версии уже месяц тренируется и вполне доволен.

baverman ★★★
() автор топика
Ответ на: комментарий от pevzi

но в сабжевой проге тоже пару раз двойные пробелы проскакивали

В гите уже пофикшено. Сейчас пилю ui и локализацию. Часа через три выложу новую версию на pypi.

baverman ★★★
() автор топика

И вопрос, есть ли возможность в отдельных файлах (или в отдельном файле конфигурации) описать альтернативные раскладки, как то умершая раскладка Богачева, «Диктор», Dvorak, Colemak, «своя раскладка»?

atommixz
()
Ответ на: комментарий от atommixz

есть ли возможность в отдельных файлах (или в отдельном файле конфигурации) описать альтернативные раскладки

В вопросах раскладки я полностью полагаюсь на OS. Если в иксах настроить дворак, то и программа должна показать соответствующую клавиатуру.

baverman ★★★
() автор топика
Ответ на: комментарий от Nxx

Нескучный - там что, порнуха есть?

Home private video дениски, ага.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

а ну тогда нормально, свою раскладку туда добавить можно, делал как то это

atommixz
()

Так и не понял, как это поставить. На всю систему ставить не хочу. Можно в корень директории положить файл с +x который можно было бы запускать как cd typetrainer-0.3.x ; ./typetrainer и сразу бы запускалось?

Xenius ★★★★★
()

Спасибо, пополнил свою коллекцию тренажеров. А то более десяти лет не расстаюсь с компьютером, а стыдно признаться - ещё не полностью знаю расположение клавиш, временами подглядываю, как лузер какой-то. Пару книг по этому делу есть, и несколько тренажёров-а всё равно не помню расположение клавиш, и всё.

lucentcode ★★★★★
()

А как-нибудь быстро запустить это не прибегая к помощи фанатских костылей, стремящихся взять на себя функции системного пакетного менеджера, можно? «наберите в cabal», «поставьте через asdf-install», «загрузите в ваш emacs» - сколько уже можно юродствовать?

Minoru ★★★
()

При каждом нажатии плюется в консоль:

Traceback (most recent call last): File «/home/amix/.local/lib/python2.6/site-packages/typetrainer/ui/main.py», line 79, in on_type_entry_changed if c != self.totype_text[i]: AttributeError: 'Main' object has no attribute 'totype_text'

Изображения клавиш подсвечиваются корректно, хотя не вижу никаких намеков на проверку правильности. В код лезть лень.

(пакет взят с pypi)

amix ★★★
()
Ответ на: комментарий от amix

Кстати, в Dvorak for programmers (-variant dvp) клавиши немного иначе распределены между пальцами (не совсем по диагонали). Неплохо бы учесть. Хотя приятно, что программа сразу правильно подхватила активную раскладку.

amix ★★★
()

Traceback (most recent call last):
File «/usr/local/bin/typetrainer», line 9, in <module>
load_entry_point('typetrainer==0.3.1', 'gui_scripts', 'typetrainer')()
File «/usr/local/lib/python2.6/dist-packages/typetrainer/run.py», line 29, in run
filler = get_filler(options.tutor, args[0])
File «/usr/local/lib/python2.6/dist-packages/typetrainer/run.py», line 25, in get_filler
return pkg.get_filler(open(filename).read().decode('utf-8'), None)
File «/usr/lib/python2.6/encodings/utf_8.py», line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 4: invalid continuation byte

Vanuan
()
Ответ на: комментарий от Xenius

Так и не понял, как это поставить.

Добавил в пакет скрипт для запуска (./run.py). То есть просто распаковываем. И можно прямо из этой диры запускать. ВАЖНО: текущая папка должна содержать run.py.

baverman ★★★
() автор топика
Ответ на: комментарий от Minoru

А как-нибудь быстро запустить это не прибегая к помощи фанатских костылей.

Качаем версию 0.4, распаковываем и ./run.py

baverman ★★★
() автор топика
Ответ на: комментарий от amix

При каждом нажатии плюется в консоль:

Пофикшено в версии 0.4

Кстати, в Dvorak for programmers (-variant dvp) клавиши немного иначе распределены между пальцами

Добавил описание зон для этой раскладки, выбирается через правый клик по окну.

baverman ★★★
() автор топика

> я решил написать аналог, за неимением такового для линукса

Ъ

Igron ★★★★★
()
Ответ на: комментарий от Sadler

Поэтому я считаю, что нужно брать большой текст, анализировать его части на факт преобладания отдельных сочетаний, затем отдавать юзеру нужные части текста в зависимости от его навыков.

На клавогонках выкладывали статистику буквосочетаний.

anonymous
()
Ответ на: комментарий от anonymous

> На клавогонках выкладывали статистику буквосочетаний.

Чьих? Алгоритм должен быть адаптивен - на каких сочетаниях конкретный человек ошибается, те и тренировать больше.

Sadler ★★★
()
Ответ на: комментарий от TheAnonymous

1. большие буквы, цифры

Ok.

2. метроном

Очень много кода и зависимостей. Тем более метрономов очень много, я использую консольный ctronome.

3. использовать моношрифт (если ошибки, то всё съезжает)

Начиная с версии 0.4 можно поправить шрифт в конфиге ~/.local/typetrainer/config, он создастся после первого запуска.

4. нескучные обои

Это уже попахивает комбайном.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

попробовал. Так понимаю, что между строкой и клавиатурой слева буквы, в которых больше ошибался и которых в упражнении больше теперь, а справа скорость и количество неисправленных опечаток?

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

слева буквы, в которых больше ошибался и которых в упражнении больше теперь, а справа скорость и количество неисправленных опечаток?

Верно.

baverman ★★★
() автор топика

скачал последний git, пробую... Пока нравится :) надо будет у себя обзор запостить...

vovans ★★★★★
()
Ответ на: комментарий от vovans

не нравится пока то, что кусочки текста маленькие и в конце каждого надо тыкать энтер :( если бы, набрав строку, появлялась бы новая... не лучше ли было бы?

vovans ★★★★★
()
Ответ на: комментарий от baverman

По легкому не знаю. Можно в свой хомяк:


проще всего установить в virtualenv :

#!/bin/sh
python -murllib http://tinyurl.com/488w2py | python - ~/opt/tt
~/opt/tt/bin/pip install typetrainer
~/opt/tt/bin/typetrainer

в typetrainer/i18n/ru.po очепятка в слове «Щелкините», которая просачивается в упражнение — нет ничего хуже, чем довести до автоматизма печать слова с ошибкой. :)

Lucky ★★
()
Ответ на: комментарий от vovans

если бы, набрав строку, появлялась бы новая... не лучше ли было бы?

Я все-таки программист и разработать мизинец для энтера, достаточно полезная штука. Опять таки аськочаты. Консоль. Да и в обычных текстовых редакторах пригодится. Я думаю нажатие ввода плохо из-за своей неинтуитивности, в интерфейсе это нигде не обозначено.

Хотя проблем сделать настройку никаких нет. К 0.5 будет.

baverman ★★★
() автор топика
Ответ на: комментарий от Lucky

в typetrainer/i18n/ru.po очепятка в слове «Щелкините»

OH SHI-, спасибо за бдительность.

baverman ★★★
() автор топика
Ответ на: комментарий от muhas

а ру.адванцед так и нету :(

К следующим выходным будет. Планирую немного переделать генераторы, чтоб пользователь мог сам варьировать состав упражнений. Например только строчные и цифры или строчные и знаки препинания.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

да я тоже подумал про аськи/джабберы... Но почему-то этот эентер раздражает именно тут... не знаю почему... Может, потому что строки такие коротенькие... Но в джаббере они ещё короче обычно :) хз, в общем :) ждём 0,5

vovans ★★★★★
()

> Тренажер, в котором эта проблема успешно решена — VerseQ, который приспосабливается к навыкам ученика

Котором, который - в одном предложении. Нехорошо :) лучше избегать таких ситуаций :)

vovans ★★★★★
()
Ответ на: комментарий от baverman

да, и вот вопрос - ошибки таки лучше сразу править или оставлять как есть? Сколько не пробовал, не могу... пока подумаю, а палец уже сам брекспейс нажал )) это плохо или всё равно?

vovans ★★★★★
()
Ответ на: комментарий от vovans

просто, получается, что ошибки не учитываются, если я правлю, так ведь? И никакой работы над ними, соответственно, нет, как я понимаю...

vovans ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.