Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Лазер мышки, как определить включение лазера? 
:(
    Опции темы
Ergoz
Дата 30.8.2010, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



Приветствую всех. Хочу написать одну программку, но не могу разобраться как реализовать один момент.

Допустим есть 2 юсб мышки, лазерных. Которые если чуть двинул лазер загорается сильнее, через некоторое время тухнет. Так вот вопрос, как можно перехватить загорание и выключение лазера в одной мышке? Нужно отлавливать только какую то определённую мышь.. Я предполагаю что это может быть можно как то через

 SetWindowsHookEx(WH_MOUSE, @HookProc, HInstance,0) ;

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

п.с. Движение мышки не предлагать! проставлюсь пивом если поможете!
PM MAIL ICQ   Вверх
Frees
Дата 30.8.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



в мыши нет лазера
Вряд ли мышь информирует систему о загорании "лазера"


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Ergoz
Дата 30.8.2010, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



ну да, я имел ввиду светодиод этот красный, как определить програмно что он включился и выключился???
ну не думаю я что это на самой плате пропечатано в микроконтроллере... я уверен что как нибудь это сделать можно...

Это сообщение отредактировал(а) Ergoz - 30.8.2010, 21:08
PM MAIL ICQ   Вверх
CodeMonkey
Дата 30.8.2010, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



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

Но вы можете угадать. Типа, через полторы секунды после последнего движения мыши. Но смысл? У одной мыши полторы, у другой две, а третья и вовсе лазерная - у неё подсветки нету.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ergoz
Дата 30.8.2010, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



просто делаю лазерную сигнализацию, как описано в этой статье: _http://www.delphiexpert.ru/view_lesson.php?id=74
но не могу придумать как сделать так чтоб можно было поставить сигналку, и в это же время спокойно работать за тем же помпьютером, а ставить отдельный серв под это нет возможности.. может вы подкините идей? Может можно как то заблокировать одну только мышку на дивжение, но обрабатывать команды, опять же только с неё? Не могу понять как именно нужную мышку определить..
PM MAIL ICQ   Вверх
CodeMonkey
Дата 31.8.2010, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Упал. Под стол. 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
casinosoftguru
Дата 31.8.2010, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



попробуй поискать какой нибудь usb monitor и отловить сигнал который выдает мышь если в ее "лазер" светить указкой как в видеопримере.. именно на нужном тебе порту. в идеале - придется перепаять устройство - выкинуть все ненужное из конструкции мыши и написать свой драйвер smile 
автор видеоурока использовал делфи чтобы событие отловить именно движения над кнопкой.. а к событию загорелся\потух "лазер" у мыши надо подходить имхо с другой стороны

Это сообщение отредактировал(а) casinosoftguru - 31.8.2010, 16:10
PM MAIL   Вверх
Ergoz
Дата 31.8.2010, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



ну это да) но хотелось чтоб меньше геморроя было)))
PM MAIL ICQ   Вверх
CodeMonkey
Дата 1.9.2010, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Меньше геморроя? Купите конструктор Лего со светодатчиками - получится в разы проще и (что главное) функциональнее.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Mikel
Дата 1.9.2010, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Мышка о переключении яркости светодиода сообщать не будет- это фишка самой мыши, экономия энергии. Если б можно было измерять ток соответствующего USB порта, то можно было бы и определить когда он включается ярче. Но во-первых, ток не измеряется, а есть только порог срабатывания превышения тока потребления, а во-вторых, если бы даже и измерялось, будет некорректно срабатывать при подключении еще одного устройства.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Ergoz
Дата 2.9.2010, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



хорошо, тогда скажите, реально ли отследить определённую мыш, как именно определённую мышку найти, и сделать так что именно если она послала сигнал о перемещении то тогда выполнить определённый код, но блокировать от этой мышки все перемещения? но чтоб вторая мыш в это время спокойно работала и программа на неё никак не реагировала?
PM MAIL ICQ   Вверх
Mikel
Дата 2.9.2010, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



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

Да, резистор ставь хотя бы 500 Ом. Если реакции от его подключения и свечения указкой не будет, уменьшай.

Это сообщение отредактировал(а) Mikel - 2.9.2010, 08:57


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
CodeMonkey
Дата 2.9.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Цитата(Ergoz @  2.9.2010,  01:59 Найти цитируемый пост)
хорошо, тогда скажите, реально ли отследить определённую мыш, как именно определённую мышку найти, и сделать так что именно если она послала сигнал о перемещении то тогда выполнить определённый код, но блокировать от этой мышки все перемещения? но чтоб вторая мыш в это время спокойно работала и программа на неё никак не реагировала? 


Писать драйвер мыши или драйвер-фильтр. Не для вашего уровня. Купите себе лего и успокойтесь.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
v1m
Дата 2.9.2010, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


v1mka



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 10.6.2010

Репутация: 1
Всего: 1



Цитата(Ergoz @ 30.8.2010,  23:28)
просто делаю лазерную сигнализацию, как описано в этой статье: _http://www.delphiexpert.ru/view_lesson.php?id=74
но не могу придумать как сделать так чтоб можно было поставить сигналку, и в это же время спокойно работать за тем же помпьютером, а ставить отдельный серв под это нет возможности.. может вы подкините идей? Может можно как то заблокировать одну только мышку на дивжение, но обрабатывать команды, опять же только с неё? Не могу понять как именно нужную мышку определить..

да он же там не смотрит загорается или нет(до конца не досмотрел)
он смотрит сместился ли курсор.
PM MAIL   Вверх
Ergoz
Дата 3.9.2010, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



в том то и дело, а я хочу сделать иначе) вот и спрашиваю. с перемещением курсора любой может сделать))

А разве нельзя хукнуть определённую мышь? или хукается сразу всё?
PM MAIL ICQ   Вверх
CodeMonkey
Дата 3.9.2010, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



В Windows не существует понятия "отдельная мышь" для прикладного уровня.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ergoz
Дата 3.9.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



то есть то что я хочу сделать можно реализовать только на уровне драйвера, или пустить через компорт или как то не софтовым образом? жаль) спасибо за инфу, буду пытаться что-то придумать...
PM MAIL ICQ   Вверх
CodeMonkey
Дата 3.9.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Вам уже подсказали насчёт LPT порта (и конструктора Лего smile ). Это будет в разы проще.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ergoz
Дата 3.9.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



да, я уже скачал даже схему лтп порта, но ещё не совсем понял как оттуда реагировать на события, но погуглю. спс за идеи!
PM MAIL ICQ   Вверх
northener
Дата 4.9.2010, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(Ergoz @  3.9.2010,  23:23 Найти цитируемый пост)
да, я уже скачал даже схему лтп порта, но ещё не совсем понял как оттуда реагировать на события, но погуглю

Вряд ли гугль поможет. Там большинство примеров (если не все) относятся к временам MS-DOS.
А вот подходящий "конструктор ЛЕГо" (с) CodeMonkey посоветовать можно. Но нужно научиться работать с микропроцессорами. Достаточно простейших. А уж сколько интересных конструкций можно при этом сделать! Ваши знакомые будут просто в отпаде! smile 


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
v1m
Дата 4.9.2010, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


v1mka



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 10.6.2010

Репутация: 1
Всего: 1



Цитата(northener @  4.9.2010,  00:14 Найти цитируемый пост)
Вряд ли гугль поможет. 

помог...
http://www.pcports.ru/Articles.php

PM MAIL   Вверх
CodeMonkey
Дата 4.9.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



На самом деле много чего готового можно найти. Я как-то интереса ради программировал LCD дисплейчик на 4 текстовых строки, подключаемый к LPT. Но для практики - плюнул и взял готовую прожку.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ergoz
Дата 4.9.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



вим!! спс за ссыль!!! очень интересные статьи, кто может поставьте плюс ему от меня.. поехал за резисторами и светодиодами... надо сообразить как с лпт порта остледить отсутствие луча лазерной указки, какие нужны вещи.. я не радиоэлектронщик
PM MAIL ICQ   Вверх
northener
Дата 5.9.2010, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(Ergoz @  4.9.2010,  16:59 Найти цитируемый пост)
вим!! спс за ссыль!!! очень интересные статьи, кто может поставьте плюс ему от меня.. поехал за резисторами и светодиодами... надо сообразить как с лпт порта остледить отсутствие луча лазерной указки, какие нужны вещи..

Да гугль помог!
Автор раскошелился! smile



--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Ergoz
Дата 5.9.2010, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.6.2009
Где: Россия

Репутация: нет
Всего: нет



Да, я уже даже продумал схему работы)) посылаем через внешнее устройство (фотоэлемент, датчик движения и др) пакет, на часть Status, оттуда программа каждые 1-2 секунды читает значение, и если оно изменилось то реагируем на это.

Сегодня обошёл весь район, нигде провода лпт нету, полная попа, придётся ехать на горбушку, там искать, и нужно PSI карточку взять с портом... в общем работы ещё куча, а проблем ещё больше с этим (проводов почти не достать)
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1125 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.