Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 5

Game порт. или не Game порт

28.05.2013, 12:04. Показов 2840. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Конструирую свой игровой девайс (корабельный штурвал). Суть - вращаемый вал, непосредственно над ним лазерная мышь. С помощью JMouse мышь эмулируется как стандартный джойстик.
Проблема: Необходимо адаптировать "руль" к игре его не поддерживающую, то есть программа эмулирует нажатия клавиш управления клавиатуры с частотой пропорциональной углу поворота штурвала. Готовых решения способных на это не нашёл.
Вопрос: подскажите, пожалуйста, куда рыть? Насколько я понимаю JMouse эмулирует джойстик подключённый к Game порту, можно ли получить с него данные о положении джойстика?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.05.2013, 12:04
Ответы с готовыми решениями:

2D Game
Вот корявая, но "сделанная" (помогали) ИГРА! И движок (по урокам) скинул. ...

Microsoft XNA Game Studio или любая 3d графика
Я хочу сделать 3d модели для игры и слышал что используют xnb файлы как файлы трехмерной графики... Но я не знаю: 1)Какую именно...

Открыть порт 4444 в брэндмауэре. Антивируса нет. провайдером порт открыт
Подскажите как открыть данный порт,все делал как тут http://windows.microsoft.com/ru-ru/windows/open-port-windows-firewall#1TC=windows-7....

8
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
28.05.2013, 13:39
Цитата Сообщение от Четырёхгранник Посмотреть сообщение
нажатия клавиш управления клавиатуры
Не думаю что это можно решить с помощью JMOUSE.

Но есть идея.
1. Вообще думаю game порт лучше заменить на usb. Как библиотеку взаимосвязи использовать opensource http://www.libusb.org/
2. Независимо от порта Вам нужен будет свой протокол передачи, чтобы "руль запаковывал" данные, а "программа на компе распаковывала".
3. После запуска игры запускается ваша программа. "Садитесь слушать" usb порт. Когда с порта придет пакет, расшифровывайте его и симулируете нажатие (можно попробовать обычным postом на дескриптор окна игры или каким-то более низкоуровневым потипу keybd_event, SendInput и т.д.).
0
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 5
28.05.2013, 14:17  [ТС]
Цитата Сообщение от stima Посмотреть сообщение
Не думаю что это можно решить с помощью JMOUSE.
То ли я Вас не понял, то ли Вы меня. JMOUSE и не решает этой проблемы, JMOUSE лишь создаёт для меня джойстик из мыши. А я хочу написать программу которая будет "нажимать" кнопки управления. Проблема в том как программе получить данные о состоянии джойстика (нужно то всего одно значение). Джойстик определяется как HID устройство, функционирует, калибруется.

Вторая (видимо основная) проблема - я далеко не программист(хотя интересуюсь), и написать полновесный драйвер для меня крутовато. Вместе с тем, мне кажется я в шаге до финала - JMOUSE делает главное - создаёт для меня джойстик из дополнительной мыши, которая не мешает основной(со всеми драйверами и тд.). Мне нужно лишь откуда-то вытащить значение этой оси.
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
28.05.2013, 14:27
Я думаю. Вам вообще не стоит ничего писать). Погуглите ppmouse & ppjoy. Я глазом глянул, должно хватить под ваши нужды.
1
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 5
28.05.2013, 14:28  [ТС]
http://habrahabr.ru/post/124851/ нашёл такой вариант. Программа отображает название джойстика, но данных нет. Может ли ли это быть связано с тем что(на сколько я понимаю) JMouse использует Game порт?
0
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
28.05.2013, 14:34
в unity я где-то видел скрипты для подключения к игре различных устройств. всё в открытом виде, но зачастую на шарпе или на яве.
но суть в том, что этот скрипт, который будет перехватывать любые данные с устройства(вашей якобы мышки) и эмулировать нажатия клавиш(действияв игре). минус - будет работать только в игре на самом этом движке.
и второй минус - я не помню ни где я это видел, ни названия этих скриптов. но это проплывало у меня где-то перед глазами
0
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 5
28.05.2013, 16:16  [ТС]
Цитата Сообщение от stima Посмотреть сообщение
Я думаю. Вам вообще не стоит ничего писать). Погуглите ppmouse & ppjoy. Я глазом глянул, должно хватить под ваши нужды.
сейчас внимательнее посмотрю

Добавлено через 1 час 36 минут
Цитата Сообщение от stima Посмотреть сообщение
Я думаю. Вам вообще не стоит ничего писать). Погуглите ppmouse & ppjoy. Я глазом глянул, должно хватить под ваши нужды.
Ну как и в первый раз я не нашёл того что нужно. Смотрел ppjoy, пробовал joy to key. Они эмулируют джойстик через нажатия клавиатуры, но не умеют делать это дифференцированно. То есть возможны только 2 варианта - или джойстик вертикально и клавиши управления отжаты, или джойстик наклонён(вне зависимости от угла) - клавиши управления зажаты. Исчезает вся чуть рулевого управления. Я же хочу сделать чтобы клавиши управления были зажаты только в крайних положениях джойстика, а в промежуточных нажимались с паузами различной длительности.
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
28.05.2013, 16:42
Насколько я понял (хотя не буду утверждать)
An analog value read from a joystick with the direction reversed. ('A xx rev' in the drop-down list.)
Это то что Вам надо.

п.с. Иначе остается велосипедить)
0
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 5
28.05.2013, 17:37  [ТС]
Цитата Сообщение от stima Посмотреть сообщение
Насколько я понял (хотя не буду утверждать)

Это то что Вам надо.

п.с. Иначе остается велосипедить)
Насколько я понимаю из контекста, тут речь идёт об настройке сигнала который будет восприниматься от джойстика системой. То есть это настройка между реальным джойстиком и PPjoy. У меня это уже настроено - я вижу в системе аналоговый джойстик. Но игра его не поддерживает и не воспринимает. А клавиатура, как известно, исключительно дискретное устройство. По-этому мне нужен буквально программный АЦП. И единственное чего мне для него не хватает - это способ узнать угол отклонения руля.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2013, 17:37
Помогаю со студенческими работами здесь

В конфигурационном файле прописан порт, но пишет ошибку порт 80 занят другим приложением
Здравствуйте. Пишу решение с 2 проектами - сервер и клиент с дуплексным контрактом. Служба запускается нормально. Когда же запускаю...

Game
игра: картинка(курсор) должен при ударе в шейп исчезать,помогите ето сделать.

Game Monitor
Может кто-нибудь объяснить принцип работы этих программ? И как на дельфи реализовать опросник например для бф-а или контры (типа CS Monitor...

HARD FOR GAME
Всех кто посетил эту тему и оставил отзыв благодарю! Ссылка на драйверы для карт AMD http://www.amd.com/ru/Pages/AMDHomePage.aspx ...

Game for Builder C++
Добрый день всем. Нужна помощь в построении игры на С++. Есть панель, на не розмещаеться изображения. Нужно з помощю его контекстного меню...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru