1 votos

4623:011a monitor multitáctil

En el trabajo tenemos un monitor multitáctil que aparentemente es un Dispositivo de interfaz humana USB (HID) . Se identifica como proveedor 0x4623 producto 0x011a, aparentemente producido por Grupo tecnológico de Pekín Honghe pero con la marca Línea nueva . Funciona de forma inmediata en Linux (aparentemente utilizando un controlador multitáctil HID genérico), pero no en OS X. system_profiler lo describe así:

o HHTTOUCH@14110000  <class IOUSBHostDevice, id 0x100008953, registered, matched, active, busy 0 (731 ms), retain 30>
| {
|   "USBPortType" = 0x0
|   "sessionID" = 0x180f680965f78
|   "USB Vendor Name" = "HongHeTouch"
|   "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
|   "IOPowerManagement" = {"PowerOverrideOn"=Yes,"CapabilityFlags"=0x8000,"MaxPowerState"=0x2,"DevicePowerState"=0x2,"ChildrenPowerState"=0x1,"DriverPowerState"=0x0,"CurrentPowerState"=0x2}
|   "USBSpeed" = 0x1
|   "idProduct" = 0x11a
|   "bcdDevice" = 0x100
|   "kUSBVendorString" = "HongHeTouch"
|   "locationID" = 0x14110000
|   "USB Product Name" = "HHTTOUCH"
|   "IOGeneralInterest" = "IOCommand is not serializable"
|   "kUSBCurrentConfiguration" = 0x1
|   "IOClassNameOverride" = "IOUSBDevice"
|   "bDeviceSubClass" = 0x0
|   "idVendor" = 0x4623
|   "AppleUSBAlternateServiceRegistryID" = 0x100008955
|   "bDeviceProtocol" = 0x0
|   "bDeviceClass" = 0x0
| }
| 
+-o AppleUSBHostLegacyClient  <class AppleUSBHostLegacyClient, id 0x100008956, !registered, !matched, active, busy 0, retain 8>
|   {…}
|   
+-o AppleUSBHostCompositeDevice  <class AppleUSBHostCompositeDevice, id 0x10000897f, !registered, !matched, active, busy 0, retain 4>
|   {…}
|   
+-o IOUSBHostInterface@0  <class IOUSBHostInterface, id 0x100008980, registered, matched, active, busy 0 (411 ms), retain 11>
| | {
| |   "USBPortType" = 0x0
| |   "IOCFPlugInTypes" = {"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
| |   "bcdDevice" = 0x100
| |   "USBSpeed" = 0x1
| |   "idProduct" = 0x11a
| |   "bConfigurationValue" = 0x1
| |   "bInterfaceSubClass" = 0x0
| |   "locationID" = 0x14110000
| |   "IOGeneralInterest" = "IOCommand is not serializable"
| |   "IOClassNameOverride" = "IOUSBInterface"
| |   "AppleUSBAlternateServiceRegistryID" = 0x100008982
| |   "idVendor" = 0x4623
| |   "bInterfaceProtocol" = 0x0
| |   "bAlternateSetting" = 0x0
| |   "bInterfaceNumber" = 0x0
| |   "bInterfaceClass" = 0x3
| | }
| | 
| +-o IOUSBHostHIDDevice@14110000,0  <class IOUSBHostHIDDevice, id 0x100008989, registered, matched, active, busy 0 (13 ms), retain 10>
|   | {
|   |   "IOClass" = "IOUSBHostHIDDevice"
|   |   "Transport" = "USB"
|   |   "BootProtocol" = 0x0
|   |   "IOPersonalityPublisher" = "com.apple.driver.usb.IOUSBHostHIDDeviceSafeBoot"
|   |   "HIDDefaultBehavior" = ""
|   |   "MaxInputReportSize" = 0x40
|   |   "IOProviderClass" = "IOUSBHostInterface"
|   |   "Manufacturer" = "HongHeTouch"
|   |   "Product" = "HHTTOUCH"
|   |   "DeviceUsagePairs" = ({"DeviceUsagePage"=0xd,"DeviceUsage"=0x4},{"DeviceUsagePage"=0xd,"DeviceUsage"=0xe},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x2},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x1},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x6},{"DeviceUsagePage"=0xff00,"DeviceUsage"=0x0})
|   |   "IOProbeScore" = 0xc350
|   |   "MaxOutputReportSize" = 0x10
|   |   "ReportDescriptor" = <05…00$
|   |   "IOUserClientClass" = "IOHIDLibUserClient"
|   |   "bInterfaceSubClass" = 0x0
|   |   "bInterfaceClass" = 0x3
|   |   "IOCFPlugInTypes" = {"7DDEECA8-A7B4-11DA-8A0E-0014519758EF"="IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin","FA12FA38-6F1A-11D4-BA0C-0005028F18D5"="IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin"}
|   |   "CountryCode" = 0x0
|   |   "VendorID" = 0x4623
|   |   "VersionNumber" = 0x100
|   |   "IOMatchCategory" = "IODefaultMatchCategory"
|   |   "CFBundleIdentifier" = "com.apple.driver.usb.IOUSBHostHIDDevice"
|   |   "PrimaryUsage" = 0x4
|   |   "LocationID" = 0x14110000
|   |   "ProductID" = 0x11a
|   |   "Elements" = ({"ReportID"=0x0,"ElementCookie"=0x1,"CollectionType"=0x1,"Type"=0x201,"Elements"=({"ReportID"=0x0,"ElementCookie"=0x2,"CollectionType"=0x2,"Type"=0x201,"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0xd,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x2,"Size"=0x1,"Flags"=0x2,"ReportID"=0x1,"Usage"=0x42,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x1,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0x1,"ElementCookie"=0x12},{"UnitExponent"=0$
|   |   "IOGeneralInterest" = "IOCommand is not serializable"
|   |   "PrimaryUsagePage" = 0xd
|   |   "ReportInterval" = 0x1f40
|   |   "MaxFeatureReportSize" = 0x3
|   |   "InputReportElements" = ({"ReportID"=0x1,"ElementCookie"=0x19b,"Size"=0x1f0,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x1f0,"Usage"=0x0},{"ReportID"=0x2,"ElementCookie"=0x19c,"Size"=0x8,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x8,"Usage"=0x0},{"ReportID"=0x3,"ElementCookie"=0x19d,"Size"=0x8,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x8,"Usage"=0x0},{"ReportID"=0x4,"ElementCookie"=0x19e,"Size"=0x30,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x30,"Us$
|   | }
|   | 
|   +-o IOHIDInterface  <class IOHIDInterface, id 0x10000898f, registered, matched, active, busy 0 (12 ms), retain 7>
|   | | {
|   | |   "VendorID" = 0x4623
|   | |   "CountryCode" = 0x0
|   | |   "Product" = "HHTTOUCH"
|   | |   "VersionNumber" = 0x100
|   | |   "PrimaryUsage" = 0x4
|   | |   "LocationID" = 0x14110000
|   | |   "BootProtocol" = 0x0
|   | |   "ProductID" = 0x11a
|   | |   "DeviceUsagePairs" = ({"DeviceUsagePage"=0xd,"DeviceUsage"=0x4},{"DeviceUsagePage"=0xd,"DeviceUsage"=0xe},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x2},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x1},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x6},{"DeviceUsagePage"=0xff00,"DeviceUsage"=0x0})
|   | |   "Transport" = "USB"
|   | |   "ReportInterval" = 0x1f40
|   | |   "HIDDefaultBehavior" = ""
|   | |   "PrimaryUsagePage" = 0xd
|   | |   "Manufacturer" = "HongHeTouch"
|   | | }
|   | | 
|   | +-o IOHIDEventDriver  <class IOHIDEventDriver, id 0x100008992, registered, matched, active, busy 0 (1 ms), retain 10>
|   |   | {
|   |   |   "IOClass" = "IOHIDEventDriver"
|   |   |   "MultiAxisPointer" = {"Elements"=(),"AxisCapabilities"=0x0}
|   |   |   "Scroll" = {"Elements"=()}
|   |   |   "BootProtocol" = 0x0
|   |   |   "Digitizer" = {"Transducers"=({"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0xd,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x2,"Size"=0x1,"Flags"=0x2,"ReportID"=0x1,"Usage"=0x42,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x1,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0x1,"ElementCookie"=0x12},{"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0xd,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x2,"Size"=0x1,"Flags"=0x2,"ReportID"=0x1,"Usage"=0x32,"$
|   |   |   "Keyboard" = {"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x7,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x2,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0xe0,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x1,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0x1,"ElementCookie"=0x33},{"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x7,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x2,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0xe1,"ReportCount"=0x1,$
|   |   |   "IOPersonalityPublisher" = "com.apple.iokit.IOHIDEventDriver"
|   |   |   "Transport" = "USB"
|   |   |   "HIDDefaultBehavior" = ""
|   |   |   "Manufacturer" = "HongHeTouch"
|   |   |   "IOProviderClass" = "IOHIDInterface"
|   |   |   "GameControllerType" = 0x0
|   |   |   "Product" = "HHTTOUCH"
|   |   |   "DisplayIntegrated" = Yes
|   |   |   "DeviceUsagePairs" = ({"DeviceUsagePage"=0xd,"DeviceUsage"=0x4},{"DeviceUsagePage"=0xd,"DeviceUsage"=0xe},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x2},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x1},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x6},{"DeviceUsagePage"=0xff00,"DeviceUsage"=0x0})
|   |   |   "IOProbeScore" = 0x4b0
|   |   |   "VendorIDSource" = 0x0
|   |   |   "HIDPointerResolution" = 0x1900000
|   |   |   "RelativePointer" = {"Elements"=()}
|   |   |   "VendorID" = 0x4623
|   |   |   "VersionNumber" = 0x100
|   |   |   "CountryCode" = 0x0
|   |   |   "IOMatchCategory" = "IODefaultMatchCategory"
|   |   |   "CFBundleIdentifier" = "com.apple.iokit.IOHIDFamily"
|   |   |   "LED" = {"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x8,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x81,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0x1,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x1,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0x1,"ElementCookie"=0x122},{"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x8,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x81,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0x2,"ReportCount"=0x1,"Uni$
|   |   |   "HIDEventServiceProperties" = {"HIDSubinterfaceID"=0x28,"HIDKeyboardModifierMappingPairs"=()}
|   |   |   "LocationID" = 0x14110000
|   |   |   "ProductID" = 0x11a
|   |   |   "ReportInterval" = 0x1f40
|   |   |   "SupportsInk" = 0x1
|   |   |   "GameControllerPointer" = {"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x8,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x81,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0x1,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x1,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0x1,"ElementCookie"=0x122},{"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0x8,"Max"=0x1,"IsArray"=No,"Min"=0x0,"Type"=0x81,"Size"=0x1,"Flags"=0x2,"ReportID"=0x5,"Usage"=0x2,"Rep$
|   |   | }
|   |   | 
|   |   +-o IOHIDPointing  <class IOHIDPointing, id 0x100008994, registered, matched, active, busy 0 (1 ms), retain 9>
|   |   | | {
|   |   | |   "HIDScrollAccelerationType" = "HIDMouseScrollAcceleration"
|   |   | |   "HIDVirtualDevice" = No
|   |   | |   "Transport" = "USB"
|   |   | |   "HIDDeviceEventID" = 0x8994
|   |   | |   "Product" = "HHTTOUCH"
|   |   | |   "Manufacturer" = "HongHeTouch"
|   |   | |   "HIDPointerButtonCount" = 0xd
|   |   | |   "DeviceUsagePairs" = ({"DeviceUsagePage"=0xd,"DeviceUsage"=0x4},{"DeviceUsagePage"=0xd,"DeviceUsage"=0xe},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x2},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x1},{"DeviceUsagePage"=0x1,"DeviceUsage"=0x6},{"DeviceUsagePage"=0xff00,"DeviceUsage"=0x0})
|   |   | |   "HIDPointerResolution" = 0x1900000
|   |   | |   "VendorIDSource" = 0x0
|   |   | |   "alt_sender_id" = 0x100008992
|   |   | |   "HIDPointerConvertAbsolute" = <00>
|   |   | |   "CountryCode" = 0x0
|   |   | |   "VendorID" = 0x4623
|   |   | |   "VersionNumber" = 0x100
|   |   | |   "HIDSubinterfaceID" = 0x0
|   |   | |   "HIDResetPointer" = Yes
|   |   | |   "HIDInterfaceID" = 0x0
|   |   | |   "HIDPointerContactToMove" = <00>
|   |   | |   "LocationID" = 0x14110000
|   |   | |   "ProductID" = 0x11a
|   |   | |   "HIDKind" = 0x2
|   |   | |   "HIDPointerAccelerationType" = "HIDMouseAcceleration"
|   |   | |   "ReportInterval" = 0x1f40
|   |   | |   "HIDScrollAccelCurvesDebug" = ("no scroll resolution for type","no scroll resolution for type","no scroll resolution for type")
|   |   | | }
|   |   | | 
|   |   | +-o IOHIDSystem  <class IOHIDSystem, id 0x100000313, registered, matched, active, busy 0 (0 ms), retain 20>
|   |   |   | {…}
|   |   |   | 
|   |   |   +-o IOHIDUserClient  <class IOHIDUserClient, id 0x100000446, !registered, !matched, active, busy 0, retain 5>
|   |   |   |   {…}
|   |   |   |   
|   |   |   +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x10000044b, !registered, !matched, active, busy 0, retain 5>
|   |   |       {…}
|   |   |       
|   |   +-o IOHIDKeyboard  <class IOHIDKeyboard, id 0x100008995, registered, matched, active, busy 0 (0 ms), retain 9>
|   |   | | {…}
|   |   | | 
|   |   | +-o IOHIDSystem  <class IOHIDSystem, id 0x100000313, registered, matched, active, busy 0 (0 ms), retain 20>
|   |   |   | {…}
|   |   |   | 
|   |   |   +-o IOHIDUserClient  <class IOHIDUserClient, id 0x100000446, !registered, !matched, active, busy 0, retain 5>
|   |   |   |   {…}
|   |   |   |   
|   |   |   +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x10000044b, !registered, !matched, active, busy 0, retain 5>
|   |   |       {…}
|   |   |       
|   |   +-o IOHIDSystem  <class IOHIDSystem, id 0x100000313, registered, matched, active, busy 0 (0 ms), retain 19>
|   |     | {…}
|   |     | 
|   |     +-o IOHIDUserClient  <class IOHIDUserClient, id 0x100000446, !registered, !matched, active, busy 0, retain 5>
|   |     |   {…}
|   |     |   
|   |     +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x10000044b, !registered, !matched, active, busy 0, retain 5>
|   |         {…}
|   |         
|   +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x100008990, !registered, !matched, active, busy 0, retain 6>
|   |   {…}
|   |   
|   +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x100008991, !registered, !matched, active, busy 0, retain 6>
|       {…}
|       
+-o IOUSBHostInterface@1  <class IOUSBHostInterface, id 0x100008981, registered, matched, active, busy 0 (280 ms), retain 11>
  | {
  |   "USBPortType" = 0x0
  |   "IOCFPlugInTypes" = {"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
  |   "bcdDevice" = 0x100
  |   "USBSpeed" = 0x1
  |   "idProduct" = 0x11a
  |   "bConfigurationValue" = 0x1
  |   "bInterfaceSubClass" = 0x0
  |   "locationID" = 0x14110000
  |   "IOGeneralInterest" = "IOCommand is not serializable"
  |   "IOClassNameOverride" = "IOUSBInterface"
  |   "AppleUSBAlternateServiceRegistryID" = 0x100008984
  |   "idVendor" = 0x4623
  |   "bInterfaceProtocol" = 0x0
  |   "bAlternateSetting" = 0x0
  |   "bInterfaceNumber" = 0x1
  |   "bInterfaceClass" = 0x3
  | }
  | 
  +-o IOUSBHostHIDDevice@14110000,1  <class IOUSBHostHIDDevice, id 0x100008988, registered, matched, active, busy 0 (4 ms), retain 10>
    | {
    |   "IOClass" = "IOUSBHostHIDDevice"
    |   "Transport" = "USB"
    |   "BootProtocol" = 0x0
    |   "IOPersonalityPublisher" = "com.apple.driver.usb.IOUSBHostHIDDeviceSafeBoot"
    |   "HIDDefaultBehavior" = ""
    |   "MaxInputReportSize" = 0x40
    |   "IOProviderClass" = "IOUSBHostInterface"
    |   "Manufacturer" = "HongHeTouch"
    |   "Product" = "HHTTOUCH"
    |   "DeviceUsagePairs" = ({"DeviceUsagePage"=0xff00,"DeviceUsage"=0x1})
    |   "IOProbeScore" = 0xc350
    |   "MaxOutputReportSize" = 0x40
    |   "ReportDescriptor" = <06…c0>
    |   "IOUserClientClass" = "IOHIDLibUserClient"
    |   "bInterfaceSubClass" = 0x0
    |   "bInterfaceClass" = 0x3
    |   "IOCFPlugInTypes" = {"7DDEECA8-A7B4-11DA-8A0E-0014519758EF"="IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin","FA12FA38-6F1A-11D4-BA0C-0005028F18D5"="IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin"}
    |   "CountryCode" = 0x21
    |   "VendorID" = 0x4623
    |   "VersionNumber" = 0x100
    |   "IOMatchCategory" = "IODefaultMatchCategory"
    |   "CFBundleIdentifier" = "com.apple.driver.usb.IOUSBHostHIDDevice"
    |   "PrimaryUsage" = 0x1
    |   "LocationID" = 0x14110000
    |   "ProductID" = 0x11a
    |   "Elements" = ({"ReportID"=0x0,"ElementCookie"=0x1,"CollectionType"=0x1,"Type"=0x201,"Elements"=({"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0xff00,"Max"=0xff,"IsArray"=No,"Min"=0x0,"Type"=0x1,"Size"=0x8,"Flags"=0x2,"ReportID"=0x1,"Usage"=0x1,"ReportCount"=0x1,"Unit"=0x0,"HasNullState"=No,"IsNonLinear"=No,"HasPreferredState"=Yes,"ReportSize"=0x8,"ScaledMin"=0x0,"IsWrapping"=No,"ScaledMax"=0xff,"ElementCookie"=0x2},{"UnitExponent"=0x0,"IsRelative"=No,"UsagePage"=0xff00,"Max"=0xff,"IsArray"=No,"Min"=0x0,"Type"=$
    |   "IOGeneralInterest" = "IOCommand is not serializable"
    |   "PrimaryUsagePage" = 0xff00
    |   "ReportInterval" = 0x1f40
    |   "MaxFeatureReportSize" = 0x1
    |   "InputReportElements" = ({"ReportID"=0x1,"ElementCookie"=0x2c4,"Size"=0x200,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x200,"Usage"=0x0},{"ReportID"=0x2,"ElementCookie"=0x2c5,"Size"=0x200,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x200,"Usage"=0x0},{"ReportID"=0x3,"ElementCookie"=0x2c6,"Size"=0x200,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"=0x200,"Usage"=0x0},{"ReportID"=0x4,"ElementCookie"=0x2c7,"Size"=0x200,"ReportCount"=0x1,"Type"=0x1,"UsagePage"=0x0,"ReportSize"$
    | }
    | 
    +-o IOHIDInterface  <class IOHIDInterface, id 0x10000898b, registered, matched, active, busy 0 (4 ms), retain 6>
    |   {
    |     "VendorID" = 0x4623
    |     "CountryCode" = 0x21
    |     "Product" = "HHTTOUCH"
    |     "VersionNumber" = 0x100
    |     "PrimaryUsage" = 0x1
    |     "LocationID" = 0x14110000
    |     "BootProtocol" = 0x0
    |     "ProductID" = 0x11a
    |     "DeviceUsagePairs" = ({"DeviceUsagePage"=0xff00,"DeviceUsage"=0x1})
    |     "Transport" = "USB"
    |     "ReportInterval" = 0x1f40
    |     "HIDDefaultBehavior" = ""
    |     "PrimaryUsagePage" = 0xff00
    |     "Manufacturer" = "HongHeTouch"
    |   }
    |   
    +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x10000898c, !registered, !matched, active, busy 0, retain 6>
    |   {
    |     "IOUserClientCreator" = "pid 94, loginwindow"
    |   }
    |   
    +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x10000898d, !registered, !matched, active, busy 0, retain 6>
        {
          "IOUserClientCreator" = "pid 274, UserEventAgent"
        }

El dispositivo sirve como combinación de un teclado (con PgUp y PgDn accesible a través del mando a distancia) y un dispositivo de entrada multitáctil. El aspecto del teclado funciona bastante bien: OS X informa que el teclado es de tipo desconocido y pide que se pulse una tecla de mayúsculas específica. Como no tengo mayúsculas, pulso cualquiera de esos botones de movimiento de página y entonces puedo seleccionar manualmente un tipo de teclado. Después de eso, puedo usar las teclas para desplazarme en las aplicaciones.

La entrada táctil, sin embargo, parece no ser funcional. El dispositivo se reporta como IOHIDPointing y Digitizer en el informe anterior, por lo que parece que se entiende de qué tipo de dispositivo se trata. Sin embargo, no veo que controle el puntero de mi ratón.

  • ¿Tengo que habilitar este dispositivo de alguna manera, para decir que los eventos multitáctiles de esa fuente deben controlar el puntero de mi ratón?
  • ¿Tengo que cargar algún controlador adicional para que los eventos multitáctiles HID acaben controlando mi puntero?
  • ¿Existe alguna herramienta (de línea de comandos o gráfica, incluida en OS X o de terceros) que pueda utilizar para depurar los eventos que genera el dispositivo? Preferiblemente a diferentes niveles, como HID, táctil, puntero o cualquiera que sea la arquitectura actual?

Editar: He abierto el informe de error de Apple 25216130 sobre esto.

1voto

shadfc Puntos 1275

Hay un error en la pila USB de Apple, que impide que algunos dispositivos compuestos USB funcionen. Abrí una ETI de Apple y un informe de error sobre esto, y me dieron una solución, que lo arregla para mí. La solución es simplemente un kext sin código con esta personalidad añadida al diccionario de IOKitPersonalities:

    <key>Display Workaround</key>
    <dict>
        <key>CFBundleIdentifier</key>
        <string>com.apple.driver.AppleUSBHostMergeProperties</string>
        <key>IOClass</key>
        <string>AppleUSBHostMergeProperties</string>
        <key>IOProviderClass</key>
        <string>IOUSBHostDevice</string>
        <key>IOProviderMergeProperties</key>
        <dict>
            <key>kUSBRemoteWakeOverride</key>
            <false/>
        </dict>
        <key>idVendor</key>
        <integer>17955</integer>
        <key>idProduct</key>
        <integer>282</integer>
    </dict>

(He añadido su VID/PID más arriba).

Una futura versión de OS X solucionará esto (con suerte).

Tenga en cuenta que el kext sin código debe colocarse en /Library/Extensions, y que debe estar firmado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X