Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute a coleção de nível superior de um Touchpad de Precisão do Windows e explica como a coleção fornece relatórios de touchpad compatíveis com HID para o host Windows.
Um dispositivo Windows Precision Touchpad pode usar o protocolo HID para fornecer uma coleção de nível superior que aparece como um digitalizador/touchpad ( 0x0D de Página, 0x05 de Uso).
A coleção Windows Precision Touchpad serve o propósito de fornecer relatórios avançados de vários contatos e botões para o host, bem como informações do dispositivo relacionadas a esses relatórios. A coleção deve suportar dois relatórios de recursos: um que permite que o host obtenha recursos do dispositivo e outro relatório para obter o status de certificação do dispositivo. Para obter um exemplo do relatório de entrada obrigatório, consulte Descritores de relatório de exemplo.
Um relatório de recurso opcional (mas altamente recomendado) pode ser implementado para obter dicas de modo de latência do host, a fim de alcançar o consumo de energia necessário em dispositivos USB no modo de suspensão. As seções a seguir fornecem mais informações sobre os relatórios contidos na coleção de nível superior para o Windows Precision Touchpad.
Relatório de recursos de recursos do dispositivo
O relatório de recursos do dispositivo é solicitado pelo host do Windows Precision Touchpad para recuperar informações sobre os recursos de relatório de contato do dispositivo e o tipo de botão do dispositivo.
A capacidade de relatório de contatos do dispositivo é definida pelo número máximo de contatos de superfície simultâneos que ele pode relatar. Um Windows Precision Touchpad deve suportar um mínimo de 3 contatos simultâneos e um máximo de 5 contatos simultâneos. O touchpad deve relatar esse valor por meio do máximo de contagem de contatos ( 0x0D de página, 0x55 de uso) no relatório de recursos do dispositivo. Ao relatar dados, um dispositivo não deve relatar mais contatos do que a contagem máxima de contatos. Se um quadro de entrada contiver mais contatos do que o máximo, o host descartará todo o quadro, incluindo os dados de quaisquer contatos relatados anteriormente. Para a melhor experiência do usuário, o dispositivo deve suprimir o relatório de quaisquer novos contatos detetados após o número máximo ter sido atingido durante a vida útil do novo contato, mesmo que quaisquer contatos existentes partam. Os contactos existentes podem continuar a ser comunicados e, se algum deles partir, os contactos recém-chegados podem tomar o seu lugar.
O tipo de botão do dispositivo é definido como uma implementação depressível (também referida como tipo de click-pad) ou uma implementação não depressível (também referida como pressure-pad). Também é aceitável que um Touchpad de precisão do Windows tenha uma superfície digitalizadora de relatórios sem botões e botões externos.
O tipo de implementação de botão deve ser especificado através do valor para o tipo de botão (Página 0x0D, Uso 0x59) no relatório de recursos do dispositivo. Se o dispositivo tiver uma superfície digitalizadora de relatórios sem botão e depender de botões externos apenas para cliques do mouse, esse uso pode ser relatado opcionalmente.
A tabela a seguir mostra os valores de uso do tipo de botão.
| Valor do tipo de botão | Implementation |
|---|---|
| 0 | Depressível (Click-pad) |
| 1 | Não depressível (almofada de pressão) |
| 2 | Não clicável (almofada discreta) |
O host pode solicitar o relatório de recursos de recursos do dispositivo de um Touchpad de precisão do Windows a qualquer momento depois de ler o descritor de relatório.
Relatório de recursos de status de certificação de dispositivo
O relatório do recurso de status de certificação do dispositivo é solicitado pelo host do Windows Precision Touchpad para recuperar informações sobre o blob de 256 bytes do dispositivo.
Relatar um blob válido e certificado para o host é opcional no Windows 10, mas é necessário para compatibilidade com versões anteriores do Windows 8.1. Um dispositivo que não comunica um blob PTPHQA assinado ainda deve relatar (qualquer) 256 bytes, como o blob de exemplo abaixo. Os dispositivos que não relatam um blob de certificação válido não funcionarão no Windows 8.1. O Windows não interagirá com dispositivos que usam o uso do HID Touchpad, mas não expõe um status de certificação em seu relatório de recursos de recursos do dispositivo.
Os 256 bytes devem ser especificados por meio do uso específico do fornecedor em uma página de uso definida pelo fornecedor (Página 0xFF, 0xC5 de uso) no relatório do recurso de status de Certificação de Dispositivo.
Antes de um dispositivo receber um blob de 256 bytes indicando seu status de certificação, ele deve implementar um blob padrão da seguinte maneira:
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
O host pode solicitar o relatório do recurso de status de Certificação de Dispositivo de um Touchpad de precisão do Windows a qualquer momento depois de ler o descritor de relatório.
Relatório de recursos do modo de latência
O relatório do recurso Modo de latência é enviado pelo host para um touchpad de precisão do Windows para indicar quando a latência alta é desejável para economia de energia e, inversamente, quando a latência normal é desejada para operação. Para dispositivos Windows Precision Touchpad conectados por USB, isso permite que o dispositivo diferencie entre ser suspenso por inatividade (tempo de execução IDLE) e ser suspenso porque o sistema está entrando no S3 ou no Modo de Espera Conectado.
O modo de latência deve ser indicado usando o valor para o uso do modo de latência ( 0x0D de Página, 0x60 de Uso) no relatório de recursos do modo de latência. A tabela a seguir mostra os valores de uso do modo de latência.
| Valor do modo de latência | Modo de latência |
|---|---|
| 0 | Latência normal |
| 1 | Alta latência |
Relatório de recursos de intensidade háptica (opcional)
No Windows 11, um relatório de recurso de intensidade háptica foi implementado para fornecer mais recursos que se baseiam em PTPs atuais com atuadores hápticos. O relatório do recurso de intensidade háptica é enviado pelo host para um Touchpad de Precisão do Windows, para definir a intensidade do feedback háptico para o touchpad. Este relatório de recursos opcionais requer que um dispositivo relate um SimpleHapticsController (Página 0x0E, 0x01 de Uso) que exponha um SET_FEATURE com uma única intensidade global (Página 0x0E, Uso 0x23).
Para obter um descritor de exemplo, consulte Descritores de relatório de exemplo.
Relatório de recurso de limite de pressão de botão (opcional)
No Windows 11, build 26027+, foi adicionado suporte para a força de clique configurável pelo usuário através das configurações do touchpad do Windows (também conhecido como Button Press Threshold, o limite de força aplicada no touchpad para gerar um clique/botão para baixo). Para que um touchpad de precisão suporte a isso, ele deve incluir o manuseio de SET_FEATURE relatório para o limite de pressão de botão de uso único (página 0x0D, 0xB0 de uso). Durante a enumeração, o host avaliará o intervalo lógico e físico suportado a partir do descritor e calculará as opções expostas para a interface do usuário de configurações, incluindo os padrões. O anfitrião deve emitir o SET_FEATURE para comunicar o limiar de pressão de botão especificado pelo utilizador para o dispositivo; Essa emissão pode ocorrer a qualquer momento, mas deve ocorrer sempre que a configuração for alterada, ocorrer uma troca de usuário e quando o dispositivo for enumerado ou reiniciado.
O intervalo lógico deve ser mapeado linearmente para o intervalo físico de valores e ser uniformemente espaçado e centrado em torno do valor padrão. Ao adquirir o intervalo lógico, o padrão será calculado usando a seguinte fórmula:
O Mínimo Lógico, o Padrão e o Máximo Lógico corresponderão a 3 níveis distintos de força de pressão do botão expostos a um usuário por meio da interface do usuário de configurações do Windows (suportando "Baixo", "Médio" e "Alto", respectivamente).
O intervalo físico recomendado para o Button Press Threshold é cobrir, pelo menos, o intervalo entre 110g e 190g, correspondendo aos valores mínimo e máximo, respectivamente. Para um descritor de exemplo utilizando um Máximo Físico de 190g e Mínimo Físico de 110g (assim, com base na fórmula acima, o padrão seria 150g), consulte Descritores de Relatório de Amostra.
Relatórios de entrada do Windows Precision Touchpad
O host usa os usos na tabela a seguir ao extrair dados de contato de um relatório de entrada por meio da coleção Windows Precision Touchpad. A tabela inclui todos os usos obrigatórios e os usos opcionais suportados relacionados a cada contato exclusivo do digitalizador relatado.
| Membro | Description | Página | ID | Obrigatório/Opcional |
|---|---|---|---|---|
| ID de contato | Identifica exclusivamente o contato dentro de um determinado quadro. | 0x0D | 0x51 | Mandatory |
| X | X coordenada da posição de contacto. | 0x01 | 0x30 | Mandatory |
| Y | Coordenada Y da posição de contacto. | 0x01 | 0x31 | Mandatory |
| Sugestão | Defina se o contato está na superfície do digitalizador. | 0x0D | 0x42 | Mandatory |
| Confiança | Defina quando um contacto é demasiado grande para ser um dedo. | 0x0D | 0x47 | Mandatory |
| Largura | Largura da caixa delimitadora em torno de um contato. | 0x0D | 0x48 | Opcional |
| Altura | Altura da caixa delimitadora em torno de um contato. | 0x0D | 0x49 | Opcional |
| Pressão | Quantidade de pressão que o utilizador está a aplicar ao ponto de contacto. | 0x0D | 0x30 | Opcional |
| Azimute | A rotação no sentido anti-horário do contato sobre o eixo Z. | 0x0D | 0x3F | Opcional |
A tabela a seguir inclui todos os usos de nível superior que devem estar presentes em todos os relatórios de entrada do Windows Precision Touchpad.
| Membro | Description | Página | ID | Obrigatório/Opcional |
|---|---|---|---|---|
| Tempo de varredura | Tempo de varredura relativo. | 0x0D | 0x56 | Mandatory |
| Contagem de contatos | Número total de contactos a comunicar num determinado relatório. | 0x0D | 0x54 | Mandatory |
| Força mecânica | Força total aplicada ao sensor touchpad. | 0x20 | 0x494 | Opcional |
| Botão 1 | Indica o estado do botão para o botão do touchpad integrado com o digitalizador. | 0x09 | 0x01 | Opcional |
| Botão 2 | Indica o Estado do Botão para o botão externo para clicar no primário (padrão à esquerda). | 0x09 | 0x02 | Opcional |
| Botão 3 | Indica o Estado do Botão para o botão externo para clicar no secundário (padrão à direita). | 0x09 | 0x03 | Opcional |
Qualquer dispositivo que não comunique todas as utilizações obrigatórias ao nível do contacto ou do relatório não funcionará como um Touchpad de Precisão do Windows. Os usos obrigatórios são rigorosamente impostos pelo host do Windows. Quando um valor máximo lógico não foi restrito, o valor pode ser otimizado para reduzir o tamanho do descritor.
As seções a seguir fornecem informações sobre os membros nos relatórios. Para obter informações sobre os membros Button, consulte Buttons, Report Level Usages.
ID de contato
Identifica exclusivamente um contato dentro de um relatório para seu ciclo de vida. O ID de contato deve permanecer constante enquanto o contato é detetado e relatado pelo dispositivo. Cada contato simultâneo separado deve ter um identificador exclusivo. Os identificadores podem ser reutilizados assim que o contato associado anteriormente não for mais detetado ou relatado. Não existe um intervalo numérico esperado e os valores utilizados são limitados apenas pelo máximo lógico especificado no descritor.
X/Y
Os valores X e Y relatam as coordenadas de um determinado contato. Um Touchpad de precisão do Windows deve relatar um ponto para cada contato. Os seguintes itens globais devem ser especificados para os usos X e Y:
Mínimo lógico & Máximo lógico (garantindo uma resolução de entrada maior ou igual a 300DPI).
Observação Todo o intervalo de coordenadas lógicas deve ser reportável nos eixos X e Y.
Mínimo físico & Máximo físico (consulte Integração de dispositivos - Tamanho).
Unidade e expoente da unidade.
A coordenada 0,0 (valores x, y) indica o canto superior esquerdo do touchpad.
Dica
Usado para indicar quando o contato está na superfície, ou saiu da superfície do digitalizador. Isso é indicado por um item principal com um tamanho de relatório de 1 bit. Ao entregar um relatório de contato, o bit deve ser definido quando o contato estiver na superfície do digitalizador e limpo quando o contato tiver saído da superfície.
Quando um contato está sendo relatado com o interruptor de ponta limpo, o local (X, Y) que está sendo relatado deve ser o mesmo que a última posição relatada com o interruptor de ponta definido.
Com referência ao exemplo descrito no diagrama anterior, dois contatos são colocados em um touchpad de precisão do Windows e, em algum momento depois, o primeiro contato é levantado enquanto o segundo permanece na superfície por algum tempo adicional. Isso seria relatado conforme descrito na tabela a seguir.
| Relatório | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Contagem de contactos | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
| Contato 1: interruptor de ponta | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
| Contato 1: X, Y | X₁, Y₁ | X₂, Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
| Contato 2: interruptor de ponta | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| Contato 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₁₁ |
Confiança
Usado para indicar que o contato é intencional. Teste de requisitos de compatibilidade para garantir que este bit é definido como 'Desligado' quando um contacto tem quaisquer dimensões (altura ou largura) superiores a 25 mm, o que implica que não é um contacto não intencional. Os dispositivos Windows Precision Touchpad não devem ocultar nenhum contato no processamento de firmware, mas devem encaminhar todos os contatos para o host e indicar a confiança. O anfitrião usará a confiança para rastrear o contato como acidental.
Uma vez que um dispositivo tenha determinado que um contato não é intencional, ele deve limpar o bit de confiança para esse relatório de contato e todos os relatórios subsequentes. Até que um contato tenha sido categorizado como não intencional, o dispositivo deve definir o bit de confiança para esse contato no relatório.
Largura e Altura
Os usos Width e Height representam a largura e a altura da caixa delimitadora ao redor do contato do touchpad. Os valores relatados nunca devem ser zero (0), exceto quando um evento "UP" está sendo relatado, caso em que devem ser zero (0).
Pressão
A pressão é uma medida da força que o dedo exerce contra a superfície do digitalizador. Não há restrições quanto ao alcance permitido para pressão.
Azimute
O azimute especifica a rotação no sentido anti-horário do cursor em torno do eixo Z através de um intervalo circular completo. O intervalo físico e o intervalo lógico devem ser especificados. O intervalo físico deve ser de 0 a 360 ou equivalente em radianos, no entanto, o dispositivo pode relatar o alcance completo ou metade do intervalo, assumindo que as reticências de contato são simétricas com base nas capacidades de hardware. O intervalo lógico deve ser grande o suficiente para fornecer dados precisos com pelo menos duas casas decimais.
Tempo de varredura
O Scan Time relata o tempo relativo do digitalizador em unidades de 100μs. O tempo de varredura representa o delta do primeiro quadro que foi relatado depois que um dispositivo começa a relatar dados subsequentes a um período de inatividade. O primeiro tempo de verificação recebido é tratado como um tempo base para os tempos subsequentes relatados. Os deltas entre os tempos de varredura relatados devem refletir a frequência de varredura do digitalizador. É importante notar que, ao contrário de outros usos, o host não permite qualquer flexibilidade para a unidade para o uso do tempo de digitalização. Deve ser em unidades de 100μs. Espera-se que o valor seja rolado, pois apenas 2 bytes são alocados para o contador.
O valor do tempo de verificação deve ser o mesmo para todos os contatos dentro de um quadro.
Contagem de contatos
Isso é usado para indicar o número de contatos que estão sendo relatados em um determinado quadro, independentemente do interruptor de ponta associado.
Força mecânica
Isso é usado para relatar a força total que está sendo aplicada ao sensor do touchpad, independentemente da pressão opcional que pode ser relatada para dedos individuais. Se a pressão também é relatada para contatos individuais, então as unidades, expoente de unidades, faixa física e faixa lógica devem ser indentáveis para pressão e força mecânica, e o valor para força mecânica deve = SOMA (Pressão para contato 1 + Pressão para contato 2 + .... etc) independentemente do bit de confiança para cada um desses contatos.