Compartir a través de


Colección del panel táctil de precisión de Windows (panel-táctil-colección-panel-táctil-precisión-windows)

En este tema se describe la colección de nivel superior de un Panel táctil de precisión de Windows y se explica cómo dicha colección proporciona informes de panel táctil compatibles con HID al host de Windows.

Un dispositivo de Panel táctil de precisión de Windows puede usar un protocolo HID para proporcionar una colección de nivel superior que aparece como un digitalizador o panel táctil (Página 0x0D, Uso 0x05).

La colección del Panel táctil de precisión de Windows proporciona informes de calidad sobre contactos múltiples y botones al host, así como información del dispositivo que está relacionado con dichos informes. La colección admite dos informes de características: uno que permite al host obtener capacidades que dispone el dispositivo, y otro para obtener el estado de certificación del dispositivo. Para ver un ejemplo del informe de entrada obligatorio, consulte: Descriptores del informe de ejemplo.

Se puede implementar un informe de características opcional (pero muy recomendado) para obtener sugerencias del modo de latencia del host y así precisar el consumo de energía necesario en dispositivos USB al estar estos suspendidos. En las secciones siguientes se proporciona más información sobre los informes incluidos en la colección de nivel superior del Panel táctil de precisión de Windows.

Informe de capacidades y características del dispositivo

El host del Panel táctil de precisión de Windows solicita el informe de características de funcionalidades del dispositivo para recopilar información relativa a las funcionalidades de notificación de contactos del dispositivo y el tipo de botón del mismo.

La funcionalidad de notificación de contactos del dispositivo se define a partir del número máximo de contactos en la superficie simultáneos que puede notificar. Un Panel táctil de precisión de Windows debe ser compatible con un mínimo de tres contactos simultáneos y un máximo de cinco. El panel táctil debe notificar este valor a través del número máximo de la Cuenta de contactos (Página 0x0D, Uso 0x55) en el informe de características de las funcionalidades del dispositivo. Durante la generación de informes de datos, un dispositivo no debe notificar más contactos que el número máximo de la Cuenta de contactos. Si un marco de entrada contiene más contactos que el máximo, el host descartará todo el marco, incluidos los datos de los contactos notificados anteriormente. Para una mejor experiencia de usuario, el dispositivo debe suprimir la notificación de cualquier nuevo contacto detectado después de que se haya alcanzado el número máximo durante la vida útil del nuevo contacto, incluso si alguno de los contactos existentes se marcha. Se puede seguir informando de los contactos existentes y, si alguno se marcha, los contactos recién llegados pueden ocupar su lugar.

El tipo de botón del dispositivo se define como una implementación que se puede pulsar (también denominada como superficie en la que se puede hacer clic) o una implementación que no se puede pulsar (también denominada como superficie en la que se puede ejercer presión). También se admite que un Panel táctil de precisión de Windows tenga en su lugar una superficie de digitalizador de informes sin botón y botones externos.

El tipo de implementación de botones se especificará a través del valor del tipo de botón (Página 0x0D, Uso 0x59) en el informe de características de funcionalidades del dispositivo. Si el dispositivo tiene una superficie de digitalización de informes sin botón y emplea en su lugar botones externos solamente para los clics del ratón, este uso se puede notificar opcionalmente.

En la tabla siguiente se muestran los valores de uso del tipo de botón.

Valor del tipo de botón Implementación
0 Que se puede pulsar (Click-pad)
1 No se puede pulsar (superficie en la que se puede ejercer presión)
2 No se puede hacer clic (superficie separada)

El host puede solicitar el informe de características de funcionalidades del dispositivo de un Panel táctil de precisión de Windows en cualquier momento después de leer el descriptor de informe.

Informe de características del estado de certificación del dispositivo

El host del Panel táctil de precisión de Windows solicita el informe de características del estado de certificación del dispositivo para obtener información acerca del blob de 256 bytes del dispositivo.

La notificación de un blob válido y certificado al host es opcional en Windows 10, pero necesario para la retrocompatibilidad en Windows 8.1. Un dispositivo que no comunica un blob PTPHQA firmado debe seguir informando de cualquiera de 256 bytes, como el blob de ejemplo siguiente. Los dispositivos que no informan de un blob de certificación válido no funcionarán en Windows 8.1. Windows no interactuará con los dispositivos que emplean el uso del Panel táctil de HID pero que no exponen un estado de certificación en su informe de características de las funcionalidades del dispositivo.

Los 256 bytes se especificarán a través del uso específico del proveedor en una página de uso definida por el proveedor (Página 0xFF, Uso 0xC5) en el informe de características del estado de certificación del dispositivo.

Antes de que un dispositivo reciba un blob de 256 bytes que indica su estado de certificación, implementará un blob predeterminado como se detalla a continuación:

0xfc, 0x28, 0xfe, 0x84, 0x40, 0xcb, 0x9a, 0x87, 0x0d, 0xbe, 0x57, 0x3c, 0xb6, 0x70, 0x09, 0x88, 0x07,
0x97, 0x2d, 0x2b, 0xe3, 0x38, 0x34, 0xb6, 0x6c, 0xed, 0xb0, 0xf7, 0xe5, 0x9c, 0xf6, 0xc2, 0x2e, 0x84,
0x1b, 0xe8, 0xb4, 0x51, 0x78, 0x43, 0x1f, 0x28, 0x4b, 0x7c, 0x2d, 0x53, 0xaf, 0xfc, 0x47, 0x70, 0x1b,
0x59, 0x6f, 0x74, 0x43, 0xc4, 0xf3, 0x47, 0x18, 0x53, 0x1a, 0xa2, 0xa1, 0x71, 0xc7, 0x95, 0x0e, 0x31,
0x55, 0x21, 0xd3, 0xb5, 0x1e, 0xe9, 0x0c, 0xba, 0xec, 0xb8, 0x89, 0x19, 0x3e, 0xb3, 0xaf, 0x75, 0x81,
0x9d, 0x53, 0xb9, 0x41, 0x57, 0xf4, 0x6d, 0x39, 0x25, 0x29, 0x7c, 0x87, 0xd9, 0xb4, 0x98, 0x45, 0x7d,
0xa7, 0x26, 0x9c, 0x65, 0x3b, 0x85, 0x68, 0x89, 0xd7, 0x3b, 0xbd, 0xff, 0x14, 0x67, 0xf2, 0x2b, 0xf0,
0x2a, 0x41, 0x54, 0xf0, 0xfd, 0x2c, 0x66, 0x7c, 0xf8, 0xc0, 0x8f, 0x33, 0x13, 0x03, 0xf1, 0xd3, 0xc1, 0x0b,
0x89, 0xd9, 0x1b, 0x62, 0xcd, 0x51, 0xb7, 0x80, 0xb8, 0xaf, 0x3a, 0x10, 0xc1, 0x8a, 0x5b, 0xe8, 0x8a,
0x56, 0xf0, 0x8c, 0xaa, 0xfa, 0x35, 0xe9, 0x42, 0xc4, 0xd8, 0x55, 0xc3, 0x38, 0xcc, 0x2b, 0x53, 0x5c,
0x69, 0x52, 0xd5, 0xc8, 0x73, 0x02, 0x38, 0x7c, 0x73, 0xb6, 0x41, 0xe7, 0xff, 0x05, 0xd8, 0x2b, 0x79,
0x9a, 0xe2, 0x34, 0x60, 0x8f, 0xa3, 0x32, 0x1f, 0x09, 0x78, 0x62, 0xbc, 0x80, 0xe3, 0x0f, 0xbd, 0x65,
0x20, 0x08, 0x13, 0xc1, 0xe2, 0xee, 0x53, 0x2d, 0x86, 0x7e, 0xa7, 0x5a, 0xc5, 0xd3, 0x7d, 0x98, 0xbe,
0x31, 0x48, 0x1f, 0xfb, 0xda, 0xaf, 0xa2, 0xa8, 0x6a, 0x89, 0xd6, 0xbf, 0xf2, 0xd3, 0x32, 0x2a, 0x9a,
0xe4, 0xcf, 0x17, 0xb7, 0xb8, 0xf4, 0xe1, 0x33, 0x08, 0x24, 0x8b, 0xc4, 0x43, 0xa5, 0xe5, 0x24, 0xc2

El host puede solicitar el informe de características del estado de certificación del dispositivo de un Panel táctil de precisión de Windows en cualquier momento tras leer el descriptor de informe.

Informe de características del modo de latencia

El host envía el informe de características del modo de latencia a un Panel táctil de precisión de Windows para indicar cuándo es preferible una latencia alta para ahorrar energía y cuándo lo es una latencia normal para un buen funcionamiento. En el caso de los dispositivos del Panel táctil de precisión de Windows conectados por USB, esto permite que el dispositivo distinga entre suspenderse debido a inactividad (tiempo de ejecución IDLE, es decir, inactivo) y debido a que el sistema entra en el modo de espera S3 o Connected Standby.

El modo de latencia se indicará mediante el valor del uso del modo de latencia (Página 0x0D, Uso 0x60) en el informe de características del modo de latencia. En la tabla siguiente se muestran los valores de uso del modo de latencia.

Valor del modo de latencia Modo de latencia
0 Latencia normal
1 Latencia alta

Informe de características de intensidad háptica (opcional)

En Windows 11, se implementó un informe de características de intensidad háptica para proporcionar mayor capacidad que se basa en PTP actuales con accionadores hápticos. El host envía el informe de características de intensidad háptica a un Panel táctil de precisión de Windows para establecer la intensidad de los comentarios hápticos para el panel táctil. Este informe de características opcional requiere que un dispositivo informe de un simpleHapticsController (Página 0x09, uso 0x01) que expone un SET_FEATURE con una única intensidad global (Página 0x09, uso 0x23).

Para obtener un descriptor de ejemplo, consulte Descriptores del informe de ejemplo.

Informe de la función de umbral de pulsación de botón (opcional)

En Windows 11, compilación 26027+, se ha agregado compatibilidad con la fuerza de clic configurable por el usuario a través de la configuración del panel táctil de Windows (también conocido como Umbral de pulsación del botón, el umbral de fuerza aplicada en el panel táctil para generar un clic o un botón hacia abajo). Para que un panel táctil de precisión lo admita, deberá incluir el informe de control SET_FEATURE para el umbral de pulsación de botón de uso único (página 0x0D, uso 0xB0). Durante la enumeración, el host evaluará el intervalo lógico y físico admitido desde el descriptor y calculará las opciones expuestas para la interfaz de usuario de configuración, incluidos los valores predeterminados. El host emitirá el SET_FEATURE para comunicar al usuario el umbral de presión del botón especificado al dispositivo; esta emisión puede producirse en cualquier momento, pero se producirá cada vez que se cambie la configuración, se produzca un cambio de usuario y cuando se enumera o restablezca el dispositivo.

El intervalo lógico se asignará linealmente al intervalo físico de valores y se espaciará uniformemente y se centrará alrededor del valor predeterminado. Al adquirir el intervalo lógico, el valor predeterminado se calculará con la fórmula siguiente:

Diagrama que muestra la fórmula para calcular el umbral de presión del botón predeterminado en unidades lógicas

El valor mínimo lógico, el valor predeterminado y el máximo lógico corresponden a 3 niveles distintos de presión de botón expuestos a un usuario a través de la interfaz de usuario de configuración de Windows (compatible con "Bajo", "Medio" y "Alto", respectivamente).

El intervalo físico recomendado para el umbral de presión del botón es que cubra al menos el intervalo entre 110 g y 190 g, correspondientes a los valores mínimo y máximo respectivamente. Para obtener un descriptor de ejemplo que use un máximo físico de 190 g y un mínimo físico de 110 g (por lo tanto, en función de la fórmula anterior, el valor predeterminado sería 15 0g), consulte Descriptores de informe de ejemplo.

Informes de entrada del Panel táctil de precisión de Windows

El host emplea los usos de la tabla siguiente al extraer datos de contacto de un informe de entrada mediante la colección del Panel táctil de precisión de Windows. La tabla incluye todos los usos obligatorios y los usos opcionales compatibles y relacionados con cada contacto del digitalizador único que se notifica.

Miembro Descripción Página ID Obligatorio/Opcional
ID de contacto Identifica de forma única el contacto dentro de un marco determinado. 0x0D 0x51 Mandatory
X Coordenada X de la posición de contacto. 0x01 0x30 Mandatory
Y Coordenada Y de la posición de contacto. 0x01 0x31 Mandatory
Sugerencia Se debe establecer si el contacto está en la superficie del digitalizador. 0x0D 0x42 Mandatory
Confianza Se debe establecer cuando un contacto es demasiado grande para ser un dedo. 0x0D 0x47 Mandatory
Ancho Ancho del cuadro delimitador alrededor de un contacto. 0x0D 0x48 Opcionales
Alto Altura del cuadro delimitador alrededor de un contacto. 0x0D 0x49 Opcionales
Presión Cantidad de presión que el usuario está aplicando al punto de contacto. 0x0D 0x30 Opcionales
Azimuth Rotación en sentido contrario de las agujas del reloj del cursor sobre el eje Z. 0x0D 0x3F Opcionales

En la tabla siguiente se incluyen todos los usos de nivel superior que deben estar presentes en todos los informes de entrada táctil de precisión de Windows.

Miembro Descripción Página ID Obligatorio/Opcional
Hora del examen Hora de examen relativa. 0x0D 0x56 Mandatory
Recuento de contactos Número total de contactos que se van a notificar en un informe determinado. 0x0D 0x54 Mandatory
Fuerza mecánica Fuerza total aplicada al sensor del panel táctil. 0x20 0x494 Opcionales
Botón 1 Indica el estado del botón para el botón del panel táctil integrado con el digitalizador. 0x09 0x01 Opcionales
Botón 2 Indica el estado de botón del botón externo que realiza el clic principal (de forma predeterminada, el izquierdo). 0x09 0x02 Opcionales
Botón 3 Indica el estado de botón del botón externo que realiza el clic secundario (de forma predeterminada, el derecho). 0x09 0x03 Opcionales

Cualquier dispositivo que no notifique todos los usos obligatorios en el nivel de contacto o de informe no funcionará como un Panel táctil de precisión de Windows. El host de Windows aplica de manera rigurosa todos los usos obligatorios. Cuando no se ha restringido un valor máximo lógico, este se puede optimizar para reducir el tamaño del descriptor.

En las secciones siguientes se proporciona información sobre los miembros de los informes. Para obtener información sobre los miembros del botón, consulte: Botones, Notificar usos de nivel.

ID de contacto

Identifica de forma única un contacto presente en un informe durante su ciclo de vida. El ID de contacto debe permanecer constante mientras el dispositivo detecta y notifica el contacto. Cada contacto simultáneo independiente debe tener un identificador único. Los identificadores se pueden reutilizar una vez que el contacto asociado anteriormente ya no se detecte ni notifique. No existe ningún intervalo numérico esperado y los valores que se usan están limitados únicamente por el máximo lógico especificado en el descriptor.

X/Y

Los valores X e Y informan de las coordenadas de un contacto determinado. Un Panel táctil de precisión de Windows debe notificar un punto para cada contacto. Se especificarán los siguientes elementos globales para los usos X e Y:

  • Mínimo lógico y máximo lógico (garantiza una resolución de entrada igual que 300 puntos por pulgada o mayor).

    Nota Todo el intervalo de coordenadas lógicas debe notificarse en los ejes X e Y.

  • Mínimo físico y máximo físico (consulte Integración de dispositivos: tamaño).

  • Unidad y exponente de unidad.

  • La coordenada 0,0 (valores x e y) indica la esquina superior izquierda del panel táctil.

Sugerencia

Se usa para indicar cuándo se encuentra el contacto en la superficie o cuándo ya no está en la superficie del digitalizador. Esto se indica mediante un elemento principal con un tamaño de informe de 1 bit. Al entregar un informe de contacto, el bit debe estar activo cuando el contacto se ubica en la superficie del digitalizador y sin marcar cuando el contacto ha dejado la superficie.

Cuando se notifica un contacto con el interruptor de la punta sin estar marcado, la ubicación (X, Y) que se notifica debe ser la misma que la última posición notificada con el interruptor de la punta activo.

Diagrama que muestra dos contactos que interactúan con un Panel táctil de precisión de Windows. Se ve cómo los contactos están dejando de tocar la superficie para dejarla libre en momentos separados.

En lo que respecta al ejemplo descrito en el diagrama anterior, se colocan dos contactos en un Panel táctil de precisión de Windows y, tras pasar un tiempo, se levanta el primero mientras el segundo permanece en la superficie durante un poco más de tiempo. Esto se notificará como se describe en la tabla siguiente.

Informe 1 2 3 4 5 6 7 8 9 10 11
Cuenta de contactos 2 2 2 2 2 2 1 1 1 1 1
Contacto 1: interruptor de la punta 1 1 1 1 1 0 NR NR NR NR NR
Contacto 1: X, Y X₁, Y₁ X₂, Y₂ X₃, Y₃ X₄, Y₄ X₅, Y₅ X₆, Y₆ NR NR NR NR NR
Contacto 2: interruptor de la punta 1 1 1 1 1 1 1 1 1 1 0
Contacto 2: X, Y X₁, Y₁ X₂, Y₂ X₃, Y₃ X₄, Y₄ X₅, Y₅ X₆, Y₆ X₇, Y₇ X₈, Y₈ X₉, Y₉ X₁₀, Y₁₀ X₁₁, Y₁₁

Confidence

Se usa para indicar que el contacto es intencional. Pruebas de requisitos de compatibilidad para asegurarse de que este bit está desactivado cuando un contacto tiene cualquier tipo de dimensiones (alto o ancho) mayores de 25 mm. Esto implica que no es un contacto accidental. Los dispositivos del Panel táctil de precisión de Windows no ocultarán ningún contacto en el procesamiento de firmware, pero reenviarán todos los contactos al host e indicarán el nivel de confianza. A continuación, el host usará la dicho nivel de confianza para realizar un seguimiento del contacto como si fuese uno accidental.

Una vez que un dispositivo haya considerado que un contacto es accidental, borrará el bit de confianza del informe de contacto correspondiente, así como de todos los informes posteriores. Hasta que un contacto se haya categorizado como accidental, el dispositivo activará el bit de confianza de dicho contacto en el informe.

Width y Height

Los usos de ancho y alto representan la anchura y la altura del cuadro delimitador alrededor del contacto táctil. Los valores notificados nunca deben ser cero (0), excepto cuando se notifica un evento "UP", en cuyo caso deben ser cero (0).

Presión

La presión es una medida de la fuerza que el dedo ejerce contra la superficie del digitalizador. No hay restricciones en el intervalo permitido para la presión.

Azimuth

Azimuth especifica el giro en sentido contrario del reloj del cursor alrededor del eje Z a través de un intervalo circular completo. Se debe especificar el rango físico y el lógico. El intervalo físico debe ser de 0 a 360 o equivalente en radianes, pero el dispositivo puede notificar el intervalo completo o la mitad del intervalo suponiendo que los puntos suspensivos de contacto son simétricos en función de las funcionalidades de hardware. El intervalo lógico debe ser lo suficientemente grande como para entregar datos que sean precisos para al menos dos posiciones decimales.

Hora del examen

La hora del examen informa del tiempo del digitalizador relativo en unidades de 100μs. La hora del examen representa la diferencia desde el primer fotograma del se informó después de que un dispositivo empiece a notificar datos posteriores a un período de inactividad. La primera hora de examen recibida se trata como una hora base para las horas notificadas posteriores. Las diferencias entre los tiempos de examen notificados deben reflejar la frecuencia de digitalización del digitalizador. Es importante tener en cuenta que, a diferencia de otros usos, el host no permite ninguna flexibilidad para la unidad para el uso del tiempo de examen. Debe estar en 100μs unidades. Se espera que el valor se resuma, ya que solo se asignan 2 bytes al contador.

El valor de tiempo de examen debe ser el mismo para todos los contactos dentro de un marco.

Cuenta de contactos

Se usa para indicar el número de contactos que se notifican en un marco determinado independientemente de su interruptor de punta asociado.

Fuerza mecánica

Esto se usa para informar de la fuerza total que se aplica al sensor del panel táctil, independientemente de la presión opcional que se puede notificar para los dedos individuales. Si también se notifica presión para contactos individuales, las unidades, el exponente de unidades, el rango físico y el rango lógico deben ser idénticos para la presión y la fuerza mecánica, y el valor de la fuerza mecánica debe = SUMA(Presión para contacto 1 + Presión para contacto 2 + .... etc) independientemente del bit de confianza para cada uno de esos contactos.

Botones, usos del nivel de informe

Descriptores de informe de ejemplo