我正在尝试在Mac OS X中实现HID USB应用程序。应用程序需要从HID USB设备读取数据。我找到了一些关于从HID USB设备读取的信息,其中提到了HID管理器kext的创建。我的问题是,如何创建HID管理器kext以及如何在Cocoa应用程序中实现此kext?
这是来自USB Prober的设备信息:
Low Speed device @ 2 (0x5D200000): ............................................. Composite device: "SportBrain USB\000\000\000\000\000\000\000\000\000\000\000\000"
Device Descriptor
Descriptor Version Number: 0x0110
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 8
Device VendorID/ProductID: 0x1125/0x2000 (unknown vendor)
Device Version Number: 0x0106
Number of Configurations: 1
Manufacturer String: 1 "SportBrain In"
Product String: 2 "SportBrain USB\000\000\000\000\000\000\000\000\000\000\000\000"
Serial Number String: 0 (none)
Configuration Descriptor: ....................................... "SportBrain USB\000\000\000\000\000\000\000\000\000\000\000\000"
Length (and contents): 34
Raw Descriptor (hex) 0000: 09 02 22 00 01 01 02 80 0D 09 04 00 00 01 03 00
Raw Descriptor (hex) 0010: 00 02 09 21 00 01 00 01 22 1C 00 07 05 81 03 08
Raw Descriptor (hex) 0020: 00 0A
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0x80 (bus-powered)
MaxPower: 26 ma
Interface #0 - HID
Alternate Setting 0
Number of Endpoints 1
Interface Class: 3 (HID)
Interface Subclass; 0
Interface Protocol: 0
HID Descriptor
Descriptor Version Number: 0x0100
Country Code: 0
Descriptor Count: 1
Descriptor 1
Type: 0x22 (Report Descriptor)
Length (and contents): 28
Raw Descriptor (hex) 0000: 06 A0 FF 09 01 A1 01 09 01 15 00 25 FF 75 08 95
Raw Descriptor (hex) 0010: 08 81 02 09 03 75 08 95 08 B1 02 C0
Parsed Report Descriptor:
Usage Page (65440)
Usage 1 (0x1)
Collection (Application)
Usage 1 (0x1)
Logical Minimum......... (0)
Logical Maximum......... (-1)
Report Size............. (8)
Report Count............ (8)
Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield)
Usage 3 (0x3)
Report Size............. (8)
Report Count............ (8)
Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield)
End Collection
Endpoint 0x81 - Interrupt Input
Address: 0x81 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 8
Polling Interval: 10 ms
如果有人知道这一点,请帮助我。
答案 0 :(得分:2)
您无需实施kext
。您只需使用IOKit
,特别是IOHid
界面。