Page 1 of 2

Клавиатурный тренажёр KJ|ABuIIIA

Posted: Tue Jul 20, 2010 9:51 pm
by Андрей Михайлович
Дорогие друзья!

Рад сообщить, что разработана альфа-версия новой программы для Колибри ОС - клавиатурного тренажёра KJ|ABuIIIA!

Программа написана на чистом ассемблере :mrgreen:.

Image

Файл с текстами для набора подготавливается в формате KLA. KLA-файл содержит строки для набора, разделённые нулевым символом (байт 0x00). Уроки отделяются один от другого байтом 0xFE (ставится в конце последней строки урока вместо 0x00). Файл должен заканчиваться байтом 0xFF (ставится в конце последней строки последнего урока после 0xFE).
Имя KLA-файла передается программе при запуске в качестве параметра командной строки:
klavisha /rd/1/lessons.kla
При запуске программы без параметра отображаются сведения о программе и инструкция по подключению KLA-файла.

Программа и пример KLA находятся во вложенном архиве :D .

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Wed Jul 21, 2010 12:35 am
by Nasarus
+5. Очень нужная программа для Колибри)
: Теперь СОЛО на клавиатуре отойдет на второй план :D

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Wed Jul 21, 2010 1:09 am
by Rock_maniak_forever
Согласен с товарищем Nasarus. Я тоже давно хотел сделать такую полезную вещь (в нормальном виде), но как всегда нехватает готовых макросов. Сейчас качну. :D

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Wed Jul 21, 2010 7:15 am
by Андрей Михайлович
+5. Очень нужная программа для Колибри)
Оффтопик: Теперь СОЛО на клавиатуре отойдет на второй план
:D . Ну, главная составляющая "СОЛО на клавиатуре" - это разработанный В.В. Шахиджаняном курс из 100 упражнений. Но, оболочка для обучения там, конечно, тоже сделана очень и очень грамотно.
: Хотя мне, например, курс обучения (я говорю о наборе упражнений) "СОЛО на клавиатуре" нравится далеко не во всём (много ненужной "болтовни", дурацкая система оценок как в школе (бррр...) и т.п.). "Оболочка" также содержит ряд ненужных ограничений, например, отсутствие возможности свободного перехода между упражнениями. Но это оффтопик.

А здесь работы ещё непочатый край :mrgreen: ...

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Thu Jul 22, 2010 1:27 am
by Rock_maniak_forever
Андрей Михайлович wrote:Ну, главная составляющая "СОЛО на клавиатуре" - это разработанный В.В. Шахиджаняном курс из 100 упражнений. Но, оболочка для обучения там, конечно, тоже сделана очень и очень грамотно.
: Хотя мне, например, курс обучения (я говорю о наборе упражнений) "СОЛО на клавиатуре" нравится далеко не во всём (много ненужной "болтовни", дурацкая система оценок как в школе (бррр...) и т.п.). "Оболочка" также содержит ряд ненужных ограничений, например, отсутствие возможности свободного перехода между упражнениями. Но это оффтопик.
Ещё есть такая прога, "Typing Reflex" называется. Мне лично очень нравится, там никакой лишней хрени нет, как в "СОЛО на клавиатуре", а самое главное не нужен этот геморный серийник после инсталяции. И как раз можно свободно перемещатся между уровнями.

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Thu Jul 22, 2010 9:13 am
by Albom
как улучшение можно в конце упражнения выводить количество символов в минуту и количество правильных символов в минуту.

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Thu Jul 22, 2010 10:10 pm
by Андрей Михайлович
как улучшение можно в конце упражнения выводить количество символов в минуту и количество правильных символов в минуту.
Albom, хорошая мысль!
Можно даже отображать скорость набора, так сказать, "в реальном времени" (как в том самом многострадальном СОЛО).
В общем, надо этот вопрос продумать...

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Thu Jul 22, 2010 10:18 pm
by Андрей Михайлович
Хорошие новости! Программа обновилась до версии 0.25.

Изменения в KJ|ABuIIIA 0.25:
- Вместо стандартного системного использован крупный шрифт
- Устранено мерцание окна при вводе символов
- Добавлена защита от "битых" (или неправильно подготовленных) KLA-файлов
- Улучшен интерфейс :mrgreen:

Image

Вот теперь, если подготовить учебные KLA-файлы, программу уже действительно можно использовать :) .

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Thu Jul 22, 2010 11:09 pm
by IgorA
т. к. исходных кодов в архиве нет, то интересно узнать следующее :
Андрей Михайлович wrote:- Вместо стандартного системного использован крупный шрифт
как сделан крупный шрифт ?

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Fri Jul 23, 2010 2:47 am
by Nasarus
Один маленький совет) Бинарники лучше паковать KPack'ом. Последнюю версию, например, можно сжать больше, чем в 6 раз.

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Fri Jul 23, 2010 7:08 am
by Андрей Михайлович
Один маленький совет) Бинарники лучше паковать KPack'ом. Последнюю версию, например, можно сжать больше, чем в 6 раз.
Да, да, про Kpack я знаю, исполняемые файлы он сжимает очень хорошо (а здесь он особо хорошо жмёт внедрённый растровый шрифт). Просто промежуточные (альфа, бета) версии программ я KPack'ом не сжимал :) .
т. к. исходных кодов в архиве нет, то интересно узнать следующее :
как сделан крупный шрифт ?
Крупный шрифт сделан так:
1. Был загружен из интернета пакет console-cyrillic_0.9-16_all.deb из репозитария Ubuntu. Архив был распакован.
2. Был загружен пакет утилит console-tools-cyrillic-0.9.tar.gz.
3. С помощью утилиты psf2xbm было получено изображение, содержащее все символы шрифта 866_8x16 в формате xbm
4. С помощью GIMP'a размер изображения был изменён (увеличен вдвое по ширине и высоте). Изображение было сохранено в формате BMP.
5. С помощью самописной утилиты на C# вышеупомянутое изображение было преобразовано в "сырой" формат с глубиной цвета 1 бит (чёрный/белый) для компиляциии в FASM. Этот кусок "сырых" данных был добавлен в исходник:

Code: Select all

...
big_font:
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
...
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
db 0, 0, 63, 252, 63, 252, 192, 3, 192, 3
db 204, 51, 204, 51, 192, 3, 192, 3, 192, 3
db 192, 3, 207, 243, 207, 243, 195, 195, 195, 195
...
6. В программе текст отрисовывается побуквенно с помощью сис. функции 65 как изображение с палитрой с глубиной цвета одно бит. При этом к адресу big_font добавляется смещение, чтобы получить нужный символ (каждый символ описывается 64 байтами). В качестве палитры выбирается нужная в данный конкретный момент (серый/чёрный, серый/тёмно-серый, серый/красный либо серый/зелёный).

P.S.: исходник в текущем виде вложил

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Fri Jul 23, 2010 10:38 am
by Albom
может пригодится моя библиотечка для работы со шрифтами psf?

download/file.php?id=1126

тогда можно будет шрифт задавать в конфигурационном файле...

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Fri Jul 23, 2010 12:25 pm
by Андрей Михайлович
может пригодится моя библиотечка для работы со шрифтами psf?
Хмм.. Интересно! Сейчас скачаю, посмотрю...

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Sat Jul 24, 2010 6:17 pm
by Андрей Михайлович
Очень радостная новость! Программа обновилась!

Изменения в KJ|ABuIIIA 0.9:
- Добавлен "счётчик строк": на экране теперь отображается текущая набираемая строка в упражнении и общее число строк (например, "СТРОКА 1 ИЗ 15")
- Добавлена возможность перезапуска упражнения ("Повторить упражнение") и перезапуска всего учебного курса с первого упражнения ("Начать курс заново")
- Горизонтальный скроллинг набираемой строки: теперь, если строка не входит в окно по горизонтали, она будет сдвигаться (хотя всё же настоятельно рекомендуется в учебных заданиях делать строки длиной не более 38 символов)
- По окончании упражнения выдаётся информация о средней скорости набора
- Окно приложения при запуске теперь отображается по центру экрана при любом разрешении (а не только 800х600)

Image

Исходный код стал выглядеть значительно лучше, некоторые "нестыковки" исправлены, хотя всё ещё остаётся большой простор для его оптимизации.

Re: Клавиатурный тренажёр KJ|ABuIIIA

Posted: Sat Jul 24, 2010 7:33 pm
by Asper
Список обучающих программ пополнился и это хорошо. Так держать! :)