【问题标题】:USB Joystick with C++ and DirectInput带有 C++ 和 DirectInput 的 USB 操纵杆
【发布时间】:2012-03-16 18:24:53
【问题描述】:

我一直在尝试从 USB 操纵杆读取数据(x/y 轴、按下的按钮等),并且听说过 DirectInput。一直在寻找一个不错的例子或演练,但收效甚微。如果有人可以分享一个简单的教程,或者引导我到正确的地方,我会欠你的。谢谢

编辑:试图在 Windows 平台上实现这个目标

【问题讨论】:

  • 您使用的是什么操作系统?
  • 抱歉忘了提,我使用的是 Windows7,希望该程序可以在大多数 Windows 版本上运行
  • This 看起来非常适合您的需求。不完全是教程,但它是这些东西的官方网站。

标签: c++ joystick directinput


【解决方案1】:

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

操纵杆示例


说明 Joystick示例程序获取并显示joystick 数据。

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

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

用户指南 观察显示的数据在您移动和移动时如何变化 扭动摇杆,转动油门轮,然后按下按钮 各种组合。

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

【讨论】:

    【解决方案2】:

    这些可能对你有帮助:

    1. Directinput devices
    2. Coding4Fun joystick

    其实Coding4Fun 有很多有趣的东西。它开始于 Win7 发布时。

    【讨论】:

    • 看起来很酷,不幸的是这些示例都是用 C# 代码编写的。对正在发生的事情有基本的了解仍然很有用,干杯
    【解决方案3】:

    我在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多