选择特定的USB键盘输入设备
Select specific USB keyboard input device?
我正在做一个小项目:我需要从数字键盘输入并运行基于按下哪个键的宏。然而,我有一些困难,特别是从数字板读取。stdin
仅从关键输入读取;我实际上需要从数字pad USB设备的原始数据输出。数字键盘是一个独立于键盘的设备。
我的研究表明,我将不得不使用Windows DDK
为它编写一个设备驱动程序,但这对我来说不是很有意义。我想选择一个不同的USB输入设备作为键盘——这应该不需要一个新的驱动程序,因为我仍然会使用它作为键盘。我只需要将输入流的范围更改为仅USB设备。
我也可能遗漏了一些关键的信息。那么,有没有简单的方法来做到这一点呢?
您必须从正确的设备读取RAW usb-events。您可以通过阅读MSDN上的"原始输入"或"人机界面设备参考"(Windows驱动程序工具包的一部分)自己编写该代码。
或者您可以使用libusb,就像在Windows上读取原始USB输入中提到的那样,它在一个整洁的API下隐藏了许多粗糙的细节。一个粗略的想法是:
- 通过
libusb_get_device_list()
获取设备列表 - 通过
libusb_get_device_descriptor()
找到你感兴趣的键盘,检查examples/listdevs.c
文件,了解如何做到这一点。 通过 - 做你的魔法(我认为轮询事件将适合)
- , . .最后关闭设备
libusb_open()
打开设备边注:libusb完美地建立在Windows8与VS2012 Express + WDK8.
相关文章:
- 视窗键盘输入 c++
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- C ++异步键盘输入(标准方式)
- 盖奇不读取键盘输入
- 在 Linux 上C++:在作为 systemd 服务运行时侦听键盘输入
- 是否可以将键盘输入绑定到 Win32 中的单个应用程序?
- 使用 Windows API c++ 的键盘输入
- 视频在唤醒其他线程时输入设备断开连接
- 如何检查从键盘输入的特定整数值是否存在于C++文件中的一行或多行中
- 为什么如果我从键盘输入EOF克里昂不要在运行窗口打印程序的输出?
- 在Windows10上为BLEGATT设备开发HID输入设备驱动程序
- 从特定 USB 端口捕获键盘输入
- 使用 sfml 进行 2 个键盘输入
- 如何对并行键盘输入进行编程
- 区分键盘记录器中的密码和其他类型的键盘输入
- OpenGL/GLFW/GLM-键盘输入无反应
- 在 MFC 应用中模拟应用内的键盘输入C++
- 如何在C++中终止具有键盘输入的侦听 TCP 服务器
- 通过键盘输入字符串数组和 int 数组的数组大小
- 选择特定的USB键盘输入设备