forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   Несколько мышей в Блице (http://forum.boolean.name/showthread.php?t=5897)

Vyacheslav 10.04.2008 20:52

Несколько мышей в Блице
 
Допустим, к компу подключены 2 мыши через USB. Как их обрабатывать в Блице? Если только через DLL - есть у кого примеры? Очень важная тема, прошу помощи.

ABTOMAT 10.04.2008 21:20

Ответ: Несколько мышей в Блице
 
Интересно... Никогда о таком не думал.
ХЗ как сделать, но за темкой послежу - тоже заинтересовало :)

jimon 10.04.2008 21:35

Ответ: Несколько мышей в Блице
 
Vyacheslav
писать свои драйвера
потому что как я знаю две мышки в юсб это не два курсора в винде

Vyacheslav 10.04.2008 23:33

Ответ: Несколько мышей в Блице
 
:) Прикол в том, что потом будет 2 курсора (и больше). Допустим, два игрока управляют 2-я объектами 2-я мышами.

jimon 10.04.2008 23:46

Ответ: Несколько мышей в Блице
 
http://jstookey.com/arcade/rawmouse/

Vyacheslav 10.04.2008 23:50

Ответ: Несколько мышей в Блице
 
Пасиба, jimon, это клёвая тема, но есть еще один прикол - я ВижуалСтудию не сильно юзаю. У меня что-то подобное есть - длл-ки даже, но я - ленивый :) и не могу выцарапать оттуда нужные функции, подписать .decls-файл... :) ищу легких путей... :))

Venom 11.04.2008 02:59

Ответ: Несколько мышей в Блице
 
Вложений: 1
Vyacheslav
Держи

Vyacheslav 11.04.2008 16:11

Ответ: Несколько мышей в Блице
 
Спасибо, Venom. Знаю, для сишников исходник всё говорит, а можешь мне немного рассказать о принципе работы?

Venom 11.04.2008 17:33

Ответ: Несколько мышей в Блице
 
Цитата:

Сообщение от Vyacheslav (Сообщение 79411)
Спасибо, Venom. Знаю, для сишников исходник всё говорит, а можешь мне немного рассказать о принципе работы?

В библиотеке User32 есть некоторые функции, которые позволяют определить подключеные устройства ввода типа
клавиатур, мышей, джойстиков и т.п - GetRawInputDeviceList, GetRawInputDeviceInfo и RegisterRawInputDevices
Так вот библиотека обрабатывает этот список, находя устройства подходящие под
категорию "манипулятор мышь" ^_^ формируя массив структур данных (для дальнейшей обработки)
После чего регистрирует в системе обработчик мышей :) Все это делает функция InitMousex
Далее, с помощью функции CreateMousex, на блицевское окно ставится коллбэк
(WindowCallback - функция обработки сообщений) и отлавливается сообщение WM_INPUT
(эта возможность появилась начиная с XP, DirectInput кстати тоже с этим сообщением работает)
Вместе с WM_INPUT приходит данные обрабатываемого устройства которые передаются в функцию ReadMousex,
где и разбираются "по полочкам"
Вот примерно так и рабоатет ^_^

Vyacheslav 11.04.2008 17:50

Ответ: Несколько мышей в Блице
 
Спасибо, теперь всё кристально ясно :). Вообще, хорошо, когда разбираешься в принципах работы виндовса - тогда не важно на каком языке пишешь - главное основа ;) Еще раз спасибо.

Venom 11.04.2008 17:59

Ответ: Несколько мышей в Блице
 
Вложений: 1
Цитата:

Сообщение от Vyacheslav (Сообщение 79416)
Спасибо, теперь всё кристально ясно :). Вообще, хорошо, когда разбираешься в принципах работы виндовса - тогда не важно на каком языке пишешь - главное основа ;) Еще раз спасибо.

я еще на всякий случай исходник прокомментировал, мало-ли ^_^

moka 14.04.2008 18:27

Ответ: Несколько мышей в Блице
 
Спасибо за описание, хорошая инфа, и интерестный опыт :)

KiberPUNK 21.04.2010 23:53

Ответ: Несколько мышей в Блице
 
Да уж. Доводилось мне с этим самым RawInput поработать, правда в Дельфи, но не суть дело. Очень интересная тема, однако.

Кстати, о принципах работы ЮСБ и ХИД-устройств Агуров П. В. "Практика программирования USB" писал. Очень исчерпывающая и полная информация об этом деле. Кому вдруг пригодится -- гуглите ;)

EvilChaotic 22.04.2010 00:10

Ответ: Несколько мышей в Блице
 
Цитата:

Сообщение от KiberPUNK (Сообщение 145235)
Да уж. Доводилось мне с этим самым RawInput поработать, правда в Дельфи, но не суть дело. Очень интересная тема, однако.

Кстати, о принципах работы....

Ты дату видел?

mr.DIMAS 26.04.2010 09:15

Ответ: Несколько мышей в Блице
 
Если тема интересная, а она таковой является, почему бы не продолжить?


Часовой пояс GMT +4, время: 14:59.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot