我正在尝试与 arduino leonardo 建立一个新的游戏手柄,以将击键发送到 PC。
我只能让我的游戏手柄工作,如键盘。
在我建立我的游戏手柄并尝试在 PC 游戏中使用它后,我按下一个按钮,它可以发送到 PC 击键,如“q”,“w”,“e”,“r”等。
如何发送击键,如“按钮 1”,“按钮 2”,“按钮 3”等?
您可以在Device Class Definition for HID v1.11中找到有关 HID 报告描述符的更多信息。
HID 规范定义了表示设备预期用途的称为“用法”的数值。这些用法分为“用法页”,表示广泛的用法类别。例如,键盘将具有“通用桌面”使用页面中的“键盘”用法。设备支持的各个输入和输出也具有用法,例如,Tab 键在“键盘 / 键盘”用法页面上具有自己的用法。
HID 游戏手柄的报告描述符应该有一个顶级应用程序集合,其中包含 GenericDesktop / Joystick 使用情况 (UP:0x01,U:0x04) 或 GenericDesktop / GamePad 使用情况 (UP:0x01,U:0x05)。
游戏手柄按钮应具有“按钮使用”页面中的用法,从主按钮的用法 1 开始(UP:0x09,U:0x01)。游戏手柄轴应具有 GenericDesktop 页面中轴范围的用法,通常左摇杆具有 X 和 Y 轴用法(X 为 UP:0x01,U:0x30,Y 为 UP:0x01,U:0x31)。
有关 HID 使用值的更多信息,请参阅HID Usage Tables v1.12文档。
Here's an example report descriptor对于一个简单的类似游戏手柄的设备,带有 12 个按钮,2 个摇杆,2 个模拟触发器和一个 D-pad。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(40条)