Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 el protocolo HID para proporcionar una colección de nivel superior que se presenta como un digitalizador/panel táctil (Página 0x0D, Uso 0x05).
La colección de Panel táctil de precisión de Windows sirve para proporcionar informes detallados de contactos múltiples y botones al host, así como información del dispositivo que está relacionada con estos informes. La colección debe soportar dos informes de características: uno que permita al host obtener las capacidades del 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.
Teclados táctiles hápticos
Un panel táctil háptico es un panel táctil de precisión de Windows que utiliza un accionador háptico (como un accionador resonante lineal o un motor piezoeléctrico) para simular un clic mecánico, en lugar de depender de un mecanismo de bisagra móvil. Dado que no hay ninguna plataforma de salto mecánica ni ensamblaje de botones con bisagra, la superficie del panel táctil permanece inmóvil; la retroalimentación de clic se entrega completamente a través de vibraciones controladas con precisión.
Diferencias clave de los teclados táctiles mecánicos:
- Sin piezas móviles: los paneles táctiles mecánicos usan una superficie con bisagra o un conmutador domo que deprime físicamente cuando el usuario hace clic. Los paneles táctiles hápticos tienen una superficie rígida, no móvil, y generan retroalimentación de clic a través de vibraciones.
- Sensación de clic uniforme: en un panel táctil mecánico, la fuerza del clic y la sensación varía en función de dónde presiona el usuario (normalmente más rígido cerca de la bisagra en la parte superior). Los paneles táctiles hápticos proporcionan comentarios coherentes independientemente de la ubicación de la prensa.
- Retroalimentación configurable por software: el host puede ajustar la intensidad y el carácter de la respuesta de clic háptico, permitiendo una fuerza de clic configurable por el usuario y admitiendo diferentes patrones de forma de onda.
- Diseño más delgado: eliminar el conjunto de bisagra mecánica permite diseños de dispositivos más delgados.
Los teclados táctiles hápticos admiten dos modos de comentarios hápticos:
- Comentarios hápticos iniciados por el dispositivo: el panel táctil desencadena de forma autónoma comentarios hápticos cuando determina que el usuario ha presionado o liberado el botón de superficie. Esto reemplaza la sensación de clic físico de un panel táctil mecánico. Opcionalmente, el dispositivo puede aceptar informes SET_FEATURE del host para permitir al usuario personalizar la intensidad de la retroalimentación y la fuerza necesaria para activar la pulsación de un botón.
- Comentarios hápticos iniciados por el host: el host de Windows envía informes de salida al panel táctil para desencadenar comentarios hápticos a petición, independientemente de las pulsaciones de botón. Esto permite experiencias más enriquecidas controladas por aplicaciones, como impulsos al pasar el cursor, realimentación de alineación automática y confirmaciones de etapas mediante un conjunto definido de formas de onda.
Para obtener detalles completos del protocolo, definiciones de forma de onda, descriptores de ejemplo e instrucciones de implementación de hardware, consulte la Guía de implementación del dispositivo de entrada.
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 reportar este valor a través del número máximo de Contactos (Página 0x0D, Uso 0x55) en el informe de capacidades del dispositivo. Al informar datos, un dispositivo no debe notificar más contactos que el número máximo del Contador 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 (almohadilla de presión) |
| 2 | No clicable (panel discreto) |
El host puede solicitar el informe de capacidades del dispositivo de un Panel Táctil de Precisión de Windows en cualquier momento, tras leer el descriptor del informe.
Informe de características del estado de certificación del dispositivo
El informe sobre el estado de certificación del dispositivo es solicitado por el host del Panel táctil de precisión de Windows 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 comunique un blob PTPHQA firmado debe seguir proporcionando un conjunto 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 en cualquier momento el informe sobre el estado de certificación de un Panel táctil de precisión de Windows, después de 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 en tiempo de ejecución (runtime IDLE) y debido a que el sistema entra en el modo de espera S3 o modo de espera conectado (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 |
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 | Identificación | Obligatorio/Opcional |
|---|---|---|---|---|
| ID de contacto | Identifica de forma única el contacto dentro de un marco determinado. | 0x0D | 0x51 | Obligatorio |
| X | Coordenada X de la posición de contacto. | 0x01 | 0x30 | ** Obligatorio |
| Y | Coordenada Y de la posición de contacto. | 0x01 | 0x31 | Obligatorio |
| Sugerencia | Se debe establecer si el contacto está en la superficie del digitalizador. | 0x0D | 0x42 | Obligatorio |
| Confianza | Se debe establecer cuando un contacto es demasiado grande para ser un dedo. | 0x0D | 0x47 | Obligatorio |
| Ancho | Ancho de la caja delimitadora alrededor de un contacto. | 0x0D | 0x48 | Opcionales |
| Altura | 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 contacto 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 | Identificación | Obligatorio/Opcional |
|---|---|---|---|---|
| Tiempo de escaneo | Tiempo de escaneo relativo. | 0x0D | 0x56 | Obligatorio |
| Recuento de contactos | Número total de contactos que se van a notificar en un informe determinado. | 0x0D | 0x54 | Obligatorio |
| Fuerza mecánica | Fuerza total aplicada al sensor del panel táctil. | 0x20 | 0x494 | Opcionales |
| Botón 1 | Indica el estado del botón del panel táctil integrado con el digitalizador. | 0x09 | 0x01 | Opcionales |
| Botón 2 | Indica el estado del botón para un botón externo al realizar el clic principal (predeterminado como izquierdo). | 0x09 | 0x02 | Opcionales |
| Botón 3 | Indica el estado del botón externo para realizar el clic secundario (predeterminado 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 de Button, consulte Botones, Usos a Nivel de Informe.
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 establecerse cuando el contacto se ubica en la superficie del digitalizador y borrarse cuando el contacto ha dejado la superficie.
Cuando se notifica un contacto con el interruptor de la punta desactivado, la ubicación (X, Y) que se notifica debe ser la misma que la última posición notificada con el interruptor de la punta activado.
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: pulsador de 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 deben ocultar ningún contacto durante el procesamiento del firmware, sino que deben reenviar todos los contactos al host e indicar su nivel de confianza. A continuación, el host usará el nivel de confianza para registrar el contacto como 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.
Ancho y Altura
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; sin embargo, el dispositivo puede informar ya sea el intervalo completo o la mitad del intervalo, asumiendo que la elipse de contacto es simétrica según las capacidades del hardware. El intervalo lógico debe ser lo suficientemente grande como para entregar datos que sean precisos para al menos dos posiciones decimales.
Tiempo de escaneo
El tiempo de escaneo informa sobre el tiempo relativo del digitalizador en unidades de 100 μs. El tiempo de escaneo representa la diferencia desde el primer fotograma sobre el cual se informó después de que un dispositivo comience a reportar datos tras un período de inactividad. La primera hora de escaneo recibida se trata como una hora base para los tiempos reportados subsecuentes. 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 usada para el tiempo de exploración. Debe estar en unidades de 100 µs. Se espera que el valor se reinicie, ya que solo se asignan 2 bytes al contador.
El valor de tiempo de escaneo debe ser el mismo para todos los contactos dentro de un cuadro.
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.