Compartilhar via


Botões, usos de nível de relatório (touchpad-buttons-report-level-usages)

Este tópico discute os usos de níveis de relatório para botões no contexto da Coleção de Touchpad de precisão do Windows.

Veja uma tabela que mostra todos os usos obrigatórios que devem estar presentes em todos os relatórios de entrada de Touchpad de precisão do Windows. A tabela inclui os usos dos Botões 1, 2 e 3.

Membro Descrição ? ID Obrigatório/opcional
ID do Relatório ID de relatório do Touchpad de precisão do Windows. 0x0D 0x05 Obrigatório
Hora da verificação Tempo de verificação relativo. 0x0D 0x56 Opcional
Contagem de contatos Número total de contatos a serem relatados em um determinado relatório. 0x0D 0x54 Obrigatório
Botão 1 Indica o Estado do Botão para o botão do touchpad integrado ao digitalizador. 0x09 0x01 Opcional
Botão 2 Indica o Estado do Botão para o botão externo do clique primário (padrão à esquerda). 0x09 0x02 Opcional
Botão 3 Indica o Estado do Botão para o botão externo do clique secundário (padrão à direita). 0x09 0x03 Opcional

As seções a seguir fornecem informações sobre os usos de Botões. Para obter informações sobre os outros membros (por exemplo, ID do Relatório), confira Coleção Touchpad de precisão do Windows.

Botão 1

O comutador do Botão 1 especifica o estado para cima/para baixo do botão do Touchpad de precisão do Windows sob o digitalizador. Independentemente da implementação do tipo de botão (pressão ou mecânica), quando um botão recebe a quantidade necessária de força de ativação, seu estado "para baixo" deve ser relatado definindo o bit do botão. Quando a força de ativação que é aplicada ao botão ficar abaixo do limite necessário, o estado "para cima" deverá ser relatado apagando o bit do botão.

diagram showing a contact placed on a windows precision touchpad, with sufficient force to invoke a button-down. the contact's down force is later reduced enough to invoke a button-up, while the contact is still on the digitizer surface.

Com referência ao exemplo descrito no diagrama anterior, suponha que um contato seja colocado em um Touchpad de precisão do Windows com força de ativação suficiente para invocar um botão para baixo. Em seguida, em algum momento depois, a força de ativação é reduzida para que ela invoque um botão para cima, enquanto o contato 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 contatos 1 1 1 1 1 1 1 1 1 1 1
Botão 1 1 1 1 1 0 NR NR NR NR NR
Contato 2: comutador de toque 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₁₀

diagram showing a non-capacitive contact that is placed on a windows precision touchpad with sufficient activation force to invoke a button down. the activation force is later reduced, such that it invokes a button up.

Com referência ao exemplo descrito no diagrama anterior, suponha que um contato não capacitivo seja colocado em um Touchpad de precisão do Windows com força de ativação suficiente para invocar um botão para baixo. Em seguida, em algum momento posterior, a força de ativação é reduzida de modo que invoque um botão para cima. Isso seria relatado conforme descrito na tabela a seguir.

Relatório 1 2 3 4 5 6
Contagem de contatos 0 0 0 0 0 0
Botão 1 1 1 1 1 0

Botões 2 e 3 (Cliques discretos à esquerda e à direita)

O dispositivo Touchpad de precisão do Windows dará suporte nativo a usos de botões (clique com o botão esquerdo e clique com o botão direito do mouse) integrados ao digitalizador, mas botões adicionais devem ser atendidos pelo driver de terceiros.

E se um dispositivo oferecer suporte apenas a botões externos, ele ainda deverá usar o Botão 2 e o Botão 3 para referenciar os botões externos.

Se mais de um botão estiver presente para usar com o touchpad, comutadores de botão adicionais deverão ser declarados no descritor. Botões externos são relatados no nível do pacote semelhante aos botões do digitalizador, no entanto, não há requisitos para coordenar botões externos com o estado de contato.

Modos de relatório por pacotes

Modo paralelo

No modo paralelo, os dispositivos relatam todas as informações de contato em um único pacote. Cada contato físico é representado por uma coleção lógica inserida na coleção de nível superior. Essa coleção lógica contém todos os usos aos quais o dispositivo dá suporte para cada contato. Quando você usa o modo Paralelo, cada uma das coleções lógicas deve ser idêntica. Como o dispositivo geralmente relata menos contatos do que o máximo, o número de contatos relatados em um pacote paralelo deve ser comunicado por meio do uso da Contagem de Contatos.

Por exemplo, considere um dispositivo que dê suporte a três contatos. Se o usuário tiver apenas dois dedos no digitalizador, o pacote paralelo terá apenas dois dados de contato válidos em um relatório que pode transportar dados para três contatos. Nesse caso, a Contagem de Contatos deve ser definida como 2, para que o aplicativo cliente saiba que qualquer informação sobre mais de dois contatos não é válida.

Uma desvantagem de relatar vários contatos em um relatório é que o espaço é desperdiçado em cada relatório sempre que há menos contatos do que o número máximo de contatos possível. Os dispositivos podem usar o modo híbrido para reduzir essa ineficiência.

Modo híbrido

No modo Híbrido, o número de contatos que podem ser relatados em um relatório é menor que o número máximo de contatos compatíveis com o dispositivo. Por exemplo, um dispositivo que dá suporte a um máximo de quatro contatos físicos simultâneos pode configurar sua coleção de nível superior para fornecer no máximo dois contatos em um relatório. Se houver quatro pontos de contato, o dispositivo poderá dividi-los em dois relatórios seriais que fornecem dois contatos cada.

Quando um dispositivo fornece dados dessa maneira, o valor de uso da Contagem de Contatos no primeiro relatório deve refletir o número total de contatos que estão sendo entregues nos relatórios híbridos. Os outros relatórios seriais devem ter uma contagem de contatos igual a zero (0).

Modo de relatório híbrido com um único dedo

O primeiro relatório de entrada para um determinado quadro indica o número total de contatos a serem relatados por meio do uso da contagem de contatos. Todos os relatórios de entrada subsequentes para o mesmo quadro devem ter um valor igual a zero (0) para o uso da contagem de contatos, para indicar que eles fazem parte do quadro relatado anteriormente. O tempo de verificação em todos os relatórios de um determinado quadro deve ser idêntico.

Veja uma tabela mostrando a sequência de relatórios para dois contatos (no modo relatório híbrido de dedo único).

Relatório 1 2 3 4 5 6
Contagem de contatos 2 0 2 0 2 0
ID de contato 1 2 1 2 1 2
Contato 1: X, Y X₁, Y₁ NR X₂, Y₂ NR X₃, Y₃ NR
Contato 1: comutador de toque 1 NR 1 NR 1 NR
Contato 2: X, Y NR X₁, Y₁ NR X₂, Y₂ NR X₃, Y₃
Contato 2: comutador de toque NR 1 NR 1 NR 1
Hora da verificação T₁ T₁ T₂ T₂ T₃ T₃

Os dispositivos Touchpads de precisão do Windows conectados por USB e I²C podem fornecer relatórios de entrada no modo de relatório híbrido com um único dedo ou no modo de relatório híbrido com dois dedos.

Coleção de touchpad de precisão do Windows