USB-джойстик с C ++ и DirectInput - PullRequest
2 голосов
/ 16 марта 2012

Я пытался прочитать данные (ось x / y, нажатые кнопки и т. Д.) С USB-джойстика, и я слышал о DirectInput.Долго пытались найти достойный пример или пошаговое руководство с небольшим успехом.Если кто-то может поделиться простым руководством или направить меня в нужное место, я буду в долгу.Спасибо

редактировать: пытаясь достичь этой цели на платформе Windows

Ответы [ 3 ]

4 голосов
/ 16 марта 2012

В DirectX SDK есть несколько примеров DirectInput, исходного кода и скомпилированных двоичных файлов.В комплекте есть Joystick образец.Более старые версии SDK (ищите "DirectX 9.0 SDK", годы вокруг 2004-2005) имели еще больше образцов, вплоть до дюжины!

Образец джойстика


ОписаниеПример программы джойстика получает и отображает данные джойстика.

Путь Источник: (корень SDK) \ Samples \ C ++ \ DirectInput \ Joystick

Исполняемый файл: (корень SDK) \ Samples \ C ++ \ DirectInput \Bin \ Joystick.exe

Руководство пользователя Обратите внимание, как отображаемые данные изменяются при перемещении и повороте ручки, вращении дроссельной заслонки и нажатии кнопок в различных комбинациях.

Замечания по программированию Опрос приложенийджойстик для немедленных данных в ответ на таймер, установленный внутри диалоговой процедуры.

0 голосов
/ 22 декабря 2016

Я использовал walbourn/directx-sdk-samples на github, и он отлично работает.

Мне пришлось настроить .pro файл следующим образом, чтобы запустить его на Qt Creator:

TEMPLATE = app
CONFIG += c++14
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp
HEADERS += resource.h
DISTFILES += directx.ico joystick.rc
RC_FILE = joystick.rc

DEFINES -= UNICODE
#DEFINES += _MBCS

win32: QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
win32: QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
win32: QMAKE_CXXFLAGS_DEBUG -= -Zc:strictStrings
win32: QMAKE_CFLAGS_DEBUG -= -Zc:strictStrings
win32: QMAKE_CFLAGS -= -Zc:strictStrings
win32: QMAKE_CXXFLAGS -= -Zc:strictStrings

LIBS += -L"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.10240.0/um/x64"
LIBS += -lshell32 -luser32 -ldxguid -lcomctl32 -lole32 -loleaut32 -ldinput8
0 голосов
/ 16 марта 2012

Возможно, это может помочь вам:

  1. Устройства прямого ввода
  2. Джойстик Coding4Fun

на самом деле Coding4Fun имеет много интересных вещей. Это началось примерно в то время, когда были выпущены Win7.

...