Слепая печать:
  Championship-Ru
  Championship-En
Список форумов urikor.net urikor.net
Все о слепой машинописи и клавиатурных тренажерах
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Это надо видеть
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов urikor.net -> Слепая машинопись
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mikhail Portnov
senior lieutenant
senior lieutenant


Зарегистрирован: 22.06.2006
Сообщения: 206
Откуда: Silicon Valley, CA

СообщениеДобавлено: Чт Май 12, 2011 12:37 am    Заголовок сообщения: Это надо видеть Ответить с цитатой

1. Вдруг, нарыл на просторах сети фильм "Куда Исчезают Барьеры", снятый о человеке, под чьим началом мы с г. Ходыкиным начали заниматься машинописью.

http://video.mail.ru/list/petrus/35/139.html

Это очень занимательное кино. Вот от этого мы оттолкнулись в свое время и сказали, что надо искать другой путь.

2. Я каким-то неисповедимым путем пришел к тому, что надо, наконец, запрограммироавть нашу с Ходыкиным методу под авторским надзором. Бюджет, пусть и скромный, есть. Более того, я могу пригласить и сделать визу в США до полутора лет человеку, который возьмется за кодировку. Занимает 2-3 месяца.

Поэтому и вопрос - есть желающие? Условия мы отдельно обсудим.

3. Ну, и, раз такая чехарда началась, то я сделал блог на эту тему, куда всех приглашаю и почитать и высказаться - http://sniperkey.blogspot.com/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 9:10 am    Заголовок сообщения: Ответить с цитатой

Будет здорово, если у Вас всё получится. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikhail Portnov
senior lieutenant
senior lieutenant


Зарегистрирован: 22.06.2006
Сообщения: 206
Откуда: Silicon Valley, CA

СообщениеДобавлено: Чт Май 12, 2011 9:32 am    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Будет здорово, если у Вас всё получится. Smile

Обязательно получится. Просто мне хотелось пригласить кого-то с форума на этот проект, кто имеет опыт написания клавиатурных тренажеров. Чтобы велосипед не изобретать. Можно из дома, можно к нам приехать в Силиконовую Долину, если хочется мир посмотреть.

Я, конечно, считаю, что лучше чтобы программист был рядом с методистом. Но, досточно открыт к разным вариантам.

Тренажер будет распространяться бесплатно, shareware
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 9:32 am    Заголовок сообщения: Ответить с цитатой

Я не прочь помочь в пределах моих возможностей и свободного времени.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 10:29 am    Заголовок сообщения: Ответить с цитатой

А точно непременно надо делать новую программу?
Если делать новую, она должна работать во всех распространенных системах, а не только в Windows.
Или может быть вообще стоит сделать веб-приложение?
Я многие упражнения из методички в gtypist уже зарядил. Хотя этот тренажёр страшный, как ядерная война, и кроме меня, им почти никто не пользуется.
У меня есть скрипты — генераторы криптограмм, словарных упражнений, etc.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 10:50 am    Заголовок сообщения: Ответить с цитатой

Я тут подумал и пришёл к выводу, что веб-приложение — это самое то. Централизованный контроль за приложением (можно легко вносить изменения в приложение и не париться с обновлениями), пользователям не нужно ничего устанавливать на свои компьютеры (сейчас у многих как минимум личный ноут и десктоп плюс компьютер на работе), заморачиваться синхронизацией личной статистики. Разработчиков веб-приложений сейчас пруд пруди, в этом плане тоже плюс.
Мне кажется, этот вариант будет быстрее, дешевле и сердитее. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Марусяк Валерий
Подполковник
Подполковник


Зарегистрирован: 11.08.2008
Сообщения: 1001

СообщениеДобавлено: Чт Май 12, 2011 11:32 am    Заголовок сообщения: Ответить с цитатой

А, может быть, есть смысл реализовать при помощи системы авторских словарей на клавогонках? Система мощная, удобная и раскрученная - пользователи набегут сразу же Smile.
_________________
http://mars-tt.net - тренажер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 12:15 pm    Заголовок сообщения: Ответить с цитатой

Они набегут на словари, а методика останется на обочине.
Методичка — это же не только набор упражнений. Кстати, в gtypist’е можно уроки делать с теорией, практикой, порогом ошибок для перехода к следующему уроку и т. п.
Если бы на Клавогонках сделали раздел для обучения с нужным функционалом, вот это было бы здорово.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Марусяк Валерий
Подполковник
Подполковник


Зарегистрирован: 11.08.2008
Сообщения: 1001

СообщениеДобавлено: Чт Май 12, 2011 1:30 pm    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Они набегут на словари, а методика останется на обочине.
Методичка — это же не только набор упражнений. Кстати, в gtypist’е можно уроки делать с теорией, практикой, порогом ошибок для перехода к следующему уроку и т. п.
Если бы на Клавогонках сделали раздел для обучения с нужным функционалом, вот это было бы здорово.
На Клавогонках можно создать отдельную тему, в которой объяснить методику и дать ссылки на созданные словари. Кто посчитает нужным следовать методике, будет ей следовать. Кто не посчитает - просто ознакомится с ней Smile. То есть, на Клавогонках можно попытаться реализовать открытый вариант методики - для людей, которые добровольно соблюдают правила игры. Такие люди есть вообще-то Smile. А для закрытого варианта, с жестким контролем перехода к следующему уровню и выполнением прочих обязательных требований, конечно, Клавогонки не подходят.
_________________
http://mars-tt.net - тренажер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 1:54 pm    Заголовок сообщения: Ответить с цитатой

Тогда можно просто ссылку на методичку дать. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Марусяк Валерий
Подполковник
Подполковник


Зарегистрирован: 11.08.2008
Сообщения: 1001

СообщениеДобавлено: Чт Май 12, 2011 4:14 pm    Заголовок сообщения: Ответить с цитатой

Открытой или закрытой быть системе - решать Михаилу Smile. Лично я в последнее время больше склоняюсь в пользу открытых. Человек пришел, все сразу увидел и принял решение на основе своего личного опыта - надо ему это или нет.
_________________
http://mars-tt.net - тренажер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mikhail Portnov
senior lieutenant
senior lieutenant


Зарегистрирован: 22.06.2006
Сообщения: 206
Откуда: Silicon Valley, CA

СообщениеДобавлено: Чт Май 12, 2011 6:40 pm    Заголовок сообщения: Ответить с цитатой

Я вижу тренажер максимально открытым. Есть опция передачи контроля (выбора упражнений) системе. Есть самостоятельного прохождения. Я бы даже дал возможность пользователям создавать свои упражнения и делать их частью системы.

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

И супер-сложный момент: надо во время работы на клавиатуре измерять и укладывать в массив для последующей обработки временные интервалы между ударами по клавишам с максимальной точностью. Я не думаю, что можно такое сделать в виде веб-приложения. Какой-то агент должен бегать под операционной системой непосредственно. Нам это нужно для измерения параметров "пакетности" навыка.

А изучение клавиатуры можно, конечно, и как веб-приложение сделать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Чт Май 12, 2011 7:18 pm    Заголовок сообщения: Ответить с цитатой

«Толстое» приложение прибитое гвоздями к Windows — это плохо. Человек завтра купит себе Мак или поставит Линукс и будет караул кричать. Надо сразу сделать без привязки к конкретной ОС, на Джаве, что ли, я не знаю...
Вообще, у меня давно была идея сделать свой тренажёр с блэкджеком и прочими радостями на движке Эклипса.

А по поводу подробной статистики набора надо Fil’а уговорить переделать свою Typing Statistics в библиотеку или хотя бы раскрыть свои секреты. Smile


Последний раз редактировалось: myst (Пт Май 13, 2011 6:57 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Марусяк Валерий
Подполковник
Подполковник


Зарегистрирован: 11.08.2008
Сообщения: 1001

СообщениеДобавлено: Чт Май 12, 2011 7:56 pm    Заголовок сообщения: Ответить с цитатой

Я не большой спец, но полагаю, что современное веб-приложение вполне справится с подсчетом временных промежутков между нажатиями клавиш заданной точности и их сохранением в массив данных. А затем с их обработкой и выдачей рекомендаций. Ведь рекомендации, насколько я понял, не должны выдаваться в режиме реального времени. Единственный минус веб-приложений - надо оплачивать качественный хостинг, который был бы без тормозов и имел необходимый функциональный набор.
_________________
http://mars-tt.net - тренажер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Пт Май 13, 2011 6:56 am    Заголовок сообщения: Ответить с цитатой

Сейчас болтают об автономных веб-приложениях, которым сервер не нужен. Правда, не знаю, на каком уровне развития они сейчас.

Насчёт замеров, насколько я помню, Fil использует аппаратный счётчик. В JavaScript’е он недоступен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Пт Май 13, 2011 2:53 pm    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Насчёт замеров, насколько я помню, Fil использует аппаратный счётчик. В JavaScript’е он недоступен.
Да, если нужна хорошая точность, то нужно что-то посильнее, я думаю. Ts тоже, конечно, некоторую погрешность даёт, но в реальности в большинстве случаев ей вполне можно пренебречь.

Если бы подобное предложение поступило пару лет назад, я бы с большим удовольствием взялся. Сейчас у меня не так много свободного времени, но посильную помощь (в плане консультаций) оказать могу без проблем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Марусяк Валерий
Подполковник
Подполковник


Зарегистрирован: 11.08.2008
Сообщения: 1001

СообщениеДобавлено: Пт Май 13, 2011 5:35 pm    Заголовок сообщения: Ответить с цитатой

Однако, напрашивается вывод о необходимости рабочего варианта технического задания Smile. С описанием основных функций и требований по точности измерения временных промежутков. Тогда его можно будет показать большим специалистам в области веб-приложений, а они дадут ответ - потянут ли сии приложения данный проект или нет Smile.
_________________
http://mars-tt.net - тренажер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Пт Май 13, 2011 5:36 pm    Заголовок сообщения: Ответить с цитатой

Mikhail Portnov писал(а):
Проблема вот в чем: решение о выборе следующего упражнения принимается на основе анализа результатов выполнения упражнений, тестов. Откуда берутся результаты? Пользователь сам считает ошибки? (скорость понятно - это за системой).
Зачем же ошибки вручную считать? Реализовать можно любой (разумный) алгоритм поиска ошибок. Вот, например, какой вариант был у меня в FilWriter'e:
http://urikor.net/phpBB2/viewtopic.php?p=52510#52510
Он распознаёт 4 типа ошибок - вставка, перестановка, пропуск и замена. В принципе, можно было бы ещё сделать ошибку на нажатие/не нажатие Shift, но отчего-то она мне в голову в то время не пришла.
Алгоритм там у меня достаточно изощрённый, может находить двойные, тройные и т.д. ошибки, в последнем варианте, насколько я помню, он способен находить пропуски/замены/вставки длиной до 12 символов. Правда, в том варианте, который я сделал, есть некоторые ограничения (например, на максимальную длину текста), но вообще вещь довольно приличная получилась.

Насколько я помню, статьёй Солтхауза всё это было навеяно. Да, и шифтов поэтому и нет - у него не было такой ошибки. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Пт Май 13, 2011 7:00 pm    Заголовок сообщения: Ответить с цитатой

В FilWriter’е мне понравилась диагностика ошибок. Я больше нигде такого не видел. Да и сам тренажёр неплохой. Его допилить немножко, и будет совсем конфэтка. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Сб Май 14, 2011 9:38 am    Заголовок сообщения: Ответить с цитатой

Fil, в Вашей программе просто записываются значения счётчика в моменты нажатий/отпусканий клавиш или что-то более хитрое?

В Java есть наносекундный счетчик, его должно хватить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Сб Май 14, 2011 7:06 pm    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Fil, в Вашей программе просто записываются значения счётчика в моменты нажатий/отпусканий клавиш или что-то более хитрое?
Ну да, я использую QueryPerformanceCounter/Frequency.
myst писал(а):
В Java есть наносекундный счетчик, его должно хватить.
Если есть, то это хорошо. Но вопрос не только в этом.
Артем Чивчалов (автор Клавогонок) предлагал мне сотрудничество некоторое время назад. В частности, он писал вот что:
Артем Чивчалов писал(а):
В браузере реализовать точный подсчет клавограммы и прочих вещей, где требуется точность в миллисекунды, абсолютно нереально. Ядро большинства браузеров однопроцессовое, оно периодически тормозит само по себе (во время рендеринга страницы, например) и делает невозможным любые подсчеты миллисекунд, поэтому лаги и погрешность статистики
будет страшная. Я этот вопрос уже исследовал под всеми разными углами.
Поэтому, верно, единственный вариант - отдельная программа.
Сам я в этой теме не разбираюсь, но думаю, что его мнению здесь доверять можно - если бы была возможность реализовать в Клавогонках вещи, подобные тем, что реализованы в Ts, то он бы их сделал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Сб Май 14, 2011 8:41 pm    Заголовок сообщения: Ответить с цитатой

Fil писал(а):
myst писал(а):
Fil, в Вашей программе просто записываются значения счётчика в моменты нажатий/отпусканий клавиш или что-то более хитрое?
Ну да, я использую QueryPerformanceCounter/Frequency.

Я имею в виду запись статистики. Она в каком виде, просто точки на линии времени?

Fil писал(а):

Сам я в этой теме не разбираюсь, но думаю, что его мнению здесь доверять можно - если бы была возможность реализовать в Клавогонках вещи, подобные тем, что реализованы в Ts, то он бы их сделал.

Тогда можно аплетом сделать. То есть надо думать в сторону Java. На ней и standalone и веб-приложение можно слепить на одной кодовой базе.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Вс Май 15, 2011 12:46 am    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Fil писал(а):
myst писал(а):
Fil, в Вашей программе просто записываются значения счётчика в моменты нажатий/отпусканий клавиш или что-то более хитрое?
Ну да, я использую QueryPerformanceCounter/Frequency.

Я имею в виду запись статистики. Она в каком виде, просто точки на линии времени?
Ну да. Только записываются не абсолютные значения времени, а паузы между событиями - как в MIDI.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Вс Май 15, 2011 6:40 am    Заголовок сообщения: Ответить с цитатой

С форматом данных загвоздка, не отдельную же строку в БД для каждого нажатия клавиши выделять... Можно, конечно, просто список: <key_down>,time,<key_up>,time,...
А что с перекрытиями делать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Вс Май 15, 2011 4:03 pm    Заголовок сообщения: Ответить с цитатой

myst писал(а):
С форматом данных загвоздка, не отдельную же строку в БД для каждого нажатия клавиши выделять... Можно, конечно, просто список: <key_down>,time,<key_up>,time,...
Ну да, список и есть. Если вы откроете любой tsf-файл Блокнотом, то увидите, что файл состоит из серии строк типа
Цитата:
00011BEE 043E004A0024
00016E53 043E004A2024
00017BCC 043100BC0033
0001A574 044B0053001F
00002413 043100BC2033
000180E6 044B0053201F
00004E31 002000200039
000197E1 002000202039
Каждое событие - это два шестнадцатеричных числа. Первое - это время, которое прошло с момента прошлого события в микросекундах. Второе - это описание события. Там много чего записано - в том числе скан-код клавиши, виртуальный код клавиши, символ в формате Unicode (если он был сгенерирован для данного нажатия), и множество разных флагов - нажатие/отпускание, injected, Extended key, есть флаги для модификаторов Shift-Alt-Ctrl-Win - для упрощения обработки и т.д.
myst писал(а):
А что с перекрытиями делать?
Ну а что с ними делать? Обрабатывать. К вопросам хранения данных это никакого отношения не имеет.
Такой вариант хранения данных позволяет сохранить всю исходную информацию о нажатиях-отпусканиях, а уж что мы будем делать с ней потом - это вопрос второй. А сделать мы с ней можем всё, что угодно - и любую статистику посчитать, какую нужно, и клавограмму нарисовать, и всё остальное тоже.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Вс Май 15, 2011 4:16 pm    Заголовок сообщения: Ответить с цитатой

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

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

В общем-то всё это довольно жутко выглядит, но работает замечательно, как Вы можете видеть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Вс Май 15, 2011 8:24 pm    Заголовок сообщения: Ответить с цитатой

База данных нужна, но для записи статистики выполнения упражнений. А список с динамикой нажатий будет в отдельном поле лежать. А может вообще состояние всей клавиатуры записывать при каждом нажатии/отпускании? Памяти сожрёт отменно. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Вс Май 15, 2011 11:54 pm    Заголовок сообщения: Ответить с цитатой

myst писал(а):
База данных нужна, но для записи статистики выполнения упражнений. А список с динамикой нажатий будет в отдельном поле лежать. А может вообще состояние всей клавиатуры записывать при каждом нажатии/отпускании? Памяти сожрёт отменно. Smile
Смысла записывать состояние всей клавиатуры нет, очевидно.
Да, избыточность некоторая присутствует, конечно, но это только из благих побуждений. В ранних версиях Ts (до того, как я ввёл поддержку Юникода) формат файла был другой, но как только настал момент, когда его возможностей перестало хватать для введения новых функций, я постарался добавить вообще всё, что может пригодится в принципе. Чёткого плана по развитию программы у меня не было, и я не знал, что из данных мне может пригодится в будущем, поэтому на всякий случай ввёл все данные, которые могут пригодиться. Часть флагов, правда, была добавлена позже, но глобально с тех пор формат хранения данных уже не менялся.
А все те данные, которые я сохраняю - скан-код, виртуальный код, юникод-символ - они действительно нужны. Чем-то одним из этого не обойдешься. Для какого-то конкретного случая - да, а в общем виде - нет. Ведь есть такие вещи, как разные раскладки (соответственно, виртуальные и скан-коды в разных раскладках расположены по-разному), во многих языках есть мёртвые клавиши, с которыми нам вообще сталкиваться не приходится - а обработка этого дела, скажу я Вам, задача совсем нетривиальная. Не знаю, как сейчас, но в те времена Punto Switcher вообще напрочь убивал весь клавиатурный ввод с мёртвыми клавишами - у них там просто некорректная обработка перехвата была - а ведь кроме того, что это перехватить, это ещё и обработать грамотно нужно!
Ещё есть внедрённый ввод - т.е. ввод, который генерируется не клавиатурными нажатиями, а другой программой - как это делает Punto Switcher, PCmo и т.д. - и раз уж я делал программу для перехвата, то и это тоже нужно было обрабатывать.

В общем, вариантов масса, так что всё то, что я сохраняю в tsf-файле - всё это действительно нужно, можете мне поверить. И сильно упростить тут ничего не получится.
Единственно можно было бы файлы сделать не текстовыми, а двоичными - они бы тогда меньше места занимали, но я оставил так, как есть - так и отлаживать проще, и, зная немного формат файла, некоторые вещи можно было посмотреть прямо в файле простым просмотрщиком.
Файлы журнала, кстати (tsj) - они уже в двоичном виде.

А по поводу "Памяти сожрёт отменно" - повторюсь, я опирался на стандарт MIDI - там события именно так и хранятся, в каждой записи - описание события и пауза с момента предыдущего. Ничего короче и придумать нельзя.

А по поводу базы для хранения статистики выполнения - ну это уже вторичный вопрос и, по большей части, чисто технический. Для начала нужно сделать, что хранить. Понятно, что в тренажёре бОльшая часть функций Ts не нужна, но многое зависит от того, насколько сложный анализ нужен Михаилу.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
myst
Подполковник
Подполковник


Зарегистрирован: 05.12.2008
Сообщения: 1332

СообщениеДобавлено: Пн Май 16, 2011 6:58 am    Заголовок сообщения: Ответить с цитатой

Зачем вообще хранить модификаторы в записи?

P. S. У меня такое ощущение, что Вы восприняли моё сообщение как критику Вашего решения. У меня даже в мыслях такого не было.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fil
major
major


Зарегистрирован: 21.11.2008
Сообщения: 514
Откуда: Россия, Муром

СообщениеДобавлено: Пн Май 16, 2011 8:09 am    Заголовок сообщения: Ответить с цитатой

myst писал(а):
Зачем вообще хранить модификаторы в записи?
На самом деле просто для удобства. Поле для данных у меня всё равно 64-битное, так что место свободное там было.
Например, такая ситуация - человек нажимает Ctrl и удерживая его, нажимает несколько клавиш. Текста такой ввод не порождает, однако если мы не будем просматривать список сначала, а сразу перейдём на середину этой ситуации, то увидим только, что клавиши нажимаются и отпускаются, а о том, что там где-то раньше был нажат Ctrl, и знать не будем.
Ну и, например, Ctrl+Backspace проще так обрабатывать. Если я просматриваю список не с начала, и первым же нажатием вижу Backspace, мне не нужно идти по списку назад и смотреть, нет ли там Ctrl - а ведь он может быть сколь угодно далеко - там может быть, например, что-то типа Ctrl+Backspace+Backspace+Backspace+Backspace.
Ну и к тому же программа позволяет редактировать клавограммы. Пользователь может, например, удалить некоторый кусок, в результате чего получится неверный результат. Например, можно удалить одно только нажатие клавиши Ctrl, и тогда нажатие горячей клавиши превратиться в ввод текста.

Вполне вероятно, однако, что для задач, которые требуются в тренажёре, просмотр списка нужен только одного типа - сначала и до конца, так что таких ситуаций никогда возникать не будет. К тому же, вряд ли человек будет использовать горячие клавиши или что-то подобное при прохождении упражнения. Я же делал программу для перехвата произвольного клавиатурного ввода, так что мне нужно было предусмотреть все ситуации.
myst писал(а):
P. S. У меня такое ощущение, что Вы восприняли моё сообщение как критику Вашего решения. У меня даже в мыслях такого не было.
Вы проявили интерес - я ответил.
Однако вопрос в том, что мы обсуждаем - если рассматривать цели, которые нужны Михаилу, то они, по большей части, не совпадают с целями Ts, хотя там и есть что-то общее. Так что спорить тут действительно пока не о чем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов urikor.net -> Слепая машинопись Часовой пояс: GMT + 2
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Как бесплатно сделать свой сайт    Просто о сложном