开发者

How can I read data from an HID USB device in a Cocoa Application?

开发者 https://www.devze.com 2023-04-09 21:20 出处:网络
I am trying to implement an HID USB application in Mac OS X. The application needs to read data from the HID USB device. I found some information about reading from an HID USB device, which mentioned

I am trying to implement an HID USB application in Mac OS X. The application needs to read data from the HID USB device. I found some information about reading from an HID USB device, which mentioned the creation of a HID manager kext. My question is, how can I create the HID manager kext and how do I implement this kext in my Cocoa application?

This is my device's information from 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  (Interr开发者_C百科upt no synchronization data endpoint)
                Max Packet Size:   8
                Polling Interval:   10 ms

If anybody know this please help me.


You do not need to implement a kext. You would simply use IOKit, specially the IOHid interface.

0

精彩评论

暂无评论...
验证码 换一张
取 消