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

Кстати да, клавогонки довольно веселая штука (: сейчас заезд сделал — 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
() автор топика
Ответ на: комментарий от 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.