1
我想在Mac OS X中實現HID USB應用程序。應用程序需要從HID USB設備讀取數據。我發現了一些關於從HID USB設備讀取的信息,其中提到了創建HID管理器kext。我的問題是,我如何創建HID管理器kext,以及如何在我的Cocoa應用程序中實現這個kext?如何從Cocoa應用程序中的HID USB設備讀取數據?
這是USB探針測試臺我的設備的信息:
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
如果有人知道這一點,請幫助我。
你知道網絡上的任何好例子嗎?除了Apple文檔@Yann Ramin以外,如何做到這一點? –
https://developer.apple.com/library/mac/technotes/tn2187/_index.html – geowar