带有C ++和DirectInput的USB操纵杆

时间:2012-03-16 18:24:53

标签: c++ joystick directinput

我一直试图从usb操纵杆读取数据(x / y轴,按下按钮等),我听说过DirectInput。一直在寻找一个很长时间找到一个体面的例子或演练,但收效甚微。如果有人可以分享一个简单的教程,或指导我到正确的地方,我将负债。谢谢

编辑:尝试在Windows平台上实现此目标

3 个答案:

答案 0 :(得分:4)

DirectX SDK中有一些DirectInput示例,源代码和已编译的二进制文件。包括Joystick样本。较旧版本的SDK(查找“DirectX 9.0 SDK”,在2004 - 2005年左右)有更多的样本,多达十几个!

  

操纵杆样品

     
     

描述操纵杆示例程序获取并显示操纵杆   数据

     

路径来源:( SDK根目录)\ Samples \ C ++ \ DirectInput \ Joystick

     

可执行文件:(SDK root)\ Samples \ C ++ \ DirectInput \ Bin \ Joystick.exe

     

用户指南观察移动时显示的数据如何变化   扭转杆,旋转节流轮,然后按下按钮   各种组合。

     

编程说明应用程序立即轮询操纵杆   响应在对话程序中设置的计时器的数据。

答案 1 :(得分:0)

这些可能会对你有所帮助:

  1. Directinput devices
  2. Coding4Fun joystick
  3. 实际上Coding4Fun有很多有趣的东西。它始于Win7发布的时间。

答案 2 :(得分:0)

我在github上使用了walbourn/directx-sdk-samples,它运行得很好。

我必须按如下方式配置.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