Estados da caneta para Windows
Este tópico discute os estados de caneta para um dispositivo de caneta Windows em sistemas operacionais Windows 10 e posteriores.
Estados Principais
É importante entender as várias posições físicas ou orientações nas quais a caneta pode estar, os cenários associados a essas posições e como as transições de posição para posição devem ser relatadas.
Fora da faixa
Esse é o cenário mais simples para uma caneta Windows e ocorre quando o usuário está segurando a caneta fora da faixa de detecção do digitalizador.
Nesse estado (mostrado no diagrama anterior), nenhum relatório de entrada é entregue ao sistema operacional.
Dentro do Intervalo
Esse é um cenário comum para uma caneta Windows e ocorre quando o usuário está segurando a caneta dentro da faixa de detecção do digitalizador.
Nesse estado (mostrado no diagrama anterior), os relatórios de entrada são entregues continuamente ao sistema operacional com a localização da caneta e o SET da opção dentro da faixa. O sistema operacional e os aplicativos podem exibir um cursor ou outros comentários em resposta à caneta que está dentro da faixa.
Em contato
Esse é o cenário mais comum para uma caneta Windows e ocorre quando o usuário está pressionando a caneta na superfície da tela.
Nesse estado (mostrado no diagrama anterior), os relatórios de entrada são entregues continuamente ao sistema operacional com a localização da caneta, o SET da opção dentro da faixa, o SET da opção de ponta e a pressão correspondente na ponta. O sistema operacional e os aplicativos podem colocar tinta ou executar outras ações em resposta à caneta estar em contato com a superfície da tela.
Fora da faixa (intenção de apagar)
Neste cenário de caneta Windows, o usuário ativou o recurso de apagamento da caneta, invertendo-a ou pressionando (e segurando) o botão apagar enquanto a caneta está fora da faixa de detecção do digitalizador. A capacidade de apagamento da caneta também é conhecida como a funcionalidade de apagamento.
Nesse estado (mostrado no diagrama anterior), nenhum relatório de entrada é entregue ao sistema operacional.
Dentro da faixa (intenção de apagar)
Esse é um cenário comum para uma caneta Windows e ocorre quando o usuário está segurando a caneta dentro da faixa de detecção do digitalizador com a acessibilidade de apagamento ativada, invertendo a caneta ou pressionando (e segurando) o botão apagar.
Nesse estado (mostrado no diagrama anterior), os relatórios de entrada são entregues continuamente ao sistema operacional com a localização da caneta, o SET da opção dentro da faixa e o SET da opção inverter. O sistema operacional e os aplicativos podem exibir um cursor ou outros comentários em resposta à caneta que está dentro da faixa de detecção, com intenção de apagar.
Apagar
Esse é um cenário comum para uma caneta Windows e ocorre quando o usuário está pressionando a caneta contra a superfície da tela com a acessibilidade de apagamento ativada, invertendo a caneta ou pressionando (e segurando) o botão apagar.
Nesse estado (mostrado no diagrama anterior), os relatórios de entrada são entregues continuamente ao sistema operacional com a localização da caneta, o SET da opção dentro da faixa e o SET da opção da borracha. Para canetas que usam uma implementação de apagamento final, a opção inverter também deve ser SET nesse estado. O sistema operacional e os aplicativos podem apagar a tinta ou executar outras ações relacionadas ao apagamento.
Transições de estado da caneta Windows
O diagrama a seguir mostra o conjunto de transições válidas para uma caneta Windows (independentemente da implementação da borracha). Um único estado é definido para fora da faixa (independentemente de a acessibilidade de apagamento ser ativada), considerando que o digitalizador não enviará relatórios para o sistema operacional nesse estado.
Transições não apagadas
Se a funcionalidade de apagamento não for ativada (independentemente da implementação da borracha), quando a caneta entrar na faixa de detecção do digitalizador, a transição de estado da caneta que ocorre, será mostrada no diagrama pelo arco que vai de "A caneta está fora da faixa" para "A caneta está dentro da faixa". Se a caneta continuar em direção à superfície da tela e fizer contato, com a funcionalidade de apagamento ainda não ativada, o diagrama mostrará a transição do estado da caneta como indo de "A caneta está dentro da faixa" para "A caneta está em contato".
Quando a caneta é levantada da superfície da tela e está dentro da faixa de detecção do digitalizador, o arco que mostra essa transição de estado passa de "A caneta está em contato" para "A caneta está dentro da faixa". Como parte dessa transição, um único relatório de entrada deve ser entregue ao sistema operacional, com a opção de ponta desmarcada e com o último local em que a caneta estava em contato com a tela. Conforme a caneta continua a ser levantada para além da faixa de detecção do digitalizador, o arco que mostra essa transição de estado vai de "A caneta está dentro da faixa" para "A caneta está fora da faixa". Como parte dessa transição, um único relatório de entrada final deve ser entregue ao sistema operacional com todas as opções desmarcadas e com o último local em que a caneta estava dentro da faixa.
Transições de borracha
Se a funcionalidade de apagamento for ativada (independentemente da implementação da borracha), quando a caneta entrar na faixa de detecção do digitalizador, o arco que mostra essa transição de estado vai de "A caneta está fora da faixa" para "A caneta está dentro da faixa com intenção de apagar". Se a caneta continuar em direção à superfície da tela e fizer contato, com a funcionalidade de apagamento ainda ativada, o arco que mostra essa transição do estado vai de "A caneta está dentro da faixa com intenção de apagar" para "A caneta está apagando".
Quando a caneta é levantada da superfície da tela e está dentro da faixa de detecção do digitalizador, o arco que mostra essa transição de estado passa de "A caneta está apagando" para "A caneta está dentro da faixa com intenção de apagar". Como parte dessa transição, um único relatório de entrada deve ser entregue ao sistema operacional, com a opção de borracha desmarcada e com o último local em que a caneta estava em contato com a tela. Conforme a caneta continua a ser levantada para além da faixa de detecção do digitalizador, o arco que mostra essa transição de estado vai de "A caneta está dentro da faixa com intenção de apagar" para "A caneta está fora da faixa". Como parte dessa transição, um único relatório de entrada final deve ser entregue ao sistema operacional com todas as opções desmarcadas e com o último local em que a caneta estava dentro da faixa.
Observações especiais para implementações do botão de borracha
Ao contrário das implementações de borracha final, as implementações baseadas em botão podem permitir fisicamente que o usuário ative/desative a acessibilidade de apagamento sem que a caneta faça a transição pelo estado "fora da faixa". No entanto, o protocolo subjacente não dá suporte a isso.
É altamente recomendável que, enquanto uma caneta com um botão de borracha estiver em contato com a tela, o estado de opção de borracha seja mantido até que a caneta seja levantada, independentemente de o botão ser pressionado ou liberado. O botão borracha acidental é pressionado durante o estado "A caneta está em contato" e as versões de botão de borracha acidental durante o estado "A caneta está apagando", são ocorrências comuns para os usuários e as transições resultantes por meio do estado "A caneta está fora da faixa" podem resultar em uma experiência de usuário muito desagradável.
Embora a caneta esteja dentro da faixa de detecção do digitalizador, mas não em contato com a tela, a ativação/desativação da acessibilidade de apagamento deve ser respeitada. No entanto, não há suporte para transições diretas entre os estados "A caneta está dentro da faixa" e a "Caneta está dentro da faixa com intenção de apagar" e, nesse cenário, os estados de caneta devem sempre fazer a transição por meio de "A caneta está fora da faixa".
Por exemplo, se o botão apagar for pressionado enquanto a caneta estiver dentro da faixa de detecção do digitalizador, mas não em contato com a tela, um único relatório de entrada deverá ser entregue com todas as opções desmarcadas e com o último local em que a caneta estava dentro da faixa, seguido por relatórios contínuos em que a opção inverter é SET e a opção dentro da faixa é SET.
Em um exemplo inverso, se o botão apagar for liberado enquanto a caneta estiver dentro da faixa de detecção do digitalizador, mas não em contato com a tela, um único relatório de entrada deverá ser entregue com todas as opções desmarcadas e com o último local em que a caneta estava dentro da faixa, com o SET da opção inverter. Isso deve ser seguido por relatórios contínuos em que a opção inverter está desativada e a opção dentro da faixa é SET.
Coleção de atualização de firmware (opcional)
Um dispositivo de caneta Windows integrado pode usar o protocolo HID no Windows 10 para fornecer uma coleção de alto nível específica do fornecedor para executar o firmware do dispositivo e atualizações de configuração do fornecedor.
A coleção de atualização de firmware específica do fornecedor pode fornecer um relatório de saída para transferir o conteúdo do firmware do host para o dispositivo. Isso é altamente vantajoso, pois permite que as atualizações de firmware sejam executadas sem a necessidade de um driver no host.
É obrigatório que o membro do descritor I²C HID, wVersionID, seja incrementado após uma atualização de firmware.
Os dispositivos de caneta Windows integrados devem ser capazes de se recuperar de uma atualização de firmware que tenha falhado devido a perda de energia (ou algum outro erro), removendo e, em seguida, reaplicando sua fonte de alimentação. É altamente recomendável que a funcionalidade básica esteja disponível mesmo após uma atualização de firmware com falha.
Rejeição de palma
Antes de Windows 10, ao receber a entrada de um dispositivo de caneta que estivesse na faixa ou em contato com a tela, o sistema operacional suprimia toda entrada por toque (seja no modo de escrita a tinta ou apagamento).
No Windows 10, versão 1607, a zona morta é mais compacta para ajudar na interação simultânea de caneta e toque. A zona morta modificada captura quase 95% dos toques inadvertidos e ainda fornece uma ótima experiência do usuário final.
Para usuários canhotos, a zona morta varia de 100 a 270 graus e abrange até 12 cm radialmente.
Para usuários canhotos, a zona morta varia de 280 a 30 graus e abrange até 12 cm radialmente.
O sistema operacional aceita interações por toque da esquerda ou da direita da ponta da caneta, dependendo da configuração de preferência de destro/canhoto do usuário. Para usuários destros, as interações por toque são aceitas à esquerda da ponta da caneta (conforme mostrado no diagrama anterior) e vice-versa para usuários canhotos. Por padrão, a caneta é configurada para usuários destros, mas pode ser facilmente alterada abrindo Configurações clicando em Dispositivos e abrindo a janela da caixa de diálogo Caneta, mostrada abaixo. No entanto, alguns usuários têm preferência pelo comportamento de rejeição da palma encontrado no Windows 8.1. Para dar suporte a essa preferência, o Windows 10 também oferece uma configuração para ignorar todas as entradas de toque quando uma caneta entra na faixa.
Observação
Embora os dispositivos herdados (especificamente aqueles que suprimem a entrada por toque quando a entrada da caneta estiver sendo entregue) funcionem no Windows 10, esses dispositivos não fornecerão a funcionalidade descrita acima. Além disso, esses dispositivos não fornecerão qualquer funcionalidade futura que aproveite os relatórios simultâneos de caneta e toque.
A partir do Windows 10, essa configuração pode ser ocultada em sistemas que não dão suporte a relatórios simultâneos de caneta e toque usando a seguinte chave do Registro. Definir a chave como 0 exibirá as configurações para o usuário, enquanto defini-la como 1 as ocultará.
Chave do Registro | Type | Unidades |
---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Pen\HideSPTSettings | DWORD | Booliano (1 ou 0) |
Interações por toque com a caneta na faixa
Conforme mencionado anteriormente, Windows 10 permite que o usuário execute interações por toque enquanto a caneta estiver na faixa, em hardware que dá suporte a relatórios simultâneos de toque/caneta. Mas, uma vez que a caneta faz a transição entre estar na faixa para estar em contato com a tela, todas as interações por toque são suprimidas. Esse é o mesmo comportamento das versões anteriores do Windows.
Zoom atrasado em superfícies de escrita a tinta
O recurso interno de rejeição da palma no Windows 10 é mais eficaz quando a caneta é detectada na faixa do digitalizador, antes da palma chegar à superfície do digitalizador. No entanto, dependendo da velocidade com que a palma pousa e da limitação do limite de detecção do digitalizador de caneta, é possível que a palma chegue antes que a caneta seja detectada.
Um dos resultados mais disruptivos de uma palma relatados ao sistema operacional como vários contatos de toque, antes da localização da caneta ser relatada, é que uma superfície de escrita a tinta pode alterar os níveis de zoom inadvertidamente. O Windows 10 oferece proteção contra esse comportamento por padrão, aplicando um atraso de 250 ms a todas as interações de pinçagem/zoom em superfícies de escrita a tinta, para permitir tempo adicional para detecção de caneta. Deve-se observar que esse atraso só estará presente para sistemas com uma caneta integrada.
Esse valor de atraso global (padrão de 250 ms) é configurável pelo OEM, por meio do Registro do Windows. Para digitalizadores de caneta que têm um limite de detecção reduzido, em que há forte probabilidade de uma palma chegar antes da caneta ser detectada, pode ser aconselhável aumentar o valor de atraso (até um máximo de 500 ms).
Para digitalizadores de caneta com um limite de detecção aprimorado e/ou que tenham uma solução de toque com rejeição integrada da palma, pode ser aconselhável reduzir esse valor (até um mínimo de 0 ms).
Aqui está a chave do Registro que pode ser usada para definir o valor de atraso de pinçagem/zoom.
Chave do Registro | Tipo | Unidades |
---|---|---|
HKLM\SOFTWARE\Microsoft\Palm\DelayManipulationDuration | DWORD | Milissegundos (ms) |
Observe que essa configuração do Registro e o mecanismo de zoom de atraso relacionado só são eficazes em sistemas do Windows 10 que expõem um digitalizador de caneta integrado.