2011-10-03 170 views
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 

如果有人知道這一點,請幫助我。

回答

1

您不需要實施kext。您只需使用IOKit,特別是IOHid界面。

+0

你知道網絡上的任何好例子嗎?除了Apple文檔@Yann Ramin以外,如何做到這一點? –

+0

https://developer.apple.com/library/mac/technotes/tn2187/_index.html – geowar

相關問題