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.
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₁₀ |
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.