Tag: hid

IOKit写入USB接口挂起/超时

可能有一些非常简单的东西,我没有做或被忽略但是我没有想法,因为我是IOKit的新手。 我想重新创建一些只有Windows的软件,我带有USB设备。 我在VM上安装了Snoopy,然后点击程序上的一个按钮,关闭LED,然后查看日志,希望了解发生了什么。 看起来每个按钮点击软件,就会发送2个数据包。 一个到接口,一个到端点,前6个字节是相同的。 我不知道为什么会这样。 史努比日志: 我还将设备连接到我的Ubuntu VM并运行sudo lsusb -v以在设备上收集更多信息: Bus 001 Device 009: ID 1234:1234 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1234 idProduct 0x1234 bcdDevice 1.00 iManufacturer 1 (error) iProduct 2 (error) iSerial 3 (error) bNumConfigurations 1 Configuration […]

如何模拟os x上的低级按键?

我试图以编程方式生成键盘keydown和keyup事件。 我目前正在使用CGPostKeyboardEvent来执行此操作,但我正在寻找一种在较低级别执行此操作的方法。 我看过DDHidLib,但无法找到创建假事件的方法。 有人可以帮忙吗? 更新 :感谢weichsel的建议,我现在正在创建一个关键事件,其中包含以下内容: CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true); CGEventPost(kCGSessionEventTap, e); CFRelease(e); 我在这里找到了 。 但是 ,我的问题仍然存在,所以我会详细说明一下。 我希望发送按键的应用程序(第三方)实现DDHidLib的键捕获function: – (void) ddhidKeyboard: (DDHidKeyboard *) keyboard keyDown: (unsigned) usageId; 并且永远不会使用当前方法调用它。 我的猜测是,使用CGEventCreateKeyboardEvent模拟的键值太高,无法通过ddhidKeyboard捕获:keyDown。 所以我要做的是在足够低的级别创建keydown事件,以便ddhidKeyboard:keyDown识别它。