agile
|
Сообщение #263
9 ноября 2014 в 07:33
|
Новичок
37 |
Reset82 писал(а): Capr, ТС нужна для самоанализа. Думаю вряд ли кто будет ее использовать через кучу костылей + вайн. У меня вообще только на тестовой вайн стоит. А никто как бы и не говорит, что это решение очень хорошее, и его уже можно «двигать в массы». Это лишь концепт, который можно и нужно доработать. Capr писал(а): И все таки сделать тест подобный тому, который я только что сделал на "правильной" ОС. Проделал тот же тест для трех случаев: - Прямой ввод текста в TypingStatistics, запущенной через Wine, по F4: direct_input.tsf
- Ввод текста в windows-версии FireFox, запущенной через Wine: firefox_input.tsf
- Ввод текста в редакторе Vim с использованием велосипеда на C++, пересылающего события клавиатуры в окно TypingStatistics: vim_input.tsf
Предварительно были выполнены следующие команды: xset r rate 500 7 — устанавливает задержку перед повторениями в 500 мс и скорость повторений в 7 зн/с (420 зн/мин) renice 19 -p [PID] — увеличивает у процесса PID приоритет до 19. Видно, что для двух первых клавограмм получается абсолютно та же картина, что и на реальной Windows. При использовании приложения-костыля на C++ между отдельными повторами появляются небольшие задержки, которые, я почти уверен, связаны с медлительностью библиотеки XLib. Но в целом, для такой скорости повторений, эта разница не проявляется ни на общей скорости, ни на аритмии набора. Так что последнее решение (на PlayOnLinux), на мой взгляд, уже можно использовать, а «сниффер» на C++ нужно еще доработать (как уже писал выше — поставить его на рельсы XCB).
|
Capr
|
Сообщение #264
9 ноября 2014 в 11:37
|
Профи
8 |
Данила, Вы доказали главное - что можно TS делать на компьютере с Linux. Не просто, но можно. То есть обосновали свое право называться Линуксоидом с большой буквы. Таких на сайте уже как минимум два - Вы и отказавшийся назваться (это не тот ли, который за собой все посты стирает?).
|
agile
|
Сообщение #265
9 ноября 2014 в 14:05
|
Новичок
37 |
[del] Вообще, думал, что ажиотажа среди пользователей Linux будет все-таки побольше, и вариант решения, который устроит абсолютно всех, совместными усилиями нарисуется очень быстро :) Но, видимо, придется подождать. Последний раз отредактировано 10 ноября 2014 в 13:09 пользователем agile
|
Reset82
|
Сообщение #266
9 ноября 2014 в 14:14
|
Маньяк
42 |
Вариант решения который устроит абсолютно всех, это ТС под линукс ) Я думаю есть люди способные написать простенький парсер, выводящий на график собранную статистику, я думаю ему были бы признательны многие люди!
|
agile
|
Сообщение #267
9 ноября 2014 в 14:20
|
Новичок
37 |
Reset82 писал(а): Вариант решения который устроит абсолютно всех, это ТС под линукс ) Я думаю есть люди способные написать простенький парсер, выводящий на график собранную статистику, я думаю ему были бы признательны многие люди! Верно. Но на разработку полнценного порта TypingStatistics для Linux, решение вопросов, связанных с интеграцией, требуется время. Много времени. Гораздо проще сейчас сделать хоть какой-то вариант, пусть и с костылями, но который будет работать. А когда будет готова полноценная версия программы под Linux, можно эти изжившие себя «подпорки» и убрать :) Последний раз отредактировано 9 ноября 2014 в 14:20 пользователем agile
|
Reset82
|
Сообщение #268
9 ноября 2014 в 14:30
|
Маньяк
42 |
Ну, на первое время, было бы достаточно одной клавограммы, как у настоящей ТС, которая прорисовывает нажатые клавиши со всеми перекрытиями, и длинна удержания... а все остальное можно добавлять уже со временем, по мере написания. Я думал, если есть заинтересованные люди, пользователи систем на которых ТС не работает без костылей, то мы все могли бы учредить работу человека над данным проектом, и за энную сумму я думаю нам бы сделали такой софт, причем данный софт думаю был бы полезен многим, не только клавогонщикам. Странно что такую программу никто еще не написал под линукс.
|
Capr
|
Сообщение #269
9 ноября 2014 в 14:44
|
Профи
8 |
agile писал(а): решение вопросов, связанных с интеграцией, требуется время. Много времени. Вот. Наконец-то. Данила, Вы достаточно быстро пришли к тому, на что Артему (да и мне тоже) потребовалось несколько лет. То есть к пониманию того, что для решения некой задачи необходим некий ресурс - в данном случае - время. То есть бросайте заниматься этой ерундой пока Вам не пообещают заплатить за потраченное время. Но если очень интересно и считаете, что это Вам пригодится, то пожалуйста. Очень может быть, что и пригодится.
|
agile
|
Сообщение #270
9 ноября 2014 в 15:27
|
Новичок
37 |
Reset82 писал(а): Я думал, если есть заинтересованные люди, пользователи систем на которых ТС не работает без костылей, то мы все могли бы учредить работу человека над данным проектом, и за энную сумму я думаю нам бы сделали такой софт, причем данный софт думаю был бы полезен многим, не только клавогонщикам. Странно что такую программу никто еще не написал под линукс. Тут вопрос только в том, сколько таких «заинтересованных людей» на Клавогонках. И сколько из них согласятся «скинуться» на разработку такого приложения (есть ведь такие люди, которым все на блюдечке подавай). Со своей стороны я готов вложить разумную сумму для этого дела, если проект будет действительно сделан. Но что-то мне кажется, что таких людей здесь найдется крайне мало (если за все время существования клавогонок не предпринималось даже попыток создать нечто подобное). Capr писал(а): То есть бросайте заниматься этой ерундой пока Вам не пообещают заплатить за потраченное время. Но если очень интересно и считаете, что это Вам пригодится, то пожалуйста. Очень может быть, что и пригодится. Capr, да я вроде пока еще не собирался писать порт TypingStatistics, да и вряд ли соберусь (хотя бы потому, что достаточно хорошо разбираюсь только по части front-end разработки) :) Ну а уже потраченного времени на эту «ерунду» мне не жаль, по той простой причине, что было самому интересно повозиться с этой проблемой, да и польза есть — освежил в памяти свои скудные знания C++ и открыл для себя некоторые новые вещи.
|
dxlins
|
Сообщение #271
12 ноября 2014 в 18:49
|
Новичок
1 |
Последний раз отредактировано 18 декабря 2014 в 21:02 пользователем dxlins
|
agile
|
Сообщение #272
12 ноября 2014 в 20:25
|
Новичок
37 |
dxlins писал(а): Ну, а что касается "реализации" под вайн, дык это вообще выглядит несколько смешно. Кто такой "вайн"? Это ваш дядя - "вайн"? "Вайн" - это игрушка для небольшой группы разработчиков, которой нечем больше заняться. В Linux и без всякого "вайн" живётся пристойно, в отличие от Windows, которую без cygwin/mingw и т.п. полноценной системой назвать нельзя вообще. Как учебная задача - согласен, учиться можно и нужно на всём. Но при этом не надо забывать, что практический выхлоп от подобного костыля будет нулевым, потому и удивляться, что пользователи Linux "не сильно активны", не приходится. Отчасти не соглашусь — «практический выхлоп» от костыля на Wine есть — как минимум это полноценная TypingStatistics + рабочая интеграция с сайтом, получаемая с минимальными затратами. А чтобы дойти до этой пресловутой интеграции, начиная с простого как валенок «сниффера», который будет просто записывать подобие *.tsf, нужно потратить уйму времени. Но я не спорю, что это жуткий костыль, и, как ни крути, но аналог TypingStatistics для Linux нужен, и разрабатывать его нужно именно так, как вы и написали — от простого к сложному :)
|
Reset82
|
Сообщение #273
12 ноября 2014 в 21:11
|
Маньяк
42 |
Отсюда и простейший вывод: нужна программа, ведущая лог всех набитых знаков (он, скажем, будет отсвечивать сверху выходного файла), далее три столбца - знак, пауза, удержание, где-нибудь внизу - справочно количество набитых знаков, скорость, ошибки и т.п. общая информация. Заметим, что мы получили вполне полноценный инструмент для анализа процесса печати. Всё в текстовом формате, всё понятно, всё цивильно. Легко в обработке. ну лог всех нажатых и отпущенных клавиш можно собрать вот в таком варианте: скрытый текст… DEBUG:Log:Thread created DEBUG:Log:Wed Nov 12 22:12:10 2014 DEBUG:Log:Using AppIndicator. DEBUG:Log:Key 62(key_code) pressed 22:12:0.1779 DEBUG:Log:Key 56(key_code) pressed 22:12:0.2164 DEBUG:Log:Key 56(key_code) release 22:12:0.2635 DEBUG:Log:Key 62(key_code) release 22:12:0.295 DEBUG:Log:Key 65(key_code) pressed 22:12:0.3202 DEBUG:Log:Key 65(key_code) release 22:12:0.724 DEBUG:Log:Key 27(key_code) pressed 22:12:0.7865 DEBUG:Log:Key 27(key_code) release 22:12:0.9267 DEBUG:Log:Key 41(key_code) pressed 22:12:0.9656 DEBUG:Log:Key 41(key_code) release 22:12:1.0873 DEBUG:Log:Key 27(key_code) pressed 22:12:1.1205 DEBUG:Log:Key 27(key_code) release 22:12:1.2243 DEBUG:Log:Key 65(key_code) pressed 22:12:1.2561 DEBUG:Log:Key 65(key_code) release 22:12:1.3849 DEBUG:Log:Key 57(key_code) pressed 22:12:1.4186 DEBUG:Log:Key 57(key_code) release 22:12:1.5298 DEBUG:Log:Key 28(key_code) pressed 22:12:1.5616 DEBUG:Log:Key 28(key_code) release 22:12:1.6846 DEBUG:Log:Key 42(key_code) pressed 22:12:1.7193 DEBUG:Log:Key 42(key_code) release 22:12:1.8316 DEBUG:Log:Key 28(key_code) pressed 22:12:1.8644 DEBUG:Log:Key 28(key_code) release 22:12:1.9695 DEBUG:Log:Key 43(key_code) pressed 22:12:1.9977 DEBUG:Log:Key 43(key_code) release 22:12:2.1028 DEBUG:Log:Key 58(key_code) pressed 22:12:2.136 DEBUG:Log:Key 58(key_code) release 22:12:2.2585 DEBUG:Log:Key 65(key_code) pressed 22:12:2.2872 DEBUG:Log:Key 65(key_code) release 22:12:2.4139 DEBUG:Log:Key 54(key_code) pressed 22:12:2.4468 DEBUG:Log:Key 54(key_code) release 22:12:2.5663 DEBUG:Log:Key 44(key_code) pressed 22:12:2.6049 DEBUG:Log:Key 44(key_code) release 22:12:2.7267 DEBUG:Log:Key 59(key_code) pressed 22:12:2.7665 DEBUG:Log:Key 59(key_code) release 22:12:2.8904 DEBUG:Log:Key 43(key_code) pressed 22:12:2.9233 DEBUG:Log:Key 43(key_code) release 22:12:3.0245 DEBUG:Log:Key 41(key_code) pressed 22:12:3.0548 DEBUG:Log:Key 41(key_code) release 22:12:3.1565 DEBUG:Log:Key 57(key_code) pressed 22:12:3.1899 DEBUG:Log:Key 57(key_code) release 22:12:3.2994 DEBUG:Log:Key 58(key_code) pressed 22:12:3.3335 DEBUG:Log:Key 58(key_code) release 22:12:3.4413 DEBUG:Log:Key 65(key_code) pressed 22:12:3.4711 DEBUG:Log:Key 65(key_code) release 22:12:3.6021 DEBUG:Log:Key 48(key_code) pressed 22:12:3.6355 DEBUG:Log:Key 48(key_code) release 22:12:3.7593 DEBUG:Log:Key 57(key_code) pressed 22:12:3.7943 DEBUG:Log:Key 57(key_code) release 22:12:3.9038 DEBUG:Log:Key 56(key_code) pressed 22:12:3.9354 DEBUG:Log:Key 56(key_code) release 22:12:4.0498 DEBUG:Log:Key 65(key_code) pressed 22:12:4.081 DEBUG:Log:Key 65(key_code) release 22:12:4.2138 DEBUG:Log:Key 46(key_code) pressed 22:12:4.2495 DEBUG:Log:Key 46(key_code) release 22:12:4.3641 DEBUG:Log:Key 41(key_code) pressed 22:12:4.3953 DEBUG:Log:Key 41(key_code) release 22:12:4.4969 DEBUG:Log:Key 29(key_code) pressed 22:12:4.5298 DEBUG:Log:Key 29(key_code) release 22:12:4.6427 DEBUG:Log:Key 29(key_code) pressed 22:12:4.6749 DEBUG:Log:Key 29(key_code) release 22:12:4.7844 DEBUG:Log:Key 39(key_code) pressed 22:12:4.8159 DEBUG:Log:Key 39(key_code) release 22:12:4.9309 DEBUG:Log:Key 28(key_code) pressed 22:12:4.9641 DEBUG:Log:Key 28(key_code) release 22:12:5.0681 DEBUG:Log:Wed Nov 12 22:12:21 2014 фиксируется код клавиши и время до 10 тысячных секунды, как теперь это дело обработать? Последний раз отредактировано 12 ноября 2014 в 22:13 пользователем Reset82
|
agile
|
Сообщение #274
13 ноября 2014 в 03:54
|
Новичок
37 |
Reset82 писал(а): как теперь это дело обработать? А зачем это «обрабатывать», когда эту информацию можно изначально выводить в более удобоваримом виде (как описал dxlins)? Или я не понял суть вопроса?
|
Reset82
|
Сообщение #275
13 ноября 2014 в 07:58
|
Маньяк
42 |
В более удобоваримом виде, эту уже будет полноценная работающая ТС. )
|
dxlins
|
Сообщение #276
13 ноября 2014 в 08:26
|
Новичок
1 |
Последний раз отредактировано 18 декабря 2014 в 21:02 пользователем dxlins
|
Reset82
|
Сообщение #277
13 ноября 2014 в 21:06
|
Маньяк
42 |
dxlins писал(а): Ошибаешься. Под "более удобоваримом" видом понимается более удобоваримый вид и не более того. И уж никак не "полноценная работающая ТС", до которой как до звезды. Вот, например, тренажёр под Windows пятилетней давности, в котором частично реализован "более удобоваримый вид": в данном примере одна из функций настоящей ТС. а кстати, в моем представленном варианте, гораздо проще будет разместить все клавиши на клавограмму. Так же уже считается полное время заезда, что представлено в секундах и долях секунд, с погрешностью на время выполнения скрипта, но это можно скорректировать. А вычисления самого времени удержания уже можно делать позднее, чтобы не давало погрешности. Как это сделать, я пока не знаю. Дублировать текст в блокнот и высчитывать количество символов тоже не проблема. вот и получиться, вычислять оперативную статистику, если обрабатывать эти данные динамически. И в Glade можно попробовать все реализовать с интерфейсом... но это конечно пока мечты )
|
dxlins
|
Сообщение #278
13 ноября 2014 в 22:31
|
Новичок
1 |
Последний раз отредактировано 18 декабря 2014 в 21:02 пользователем dxlins
|
Reset82
|
Сообщение #279
14 ноября 2014 в 19:01
|
Маньяк
42 |
я использовал скринкей, посмотрел исходники - добавил пару функций. Кстати, лог в студию, будем искать 10 отличий :) я думаю что без кей-логера, ТС не реализовать.... и был бы признателен в помощи, если не лень.... Последний раз отредактировано 14 ноября 2014 в 19:13 пользователем Reset82
|
lins
|
Сообщение #280
15 ноября 2014 в 18:06
|
Новичок
1 |
Последний раз отредактировано 18 декабря 2014 в 21:01 пользователем lins
|
Reset82
|
Сообщение #281
22 ноября 2014 в 18:14
|
Маньяк
42 |
вот что пока выходит в плане линуксовой ТС, консольный вариант в действии http://youtu.be/s3DbNoi8vYo
|
shamilka1
|
Сообщение #282
8 января 2015 в 21:34
|
Любитель
1 |
Плохо, что только на премиум. Ну и админу на чем-то и надо жить :)
|