Здравствуйте. Хочу подключить геймпад (комп его видит), но лабвью что-то его не видит.
Видимо, это не джойстик...
Вопрос таков: как мне считывать его ?
Спасибо
Не могу найти джойстик
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Не могу найти джойстик
А что в других двух кластерах (key info / mouse info)? И что хотите сделать с этим контроллером в ?zxc_pavel писал(а):Вопрос таков: как мне считывать его ?
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Не могу найти джойстик
Там одна мышь и одна клавиатура, больше ничего.А что в других двух кластерах (key info / mouse info)? И что хотите сделать с этим контроллером в ?
Хочу поуправлять с помощью геймпада шаговыми двигателями
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Не могу найти джойстик
zxc_pavel
Похоже, ситуация у вас следующая. Сам джойстик поддерживает DirectInput и должен без проблем работать через DirectX API (на котором работает Query Input Devices ). Однако в самом есть то ли баг, то ли фича - этот возвращает только первые 8 устройств, работающих на DirectInput. Обсуждается здесь: http://208.74.204.114/t5/forums/v3_1/fo ... 343/page/1 Если этот джойстик у вас нормально работает в других программах, в играх, настраивается и виден в утилитах от производителя, то можно посоветовать что-нибудь следующее:
- поперебирать USB-порты, чтобы джойстик оказался назначен на какой-то из первых 8 слотов (конечно, вряд ли сработает, но всё же);
- эмулировать джойстик Xbox 360 через x360ce (TocaEdit Xbox 360 Controller Emulator), подробнее тут: https://glashkoff.com/blog/games/x360ce ... dzhoystik/
- разобраться с DirectX API и реализовать работу с устройством напрямую (через CLFN или свою библиотеку написать). Стартовая точка: http://forums.ni.com/t5/LabVIEW/LabVIEW ... -p/2736376 ;
- отключить какое-либо из не использующихся устройств (поглядите в dxdiag, какие вообще есть устройства).
Пока что не знаю, что ещё предложить. Если какие-то мысли появятся, напишу.
Похоже, ситуация у вас следующая. Сам джойстик поддерживает DirectInput и должен без проблем работать через DirectX API (на котором работает Query Input Devices ). Однако в самом есть то ли баг, то ли фича - этот возвращает только первые 8 устройств, работающих на DirectInput. Обсуждается здесь: http://208.74.204.114/t5/forums/v3_1/fo ... 343/page/1 Если этот джойстик у вас нормально работает в других программах, в играх, настраивается и виден в утилитах от производителя, то можно посоветовать что-нибудь следующее:
- поперебирать USB-порты, чтобы джойстик оказался назначен на какой-то из первых 8 слотов (конечно, вряд ли сработает, но всё же);
- эмулировать джойстик Xbox 360 через x360ce (TocaEdit Xbox 360 Controller Emulator), подробнее тут: https://glashkoff.com/blog/games/x360ce ... dzhoystik/
- разобраться с DirectX API и реализовать работу с устройством напрямую (через CLFN или свою библиотеку написать). Стартовая точка: http://forums.ni.com/t5/LabVIEW/LabVIEW ... -p/2736376 ;
- отключить какое-либо из не использующихся устройств (поглядите в dxdiag, какие вообще есть устройства).
Пока что не знаю, что ещё предложить. Если какие-то мысли появятся, напишу.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Не могу найти джойстик
dadreamer
БОЛЬШОЕ Спасибо!!! Проблема в слотах.
Попытки решить.
1) Взял ноутбук - там работает
2) Мышь с клавиатурой включены:
Геймпад не влезает в первые 8
3) Отключаю мышь и клаву: LV в джойстках видит только мой геймпад и все работает
Потом можно вставить клаву и мышь - работает
Но если перезапустить LV - опять не видно. Но в целом курс ясен, спасибо еще раз :)
4) Пытаюсь искать в системных dll методы обращения. Пока не очень, только запутываюсь ( http://netlib.narod.ru/library/book0051/ch03_03.htm )
БОЛЬШОЕ Спасибо!!! Проблема в слотах.
Попытки решить.
1) Взял ноутбук - там работает
2) Мышь с клавиатурой включены:
Геймпад не влезает в первые 8
3) Отключаю мышь и клаву: LV в джойстках видит только мой геймпад и все работает
Потом можно вставить клаву и мышь - работает
Но если перезапустить LV - опять не видно. Но в целом курс ясен, спасибо еще раз :)
4) Пытаюсь искать в системных dll методы обращения. Пока не очень, только запутываюсь ( http://netlib.narod.ru/library/book0051/ch03_03.htm )
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Не могу найти джойстик
Может быть, проще будет использовать .NET враппер DirectX, такой как SharpDX или SlimDX. Примеры использования на C#: http://stackoverflow.com/questions/3929 ... -sharp-netzxc_pavel писал(а):4) Пытаюсь искать в системных dll методы обращения. Пока не очень, только запутываюсь ( http://netlib.narod.ru/library/book0051/ch03_03.htm )