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 Beijing Honghe Technology Group pero con la marca Newline . Funciona de fábrica en Linux (aparentemente usando 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 una combinación de un teclado (con PgUpy PgDnaccesible mediante control remoto) 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 solicita presionar una tecla de mayúsculas específica. Como no tengo turno, presiono cualquiera de esos botones de movimiento de página y luego 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 funcionar. El dispositivo se informa como IOHIDPointing
y Digitizer
en el informe anterior, por lo que parece haber cierta comprensión sobre qué tipo de dispositivo es. Sin embargo, no lo veo controlando el puntero de mi mouse.
Editar: abrí el informe de error de Apple 25216130 sobre esto.
Hay un error en la pila USB de Apple que impide que funcionen algunos dispositivos compuestos USB. Abrí un TSI de Apple y un informe de error sobre esto, y me dieron una solución que me lo solucionó. La solución es simplemente un kext sin código , con esta personalidad agregada 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>
(Agregué su VID/PID arriba).
Una futura versión de OS X solucionará (con suerte) esto.
Tenga en cuenta que el kext sin código debe colocarse en /Library/Extensions, y debe estar firmado.
sudo nvram boot-args='kext-dev-mode=1'
y reinicié, pero aparentemente el kext todavía no se carga. Consulte gist.github.com/gagern/6d98868c75f009d641aa para ver mi plist y mis intentos de diagnóstico. ¿Algunas ideas?kext-dev-mode
funciona solo para 10.10 Yosemite, no para 10.11 El Capitán. Habrá que intentar encontrar algún miembro de ADP que tenga un certificado de firma de kext o esté dispuesto a obtener uno. ¡Mucho trabajo para evitar un error!csrutil disable
. Ahora kextutil
afirma cargar la cosa, pero kextstat
no la enumera, y el dispositivo aún no funciona. Me hace preguntarme si se trata de un problema de carga de kext o si la solución alternativa no se aplica a mi caso.<key>OSBundleRequired</key> <string>Local-Root</string>
clave al dictado plist principal. Puede ser que sea necesario para forzar su carga.
MvG
sudo sysdiagnose
salida y luegosudo dtrace -n 'fbt::*HIDPointing*:entry'
salida. Este último está (casi) vacío, así que les di la salida de algunosdtrace
patrones más amplios relacionados con HID, comofbt:com.apple.iokit.IOHIDFamily::entry
. Sin respuesta desde la última publicación el 31 de marzo. Espero y espero.