Selección de modos de informes de paquetes en controladores multitáctil (Windows 7)
Windows admite tres maneras de notificar datos multitáctiles al sistema: modo serie, modo paralelo y modo híbrido. El descriptor de informe HID que proporciona el proveedor difiere según el modo seleccionado.
Se recomienda que los proveedores usen el modo híbrido o paralelo, ya que estos modos pueden mejorar la eficacia de la entrega de datos desde el componente del sistema operativo a las aplicaciones.
Modo serie
Cada paquete contiene información que describe un solo punto de contacto físico. Se transmiten varios contactos en serie.
En este modo, los dispositivos notifican toda la información de contacto en una serie de paquetes. Cada paquete contiene información que describe un solo contacto físico. El dispositivo envía un paquete independiente para cada contacto simultáneo.
Por ejemplo, si hay dos dedos inactivos, un dispositivo que usa el modo serie envía una actualización para el primer contacto y, a continuación, envía una actualización para el segundo contacto. Este proceso se repite siempre y cuando ambos dedos estén en contacto con el digitalizador.
Es posible que el modo serie reduzca la velocidad de informes efectiva para cada contacto físico en el dispositivo. Por ejemplo, si un dispositivo puede enviar una actualización una vez por milisegundo (ms) y hay dos contactos físicos, cada punto de contacto se actualiza solo cada 2 ms.
Para obtener un ejemplo de descriptor de informe en modo serie, consulte Ejemplo de descriptor de informe (modo de informe serie).
En comparación, los modos de informes híbridos y paralelos se benefician de una sobrecarga de entrega de datos reducida.
Modo paralelo
En modo paralelo, los dispositivos notifican toda la información de contacto en un solo paquete. Cada contacto físico se representa mediante una colección lógica incrustada en la colección de nivel superior. Esta colección lógica contiene todos los usos que admite el dispositivo para cada contacto (por ejemplo, X, Y y presión). Dado que el dispositivo generalmente notifica menos contactos que el máximo, el número de contactos que se notifican en un paquete paralelo debe comunicarse en el uso del recuento de contactos o mediante el establecimiento de valores "NULL" para todos los contactos inválidos de un paquete.
Considere la posibilidad de usar un dispositivo que admita tres contactos. Si actualmente el usuario solo tiene dos dedos en el digitalizador, el paquete paralelo solo tiene dos datos de contacto válidos en un paquete que puede transportar datos para tres contactos. En este caso, el recuento de contactos debe establecerse en dos para que la aplicación cliente sepa que cualquier información sobre más de dos contactos no es válida.
Como alternativa, el dispositivo puede establecer los valores de los usos de contacto más allá de la segunda entrada en valores null. La aplicación cliente puede detectar los contactos reales examinando el valor del uso del recuento de contactos o leyendo los datos hasta que encuentre un valor "NULL".
Para obtener un descriptor de informe de modo paralelo de ejemplo, consulte Descriptor de informe de ejemplo (modo paralelo/híbrido).
Una desventaja de informar de varios contactos en un paquete es que se desperdicia espacio por paquete cada vez que hay menos contactos que el número máximo de contactos posible. Los dispositivos pueden usar el modo de informes híbridos para reducir esta ineficiencia.
Modo híbrido
En el modo híbrido, el número de contactos que se pueden notificar en un paquete es inferior al número máximo de contactos que admite el dispositivo. Por ejemplo, un dispositivo que admite un máximo de 48 contactos físicos simultáneos puede configurar su colección de nivel superior para informar de un máximo de 12 contactos en un paquete. Si actualmente existen 48 puntos de contacto válidos, el dispositivo puede dividirlos en 4 paquetes serie que informan de 12 contactos cada uno.
Cuando un dispositivo entregar datos de esta manera, el valor de uso de recuento de contactos en el primer paquete debe reflejar el número total de contactos que se entregan en los paquetes híbridos. Los otros paquetes en serie deben tener un recuento de contactos de 0. Con el ejemplo anterior, el uso del recuento de contactos en el primer paquete tiene un valor de 48, mientras que los tres últimos paquetes tienen un recuento de uso de contactos de 0.
Los modos de informes híbridos y paralelos cuentan con la ventaja de reducción de la sobrecarga de entrega de datos.
Para obtener un ejemplo de descriptor de informe en modo híbrido, consulte Ejemplo de descriptor de informe (modo paralelo/híbrido).
Valores NULL
Los valores "null" deben especificarse tal y como se describe en la especificación HID. El bit "NULL" debe establecerse en todos los elementos principales del descriptor de informe. Tenga en cuenta que un dispositivo puede usar el recuento de contactos o valores "null" para informar al host del número real de contactos válidos en un paquete.