Здравствуйте, гость ( Вход | Регистрация )

10 страниц V « < 3 4 5 6 7 > »   
Ответить в эту темуОткрыть новую тему
> Hardware UO Pilot, Аппаратный UO Pilot
Cockney
сообщение 7.9.2013, 17:13
Сообщение #81


********

Master
Сообщений: 1.399
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21399
Пользователь №: 16.156



а в каком виде в компорт должны отправляться коды клавиш?хекс?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 8.9.2013, 10:35
Сообщение #82


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(WKnight @ 7.9.2013, 12:55) *

Виртуальный компорт не поможет?.


Управляющие пакеты по идее будут шуровать непосредственно в USB HID report-ах, но тогда, если это реализовать, нужен будет спец плагин-DLL через который будет осуществляться управление устойством USB2KBD. Можно, конечно, оставить управление и через USB->RS232 (то, что я использую в настоящий момент), но это а) лишний второй USB разьем б) лишние компоненты в) увеличение размера девайса

В настоящий момент пробую реализовать 2 девайса (мышь и клавиатура) одновременно на одном микроконтроллере, о результатах отпишу.

Ну и, опять же, если нарою, то метод управления девайсом через USB - будет большим шагом вперед. Тогда, возможно, рассмотрю возможность модификации устройства. (будет упразднен узел USB->RS232) + нужно будет разработать управляющий dll и работу с ним стороннему ПО.

Цитата(Cockney @ 7.9.2013, 17:13) *

а в каком виде в компорт должны отправляться коды клавиш?хекс?


Да, Hex.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fantomas
сообщение 19.9.2013, 7:48
Сообщение #83


***

Novice
Сообщений: 89
Регистрация: 4.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.173



Цитата(Александр85 @ 25.6.2013, 10:26) *

Информация ценная, тут вопросов нет (IMG:style_emoticons/default/rolleyes.gif)
Если есть желание опишите поподробнее что делали сами своими ручками. Добавите фото своего девайса и т. п...
В дальнейшем у меня есть желание объединить аппаратный пилот (эмулятор клавиатуры) и кликер (эмулятор мыши) в одном устройстве. Если есть желание можете поучаствовать в проекте. (IMG:style_emoticons/default/smile.gif)

Не буду я выкладывать по понятным причинам свое устройство-) (IMG:style_emoticons/default/tongue.gif) Разве что схему (внизу).

По поводу того что дальше тут написано - вы в правильном направлении идете, вот только Uopilot при прошивке должен эмулировать полноценное исполнение скрипта, с быстрой загрузкой его в микроконтроллер без участия программатора, а не только нажатие определенных клавиш мыши или клавиатуры (IMG:style_emoticons/default/dry.gif) Иначе в противном случае ваше устройство ничем не отличается от готового продукта Oscar и Logitech, аля мышка x7 или клавиаутры серии G (например g13). Кстати в двух последних устройствах есть опция загрузки скрипта, единственный их недостаток - ограничение функционала из-за невозможности написания полноценного скрипта как в uopilot. Клава правда предусматривает скрипты на языке Lua, но его никто не знает, да и стоимость устройства не радует-)
Да еще один нюанс, недавно был очень удивлен, когда в одной из игр(Universe online) все же обнаружили присутсвие этого девайса(за что естественно получил бан), это я к тому что при желании все можно обнаружить... .
P.S. лично я в прошивку своего устройства смог внедрить только определенный сценарий нажатий клавиш, полноценной программы с быстрым редактированием кода "на лету" и дальнейшим его исполнением у меня к сожалению не получилось, ибо знаний таких нет.


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Proffi?!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.9.2013, 12:09
Сообщение #84


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Fantomas, смысл этого девайса не создать скриптовый движок или писать хардварные скрипты. Цель обеспечить цепочку:
1) В пилоте строка, скажем hwkey Enter
2) Пилот отсылает на девайс код клавиши, которую необходимо нажать.
3) Девайс ее нажимает.

Т.е. всем по прежнему рулит пилот от начала до конца. Просто появляется еще один вариант send'a.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 23.9.2013, 20:26
Сообщение #85


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(Fantomas @ 19.9.2013, 7:48) *

Иначе в противном случае ваше устройство ничем не отличается от готового продукта Oscar и Logitech, аля мышка x7 или клавиаутры серии G (например g13).


Вот тут не соглашусь с Вами, уважаемый, т.к. готовый продукт Oscar и Logitech и т д. будет иметь свой уникальный Vendor ID, купленный вышеперечисленными конторами, и вычислить их, подключенными к системе, тому же Game Guard'у не составит особого труда, ну и соотв забанить/ограничить.

Кроме того, как я писал выше, оптимальная схема работы UOPilot с хардарными эмуляторами типа USB2KBD - отправлять лишь коды нажатий клавишь/координаты перемещения мыши. Вариант прошивки и исполнения кода самим девайсом (хардварной клавиатурой) - будет неоправданно долгим: прошивка минимальной программы в AtMega8 - около 1.5 - 2 секунды - это оч. большая пауза. Защитить же UO Pilot от обнаружения тем же GG - задача администрации.

Что касается моих разработок - на данный момент мне удалось объединить 2 клавиатуру и мышь в одном микроконтроллере, определение их в системе успешно, но вот управлять получилось только мышью, думаю тут ограничения самого микроконтроллера. Заказал другой - как прийдет, продолжу опыты, отпишусь.

PS - хотя, например, в линейке - функция мыши практически не задействована , полное управление возможно через клавиши, ну разве что придумать задачу типа определения значка "Вара" и автотаргет на него уже мышью - но это уже так сказать опционно )
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fantomas
сообщение 30.9.2013, 3:10
Сообщение #86


***

Novice
Сообщений: 89
Регистрация: 4.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.173



to Darkmaster and usb2kbd: (: а я то думал...полноценное устройство с драйвером и возможностью прошивки через usb. А вы хотите использовать фактически этот девайс только как средство защиты от насекомых - точнее скрытия от них.
Цитата(usb2kbd @ 23.9.2013, 21:26) *

Вот тут не соглашусь с Вами, уважаемый, т.к. готовый продукт Oscar и Logitech...

Кроме того...


Это уже анатомические особенности пошли для обхода.... Я же говорил лишь про функциональность. Кстати тоже использовал AtMega...

Цитата(usb2kbd @ 23.9.2013, 21:26) *

Что касается моих разработок - на данный момент мне удалось объединить 2 клавиатуру и мышь в одном микроконтроллере, определение их в системе успешно, но вот управлять получилось только мышью, думаю тут ограничения самого микроконтроллера. Заказал другой - как прийдет, продолжу опыты, отпишусь.

Классно!
Цитата(usb2kbd @ 23.9.2013, 21:26) *

PS - хотя, например, в линейке - функция мыши практически не задействована , полное управление возможно через клавиши, ну разве что придумать задачу типа определения значка "Вара" и автотаргет на него уже мышью - но это уже так сказать опционно )

Не соглашусь что практически не задействована мышь в L2, тот же ресурекшн, принятие пати, нажатие на скил рамуна и прочая фигня требуют мышь(. А если вы качаетесь например в те же 2 окна то принятие пати и рес неизбежен.


--------------------
Proffi?!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 22.1.2014, 1:24
Сообщение #87


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



И снова здравствуйте, дорогие друзья! Долгие месяцы неспешных разработок, дали положительный результат, чем я весьма горжусь (IMG:style_emoticons/default/smile.gif) Ны выходе получилось очень интересное USB-устройство (usb2kbd), которое (цитирую c сайта продукта) при подключении в USB-порт компьютера представляется системе Windows реальной клавиатурой+мышью и, что весьма важно, ничем не отличается от обычных USB клавиатуры и мыши, при этом устойство не требует от Вас установки никаких драйверов! А что еще более важно, устройство для работы требует единственный USB-порт!
Особенности харварного эмулятора клавиатуры и мыши Usb2kbd:
- до 3-х одновременных нажатий клавиш клавиатуры, включая все управляющие и функциональные клавиши;
- перемещение мыши в заданные координаты;
- нажатие кнопок мыши (левая, правая, средняя).
Как посылать в Usb2kbd управляющие сигналы с компьютера? Теперь это стало возможно благодаря универсальной библиотеке DLL - это файл, который можно динамически использовать в любом языке программирования. Ваша программа в простейшем случае обращается к DLL библиотеке - дает ей определенную команду, а уже Dll в свою очередь отправляет специальный пакет в устройство usb2kbd, которое незамедлительно выполняет эту команду (например, нажимает клавишу клавиатуры/мыши так, как будто ее нажали Вы руками!).

C описанием, преимуществами, схемой работы, примерами можно ознакомиться на сайте продукта usb2kbd.info.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.1.2014, 8:57
Сообщение #88


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



дллку где брать? к пилоту прикручивать будем? (IMG:style_emoticons/default/smile.gif)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 22.1.2014, 11:33
Сообщение #89


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 22.1.2014, 8:57) *

дллку где брать? к пилоту прикручивать будем? (IMG:style_emoticons/default/smile.gif)


Dll доступна для скачивания на сайте usb2kbd.info в разделе "Программное обеспечение".

В архиве сама Dll (для динамической подгрузки) + .lib - файл - если вдруг найдутся фанаты статической подгрузки библиотеки.

Также рекомендую ознакомиться со всеми разделами сайта - я там постарался максимально все описать.
(есть конкретные примеры использования).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.1.2014, 17:15
Сообщение #90


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Можно какие-то контактные данные получить, чтобы относительно оперативно решить некоторые моменты?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 22.1.2014, 20:30
Сообщение #91


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 22.1.2014, 17:15) *

Можно какие-то контактные данные получить, чтобы относительно оперативно решить некоторые моменты?


Мыло указано на сайте usb2kbd.info в разделе "Контакты" - usb2kbd@gmail.com, Skype: unicorn791, можно писать сюда в личку - захожу часто. Вопросы общего характера по устройству - обсудим здесь в теме, остальные вопросы в мыло, скайп или в личку.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.1.2014, 0:25
Сообщение #92


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Чиркнул в скайп. Не уверен в разумности диалога на форуме по поводу прикручивания дллки. Это не продуктивно (IMG:style_emoticons/default/smile.gif)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 25.1.2014, 1:12
Сообщение #93


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 23.1.2014, 1:25) *

Чиркнул в скайп. Не уверен в разумности диалога на форуме по поводу прикручивания дллки. Это не продуктивно (IMG:style_emoticons/default/smile.gif)


Прошу прощения за задержку, но курил методу прикручивания плагина к UO pilot и решая нетривиальную задачу преобразования строкового ParamStruct->ParamString в нужные мне переменные - аргументы функции (IMG:style_emoticons/default/smile.gif)))) . Но все же, Вот результаты:

1. Скачиваем Пилот с офф сайта, закидываем mydll.dll в папку uopilot\Plugins\.

2 Запускаем пилот - он напишет что одна функция найдена ( Plugin loaded: mydll. 1 functions found) - это наша функция Sum.

3. Пишем скрипт

repeat 10
set #a mydll.Send (1,12,0,0,vid_16c0&pid_05df,usb2kbd.info usb2kbd)
set #a mydll.Send (2,12,0,0,vid_16c0&pid_05df,usb2kbd.info usb2kbd)
end_repeat
end_script

где, mydll.Send - вызываемая функция из Dll, (1,12,0,0,vid_16c0&pid_05df,usb2kbd.info usb2kbd) - аргументы (параметры), передаваемые функции Send. В данном примере скрипт скомандует - "нажать клавишу i", "отпустить клавишу i".

Функция кстати на всяк случай возвращает значения - результат выполнения (в примере $a):

"Arguments < 6! Usage Send (a1, a2, a3, a4, a5, a6)!" - если передано менее 6 аргументов. Обязательный разделитель - запятая.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.1.2014, 1:25
Сообщение #94


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Мдя. А я как раз хотел этот момент обговорить и либо что-то путное вам дать из моих набросков дллок пилотовских или самому шаманить. Без меня справились. Время у меня уже только к утру появляется(
Одна небольшая просьба. Давайте не будем заниматься извращениями и sum переименуем в какую-нибудь удобоваримую вещь. Ну хоть в send что ли. По-пилотовски как-то.

И еще один главный момент. Железку то где брать? На сайте не нашел ни схемы ни продажи.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.1.2014, 1:38
Сообщение #95


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Дальше список мыслей. Это не расстрел, а просто мнение/пожелания, которые, на мой взглад, могут немного облагородить все это дело.
Цитата
если передано менее 4 аргументов (больше можно можно, меньше - ни ни

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

Цитата
"Arguments < 4! Usage Sum (a1, a2, a3, a4)!"
"Send!"
"Not connected!"

Было бы правильнее использовать числовые коды. С ними проще работать в самих скриптах. Вместо:
if $a = "send!"
гораздо правильнее было бы использовать
if #a > 0
Цитата
отжать все клавиши мыши

по отдельности не отжимаются? Или цель была уложиться в байт?

еще пара заметок
1) На сайте нет раздела загрузки, а в описаниях ссылки практически не заметны.
2) Скачал сканкоды, ворд не открыл слету. Проще найти, чем пытаться понять, что не так с файлом. Тхт не достаточно? (IMG:style_emoticons/default/wink.gif)
3) Неплохо было бы сделать map в dll'ке из соответствия кодов клавиш и их названий.
4) Расширенные коды клавиш не поддерживаются?

// Ну и sum... выглядит очень палевно... Ну очень)

Сообщение отредактировал DarkMaster - 25.1.2014, 2:33


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 25.1.2014, 12:10
Сообщение #96


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата

sum переименуем в какую-нибудь удобоваримую вещь. Ну хоть в send

Готово. Теперь Send ()

Цитата(DarkMaster @ 25.1.2014, 2:38) *

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

Готово, теперь можно передавать любое кол-во аргументов. Если какой-то аргумент не задан - ему присваивается 0, если же ни одного аргумента не задано - все будут нулями и функция вернет 2.
Цитата(DarkMaster @ 25.1.2014, 2:38) *

Было бы правильнее использовать числовые коды. С ними проще работать в самих скриптах. Вместо:
if $a = "send!"
гораздо правильнее было бы использовать
if #a > 0

Готово. Функция возвращает - 0, 1 и 2. (0 - не подключено, 1 - подключено, 2 - не задано ни одного аргумента функции).
Цитата(DarkMaster @ 25.1.2014, 2:38) *

по отдельности не отжимаются? Или цель была уложиться в байт?

Отжимаются все, а вот нажимать можно в любой последовательности.

Цитата(DarkMaster @ 25.1.2014, 2:38) *

1) На сайте нет раздела загрузки, а в описаниях ссылки практически не заметны.
2) Скачал сканкоды, ворд не открыл слету. Проще найти, чем пытаться понять, что не так с файлом. Тхт не достаточно? (IMG:style_emoticons/default/wink.gif)
3) Неплохо было бы сделать map в dll'ке из соответствия кодов клавиш и их названий.
4) Расширенные коды клавиш не поддерживаются?

// Ну и sum... выглядит очень палевно... Ну очень)


Раздел загрузки создал, архив со сканами обновил - теперь xls и txt, по поводу map'a клавиш - приму для работы таблицу на usb2kbd@gmail.com со штатными клавишами Uopilot'a - рассмотрю.

Расширенные коды клавиш - это какие?

Dll для uopilot доступна usb2kbd.info/uploads/files/uopilot.rar]http://usb2kbd.info/uploads/files/uopilot.rar


Зы: Кстати, как ни странно, название функции Sum создавалось именно чтоб не палиться (IMG:style_emoticons/default/smile.gif)


Принимаю добровольные пожертвования на развитие проекта в размере 1200 рублей (300 грн).

Z425120780187
R305005172556
U263703834456

В назначении платежа нужно указать кол-во девайсов, которые бы Вы хотели иметь, Ваши ФИО полностью, № Вашего моб телефона, а также город и номер (или адрес) отделения «Новой Почты», где Вы находитесь.

Как-то так. Спрашивайте )
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.1.2014, 17:44
Сообщение #97


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Цитата
Функция возвращает - 0, 1 и 2. (0 - не подключено, 1 - подключено, 2 - не задано ни одного аргумента функции).

А успех то что вернет? Вообще обычно успех true, т.е. 1 либо >1, ошибка 0, учитывая, что ошибки две, я бы уводил в минус их по аналогии с find'ами.
Цитата
Расширенные коды клавиш - это какие?

Это медиа хрень всякая. Обычно они бесполезны, но имея данный девайс можно было бы биндить действия в игре на фэйковые клавиши и тем самым не забивать игровую раскладку.
http://sharpkeys.codeplex.com/#
глянь прожку. Речь идет кнопках E0_КОД.
Тут еще одна интересная статейка в эту же тему, правда там рассматриваются посылы сочетаний клавиш и походу без предварительного зажатия альта, так же туда попали почему-то клавиши типа pg_down. http://kit.znu.edu.ua/iLec/1sem/ARCH1/Lab/...in/keyboard.htm
Еще такой вопрос у меня есть немного не по теме, но все же. У меня на клавиатуре некоторые клавиши работают только на ps/2, а вот уже на usb чтобы заработали надо дрова держать загруженными в памяти. WTF? Это кстати кусок расширенных.
Цитата
о поводу map'a клавиш - приму для работы таблицу на usb2kbd@gmail.com со штатными клавишами Uopilot'a - рассмотрю.

Штатные или не штатные пилота - оно не имеет значения. Смысл фактически иметь возможность писать саму клавишу а не ее код. Самый тупой вариант, как это можно сделать - запихать таблицу скан кодов из xls в map и успокоиться на этом. Эксель кстати очень удобен для создания map'ов - вся типовая писанина заменяется растягиванием. Мапом не нужно только полностью заменять возможность числовой посылки кода. Пилот сейчас на этом спотыкается сильно. Простой вариант - он всегда удобнее, надо что-то хардкорное, тогда идем за кодами.
Цитата

Принимаю добровольные пожертвования на развитие проекта в размере 1200 рублей (300 грн).

Это фиксированный размер в не зависимости от количества или как или что?
Я просто не совсем готов за одну штуку отвалить 1200...

Сообщение отредактировал DarkMaster - 25.1.2014, 17:49


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 25.1.2014, 19:28
Сообщение #98


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 25.1.2014, 18:44) *

А успех то что вернет?


0 - устройство не подключено и соотв пакет никуда не пошел, 1 - девайс подключен и, значит, пакет успешно ушел в девайс, а вот девайс, к сожалению ответить в функцию никак не может, по крайней мере, я такой технологией не владею. Он будет "занят" ответом в хост нажатиями. Поэтому предполагается, если девайс подключен и виден в системе, значит он отработает пакет. Просто нужно учесть минимальные рандомные "человеческие" паузы м.д нажатиями, а не отсылать 100500 нажатий сразу (IMG:style_emoticons/default/smile.gif)

Цитата(DarkMaster @ 25.1.2014, 18:44) *

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

Из списка кодов клавиш -

127 Keyboard Mute
128 Keyboard Volume Up
129 Keyboard Volume Down

и.т д.
- ,возможно, это.

На практике - я обычно решаю этот вопрос через сторонее ПО (например тот же Autohotkey, у него есть встроенный механизм ремаппа любой клавиши и на что ее заменять. Причем "на что заменить" может быть скриптом.
Пример:

a::
hFile := DllCall("mydll\Sum", int, 1, int, 11, int, 0, int, 0)
Sleep, 40
hFile := DllCall("mydll\Sum", int, 2, int, 11, int, 0, int, 0)
return

Нажимаешь a - печатается h.


Цитата(DarkMaster @ 25.1.2014, 18:44) *


Еще такой вопрос у меня есть немного не по теме, но все же. У меня на клавиатуре некоторые клавиши работают только на ps/2, а вот уже на usb чтобы заработали надо дрова держать загруженными в памяти. WTF?

С таким не сталкивался, но опять же ремапп программный на удобноваримую для usb2kbd всегда рулит. Главное чтоб внешняя програ-ремаппер отлавливала эти "некоторые" клавиши.

Цитата(DarkMaster @ 25.1.2014, 18:44) *

Штатные или не штатные пилота - оно не имеет значения. Смысл фактически иметь возможность писать саму клавишу а не ее код. Самый тупой вариант, как это можно сделать - запихать таблицу скан кодов из xls в map и успокоиться на этом. Эксель кстати очень удобен для создания map'ов - вся типовая писанина заменяется растягиванием. Мапом не нужно только полностью заменять возможность числовой посылки кода. Пилот сейчас на этом спотыкается сильно. Простой вариант - он всегда удобнее, надо что-то хардкорное, тогда идем за кодами.

Если честно, я как бы с с++ знаком менее 2 месяцев, и то изучил только основы для создания DLL и ПО, я ранее чуть программировал в VB, а сейчас мучаю PHP на уровне новичка... (IMG:style_emoticons/default/smile.gif) Сейчас я рассматриваю вариант выкладывания сорсов Dll-ки на Borland C++ Builder (в т.ч. доработанной для UOpilot), чтоб Вы его могли править как хотите и адаптировали его с учетом требований и пожеланий форумчан для нужд UOPilot (с условием неизменности моего кода), т.к. уверен, у Вас это выйдет лучше меня и, однозначно, оптимальнее.

Цитата(DarkMaster @ 25.1.2014, 18:44) *

Это фиксированный размер в не зависимости от количества или как или что?
Я просто не совсем готов за одну штуку отвалить 1200...


Торг всегда уместен... Скажем, так - Специальные "пилотные" условия для администрации портала UOPilot - Заинтересованное лицо "помогает" проекту на развитие в размере 200грн/800р. (себестоимость + время на сборку/пайку + премирование идейности) и получает по "Новой Почте"+пересылка за счет получателя (Украина) или Укрпочтой (Россия) "материал" по проекту в размере 1шт. Я думаю, это в первую очередь, касается администрации портала, так сказать, "пощупать", "потестить на деле".

По сути дела это та же стоимость средней мыши + клавы в магазине (не самые навороченные, типа монстров Logitech, о которых как-то кто-то упоминал выше).

Дешевле уже некуда, бо смысла нет тратить на все это силы и разум. Все, так сказать, ХендМейд, паяльник и мозги. (IMG:style_emoticons/default/smile.gif)

PS:
Кстати, приведу тут ответ одного мастера из РФ, тогда я только вынашивал идею usb2kbd (ответ от апреля 2013 года) - он продавал похожий девайс, только (!) обмен данными был через Com-порт, и его устройство могло представляться только ЛИБО клавой ЛИБО только мышью в зависимости от Firmware.

Цитата:

> Добрый день!
>
> А сколько будет стоить девайс в фул сборке (в RUR)
>
1шт - 2000
> =4шт - 1500

Конец цитаты.

Второй случай, помните, я писал по поводу того, что одному Китайцу удалось соединить два девайса в одном и передавать данные в устройство по USB, т.е. по сути то, что умеет на сегодня USB2kbd? Так вот он на e-bay'e задвигал девайс (с исходниками правда) за 70 енотов ), ну и там до 50 енотов если больше 1 берешь.

Как-то так.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.1.2014, 20:12
Сообщение #99


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28092
Пользователь №: 11.279



Цитата
С таким не сталкивался, но опять же ремапп программный на удобноваримую для usb2kbd всегда рулит. Главное чтоб внешняя програ-ремаппер отлавливала эти "некоторые" клавиши.

Полная тишина. Система в принципе не понимает, что что-то нажимали. Ни логгеры не определители скан кодов. Проблема очень старая, кстати как раз тогда еще ахк использовал. Он тоже не видел.
Цитата
127 Keyboard Mute
128 Keyboard Volume Up
129 Keyboard Volume Down

и.т д.

Типа "Application:calculator"
Цитата
По сути дела это та же стоимость средней мыши + клавы в магазине (не самые навороченные, типа монстров Logitech, о которых как-то кто-то упоминал выше).

Мертвая ценовая категория для меня. Либо дешевенькую чтобы бегала либо топ. Правда последний топ уже 10 лет бегает и дохнуть не хочет...
Цитата
200грн/800р. (себестоимость + время на сборку/пайку + премирование идейности) и получает по "Новой Почте" (Украина) или Укрпочтой (Россия) "материал" по проекту в размере 1шт. Я думаю, это в первую очередь, касается администрации портала, так сказать, "пощупать", "потестить на деле".

Эхх а когда-то о 300р речь шла. Ну тут деваться особо не куда. По количеству надо только сориентироваться. 2-4 штуки будет.
Цитата
Если честно, я как бы с++ знаком менее 2 месяцев

Да не больше. Только меня еще и оторвали от ++ обстоятельства. А я еще и на визуал студии. Борладовские проекты открывать она не захотела.
Пример мапа для curl, который я делал дллки пилотовской. Там кстати только парсинг осталось дописать да руки никак не дойдут.
map
//главная функция
//необходимые CURL объекты
CURL *curl;
CURLcode result;
map <string, CURLoption> str_to_CURLopt = {
{ "_FILE", CURLOPT_FILE },
{ "_URL", CURLOPT_URL },
{ "_PORT", CURLOPT_PORT },
{ "_PROXY", CURLOPT_PROXY },
{ "_USERPWD", CURLOPT_USERPWD },
{ "_PROXYUSERPWD", CURLOPT_PROXYUSERPWD },
{ "_RANGE", CURLOPT_RANGE },
{ "_INFILE", CURLOPT_INFILE },
// { "_ERRORBUFFER", CURLOPT_ERRORBUFFER },
// { "_WRITEFUNCTION", CURLOPT_WRITEFUNCTION },
{ "_READFUNCTION", CURLOPT_READFUNCTION },
{ "_TIMEOUT", CURLOPT_TIMEOUT },
{ "_INFILESIZE", CURLOPT_INFILESIZE },
{ "_POSTFIELDS", CURLOPT_POSTFIELDS },
{ "_REFERER", CURLOPT_REFERER },
{ "_FTPPORT", CURLOPT_FTPPORT },
{ "_USERAGENT", CURLOPT_USERAGENT },
{ "_LOW_SPEED_LIMIT", CURLOPT_LOW_SPEED_LIMIT },
{ "_LOW_SPEED_TIME", CURLOPT_LOW_SPEED_TIME },
{ "_RESUME_FROM", CURLOPT_RESUME_FROM },
{ "_COOKIE", CURLOPT_COOKIE },
{ "_HTTPHEADER", CURLOPT_HTTPHEADER },
{ "_HTTPPOST", CURLOPT_HTTPPOST },
{ "_SSLCERT", CURLOPT_SSLCERT },
{ "_KEYPASSWD", CURLOPT_KEYPASSWD },
{ "_CRLF", CURLOPT_CRLF },
{ "_QUOTE", CURLOPT_QUOTE },
{ "_WRITEHEADER", CURLOPT_WRITEHEADER },
{ "_COOKIEFILE", CURLOPT_COOKIEFILE },
{ "_SSLVERSION", CURLOPT_SSLVERSION },
{ "_TIMECONDITION", CURLOPT_TIMECONDITION },
{ "_TIMEVALUE", CURLOPT_TIMEVALUE },
{ "_CUSTOMREQUEST", CURLOPT_CUSTOMREQUEST },
{ "_STDERR", CURLOPT_STDERR },
{ "_POSTQUOTE", CURLOPT_POSTQUOTE },
{ "_WRITEINFO", CURLOPT_WRITEINFO },
{ "_VERBOSE", CURLOPT_VERBOSE },
{ "_HEADER", CURLOPT_HEADER },
{ "_NOPROGRESS", CURLOPT_NOPROGRESS },
{ "_NOBODY", CURLOPT_NOBODY },
{ "_FAILONERROR", CURLOPT_FAILONERROR },
{ "_UPLOAD", CURLOPT_UPLOAD },
{ "_POST", CURLOPT_POST },
{ "_DIRLISTONLY", CURLOPT_DIRLISTONLY },
{ "_APPEND", CURLOPT_APPEND },
{ "_NETRC", CURLOPT_NETRC },
{ "_FOLLOWLOCATION", CURLOPT_FOLLOWLOCATION },
{ "_TRANSFERTEXT", CURLOPT_TRANSFERTEXT },
{ "_PUT", CURLOPT_PUT },
{ "_PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION },
{ "_PROGRESSDATA", CURLOPT_PROGRESSDATA },
{ "_AUTOREFERER", CURLOPT_AUTOREFERER },
{ "_PROXYPORT", CURLOPT_PROXYPORT },
{ "_POSTFIELDSIZE", CURLOPT_POSTFIELDSIZE },
{ "_HTTPPROXYTUNNEL", CURLOPT_HTTPPROXYTUNNEL },
// { "_INTERFACE", CURLOPT_INTERFACE },
{ "_KRBLEVEL", CURLOPT_KRBLEVEL },
{ "_SSL_VERIFYPEER", CURLOPT_SSL_VERIFYPEER },
{ "_CAINFO", CURLOPT_CAINFO },
{ "_MAXREDIRS", CURLOPT_MAXREDIRS },
{ "_FILETIME", CURLOPT_FILETIME },
{ "_TELNETOPTIONS", CURLOPT_TELNETOPTIONS },
{ "_MAXCONNECTS", CURLOPT_MAXCONNECTS },
{ "_CLOSEPOLICY", CURLOPT_CLOSEPOLICY },
{ "_FRESH_CONNECT", CURLOPT_FRESH_CONNECT },
{ "_FORBID_REUSE", CURLOPT_FORBID_REUSE },
{ "_RANDOM_FILE", CURLOPT_RANDOM_FILE },
{ "_EGDSOCKET", CURLOPT_EGDSOCKET },
{ "_CONNECTTIMEOUT", CURLOPT_CONNECTTIMEOUT },
{ "_HEADERFUNCTION", CURLOPT_HEADERFUNCTION },
{ "_HTTPGET", CURLOPT_HTTPGET },
{ "_SSL_VERIFYHOST", CURLOPT_SSL_VERIFYHOST },
{ "_COOKIEJAR", CURLOPT_COOKIEJAR },
{ "_SSL_CIPHER_LIST", CURLOPT_SSL_CIPHER_LIST },
{ "_HTTP_VERSION", CURLOPT_HTTP_VERSION },
{ "_FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV },
{ "_SSLCERTTYPE", CURLOPT_SSLCERTTYPE },
{ "_SSLKEY", CURLOPT_SSLKEY },
{ "_SSLKEYTYPE", CURLOPT_SSLKEYTYPE },
{ "_SSLENGINE", CURLOPT_SSLENGINE },
{ "_SSLENGINE_DEFAULT", CURLOPT_SSLENGINE_DEFAULT },
{ "_DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE },
{ "_DNS_CACHE_TIMEOUT", CURLOPT_DNS_CACHE_TIMEOUT },
{ "_PREQUOTE", CURLOPT_PREQUOTE },
{ "_DEBUGFUNCTION", CURLOPT_DEBUGFUNCTION },
{ "_DEBUGDATA", CURLOPT_DEBUGDATA },
{ "_COOKIESESSION", CURLOPT_COOKIESESSION },
{ "_CAPATH", CURLOPT_CAPATH },
{ "_BUFFERSIZE", CURLOPT_BUFFERSIZE },
{ "_NOSIGNAL", CURLOPT_NOSIGNAL },
{ "_SHARE", CURLOPT_SHARE },
{ "_PROXYTYPE", CURLOPT_PROXYTYPE },
{ "_ENCODING", CURLOPT_ENCODING },
{ "_PRIVATE", CURLOPT_PRIVATE },
{ "_HTTP200ALIASES", CURLOPT_HTTP200ALIASES },
{ "_UNRESTRICTED_AUTH", CURLOPT_UNRESTRICTED_AUTH },
{ "_FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT },
{ "_HTTPAUTH", CURLOPT_HTTPAUTH },
{ "_SSL_CTX_FUNCTION", CURLOPT_SSL_CTX_FUNCTION },
{ "_SSL_CTX_DATA", CURLOPT_SSL_CTX_DATA },
{ "_FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS },
{ "_PROXYAUTH", CURLOPT_PROXYAUTH },
{ "_FTP_RESPONSE_TIMEOUT", CURLOPT_FTP_RESPONSE_TIMEOUT },
{ "_IPRESOLVE", CURLOPT_IPRESOLVE },
{ "_MAXFILESIZE", CURLOPT_MAXFILESIZE },
{ "_INFILESIZE_LARGE", CURLOPT_INFILESIZE_LARGE },
{ "_RESUME_FROM_LARGE", CURLOPT_RESUME_FROM_LARGE },
{ "_MAXFILESIZE_LARGE", CURLOPT_MAXFILESIZE_LARGE },
{ "_NETRC_FILE", CURLOPT_NETRC_FILE },
{ "_USE_SSL", CURLOPT_USE_SSL },
{ "_POSTFIELDSIZE_LARGE", CURLOPT_POSTFIELDSIZE_LARGE },
// { "_TCP_NODELAY", CURLOPT_TCP_NODELAY },
{ "_FTPSSLAUTH", CURLOPT_FTPSSLAUTH },
{ "_IOCTLFUNCTION", CURLOPT_IOCTLFUNCTION },
{ "_IOCTLDATA", CURLOPT_IOCTLDATA },
{ "_FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT },
{ "_COOKIELIST", CURLOPT_COOKIELIST },
{ "_IGNORE_CONTENT_LENGTH", CURLOPT_IGNORE_CONTENT_LENGTH },
{ "_FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP },
{ "_FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD },
{ "_LOCALPORT", CURLOPT_LOCALPORT },
{ "_LOCALPORTRANGE", CURLOPT_LOCALPORTRANGE },
{ "_CONNECT_ONLY", CURLOPT_CONNECT_ONLY },
{ "_CONV_FROM_NETWORK_FUNCTION", CURLOPT_CONV_FROM_NETWORK_FUNCTION },
{ "_CONV_TO_NETWORK_FUNCTION", CURLOPT_CONV_TO_NETWORK_FUNCTION },
{ "_CONV_FROM_UTF8_FUNCTION", CURLOPT_CONV_FROM_UTF8_FUNCTION },
{ "_MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE },
{ "_MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE },
{ "_FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER },
{ "_SOCKOPTFUNCTION", CURLOPT_SOCKOPTFUNCTION },
{ "_SOCKOPTDATA", CURLOPT_SOCKOPTDATA },
{ "_SSL_SESSIONID_CACHE", CURLOPT_SSL_SESSIONID_CACHE },
{ "_SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES },
{ "_SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE },
{ "_SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE },
{ "_FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC },
{ "_TIMEOUT_MS", CURLOPT_TIMEOUT_MS },
{ "_CONNECTTIMEOUT_MS", CURLOPT_CONNECTTIMEOUT_MS },
{ "_HTTP_TRANSFER_DECODING", CURLOPT_HTTP_TRANSFER_DECODING },
{ "_HTTP_CONTENT_DECODING", CURLOPT_HTTP_CONTENT_DECODING },
{ "_NEW_FILE_PERMS", CURLOPT_NEW_FILE_PERMS },
{ "_NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS },
{ "_POSTREDIR", CURLOPT_POSTREDIR },
{ "_SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 },
{ "_OPENSOCKETFUNCTION", CURLOPT_OPENSOCKETFUNCTION },
{ "_OPENSOCKETDATA", CURLOPT_OPENSOCKETDATA },
{ "_COPYPOSTFIELDS", CURLOPT_COPYPOSTFIELDS },
{ "_PROXY_TRANSFER_MODE", CURLOPT_PROXY_TRANSFER_MODE },
{ "_SEEKFUNCTION", CURLOPT_SEEKFUNCTION },
{ "_SEEKDATA", CURLOPT_SEEKDATA },
{ "_CRLFILE", CURLOPT_CRLFILE },
{ "_ISSUERCERT", CURLOPT_ISSUERCERT },
{ "_ADDRESS_SCOPE", CURLOPT_ADDRESS_SCOPE },
{ "_CERTINFO", CURLOPT_CERTINFO },
{ "_USERNAME", CURLOPT_USERNAME },
{ "_PASSWORD", CURLOPT_PASSWORD },
{ "_PROXYUSERNAME", CURLOPT_PROXYUSERNAME },
{ "_PROXYPASSWORD", CURLOPT_PROXYPASSWORD }
};
//инициализируем curl
curl = curl_easy_init();

Смысл в то, что когда прилетает параметр _PROXYPASSWORD, то он заменяется на CURLOPT_PROXYPASSWORD. CURLOPT_PROXYPASSWORD же в свою очередь является числом определенным через define самим кулом. Т.е. вызывая элемент массива [ n 1 ] мы по факту обращаемся к [n 2]. Это позволяет строкой обращаться к числу и не иметь проблем с типами данных.

Сообщение отредактировал DarkMaster - 25.1.2014, 20:14


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 25.1.2014, 21:47
Сообщение #100


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 25.1.2014, 21:12) *

По количеству надо только сориентироваться. 2-4 штуки будет.


В данный момент имеется 3 "материала по проекту". Остальное, если необходимо, смогу дособрать в кротчайшие сроки.

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

Что касается Dll-ки, пока оставляю как есть. В принципе, основные функции она выполняет - можно будет тестить, остальное косметика.

Из приятного: планирую отснять и добавить видео "Usb2kbd и UoPilot".
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

10 страниц V « < 3 4 5 6 7 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.6.2024, 0:53
Designed by Nickostyle