Ajuste do touchpad de precisão (touchpad-tuning-guidelines)
Há várias abordagens que um OEM pode adotar para ajustar a experiência padrão do touchpad no dispositivo baseado no Windows. Os valores padrão atendem às necessidades da maioria dos usuários, portanto, só devem ser ajustados se não fornecerem a experiência específica desejada pelo OEM (e no caso de HorizontalOffset/SpaceBarOffset, que deve ser sempre definido).
Observação
Lembre-se de que problemas graves podem ocorrer se o registro for modificado incorretamente. Verifique se essas etapas são seguidas com atenção. Para oferecer proteção adicional, faça backup do Registro antes da modificação. Veja Como fazer backup e restauração do Registro no Windows.
Os valores de registro ajustáveis descritos abaixo estão todos localizados na chave de hardware HKR do dispositivo touchpad:
- Introdução às chaves do Registro para drivers
- Diretiva AddReg INF do driver de dispositivo
- Como abrir a chave de hardware de um dispositivo
HKEY_LOCAL_MACHINE (HKLM)
Nas versões do Windows anteriores à versão 1903, só havia suporte para a localização global. A localização global padrão é:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad
No Windows, versão 1903 e posterior, primeiro, é verificada a existência de cada um dos valores do Registro deste guia na chave HKR e, em seguida, na chave HKEY_LOCAL_MACHINE
seguinte, caso ele não seja encontrado. Com isso, é possível ter a capacidade de substituir padrões em HKLM usando o local HKR de acordo com o valor.
Prevenção contra ativação acidental
A AAP é um recurso dos touchpads de precisão que suprime determinadas ações, como movimentos de mouse e toques por um curto período após eventos de teclado. Os tempos limite específicos dependem do tipo de ação e da região da entrada de recebimento do touchpad, bem como da configuração do usuário chamada sensibilidade do touchpad encontrada nas configurações do touchpad. Uma indicação de maior sensibilidade significa que menos tempo é gasto suprimindo a entrada após os eventos de teclado. Sensibilidade máxima significa que os tempos limite da AAP são zero e a AAP não está em vigor.
Parâmetros ajustáveis
O Windows define duas classes de regiões de “Cortina” no touchpad para ajudar a evitar a entrada acidental quando os usuários estão descansando as mãos no teclado ou no touchpad durante o uso normal. Isso divide o touchpad em três regiões:
- Região de alta sensibilidade: a supressão de entrada é mínima nessa região
- Região de cortina: a entrada pode ser suprimida por algum tempo nessa região
- Região de supercortina: alguns tipos de entrada, como toques, quase sempre são suprimidos quando a entrada se origina nessa região
Mesmo ao especificar tamanhos de cortina explicitamente, é altamente recomendável fornecer as informações de posicionamento do touchpad físico por meio de SpaceBarOffset
e HorizontalOffset
. Isso é necessário para que o Windows tome decisões em relação a uma experiência de usuário consistente e previsível ao alternar entre o teclado e o uso do ponteiro. Para obter mais informações, veja o guia Integração de dispositivos touchpad de precisão do Windows.
Cortinas
Se os três valores CurtainLeft
, CurtainRight
e CurtainTop
forem encontrados, as cortinas serão construídas com o uso deles como distâncias das respectivas bordas. Se esses três valores não forem encontrados, a configuração herdada (veja Cortinas herdadas abaixo) será usada na sequência, seguida por padrões.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
CurtainTop | DWORD | Himétrico | +0 | 0 | Windows 10, versão 1903 e posterior |
CurtainLeft | DWORD | Himétrico | +0 | 0 | Windows 10, versão 1903 e posterior |
CurtainRight | DWORD | Himétrico | +0 | 0 | Windows 10, versão 1903 e posterior |
CurtainBottom (opcional) | DWORD | Himétrico | +0 | 0 | Windows 10, versão 1903 e posterior |
Cortinas (implícitas)
O algoritmo herdado para configurar as cortinas altera os tamanhos das cortinas, dependendo do local vertical do evento de touchpad e não é tão flexível para personalização. Daí em diante, recomendamos que somente os valores SpaceBarOffset
e HorizontalOffset
sejam definidos e que as cortinas sejam configuradas de outra forma por meio de CurtainTop
etc., descritos acima.
A região de alta sensibilidade destina-se a permanecer dinâmica mesmo durante ou imediatamente após o uso do teclado.
A largura da região em ambos os lados da linha central (Largura da Zona, no diagrama acima) é definida como:
SpacebarOffset + AAPNonCurtainBaseWidth
Observe que isso significa que a largura total da região é o dobro desse valor. SpacebarOffset
é levado em conta para a região, pois a proximidade com o teclado aumenta o risco de contato com a palma da mão.
A altura da região é definida em relação à barra de espaços e se estende até a parte inferior do touchpad. A distância até a parte superior da zona é definida como:
AAPNonCurtainTop - SpaceBarOffset
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
SpaceBarOffset | DWORD | Himétrico | +0 | 1000 | Windows 8.1 e posterior |
HorizontalOffset | DWORD | Himétrico | Qualquer | 0 | Windows 8.1–Windows 10, versão 1511 para mais de 0 intervalo, Windows 10, versão 1511 e posterior para qualquer intervalo |
HorizontalOffsetIsNeg | DWORD | Himétrico | 0-1 | 0 | Windows 8.1 e posterior, preterido no Windows 10, versão 1511 |
AAPNonCurtainTop | DWORD | Himétrico | +0 | 1500 | Windows 10, versão 1607 e posterior |
AAPNonCurtainBaseWidth | DWORD | Himétrico | +0 | 1500 | Windows 10, versão 1607 e posterior |
Super cortinas
A zona de sensibilidade restrita é a região de sensibilidade mais baixa do touchpad. Ela foi criada para a região do touchpad em que os usuários não deixam os dedos durante o uso intencional. Observe que elas são muito pequenas por padrão e só devem ser ampliadas para dispositivos muito grandes.
Os tamanhos das zonas superior, esquerda e direita são definidos independentemente como uma distância da respectiva borda. Elas usam as chaves do Registro mostradas na tabela a seguir.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
SuperCurtainTop | DWORD | Himétrico | +0 | 100 | Windows 10, versão 1511 e posterior |
SuperCurtainLeft | DWORD | Himétrico | +0 | 100 | Windows 10, versão 1511 e posterior |
SuperCurtainRight | DWORD | Himétrico | +0 | 100 | Windows 10, versão 1511 e posterior |
SuperCurtainBottom | DWORD | Himétrico | +0 | 100 | Windows 10, versão 1903 e posterior |
Zona de clique com o botão direito do mouse
Os valores do Registro a seguir permitem a configuração da zona de clique com o botão direito do mouse. A altura é expressa por RightClickZoneHeight
como uma porcentagem da altura de todo o touchpad medida a partir da borda inferior. RightClickZoneWidth
também é uma porcentagem da largura, medida a partir da borda direita em configurações para uso com a mão direita e a borda esquerda em configurações para uso com a mão esquerda quando a opção de troca de botões do mouse está habilitada.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
RightClickZoneHeight | DWORD | Percentual | 1-100 | 25 | Windows 10, versão 1507 e posterior |
RightClickZoneWidth | DWORD | Percentual | 1-100 | 50 | Windows 10, versão 1507 e posterior |
Como suprimir a proteção contra ativação acidental
Definir a chave a seguir é equivalente ao usuário escolher “Mais sensível”, o que desabilita a AAP. Quando essa chave é definida, a configuração de sensibilidade do touchpad nas Configurações do Windows (mostrada acima) não tem nenhum efeito.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\AAPDisabled
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
AAPDisabled | DWORD | N/D | 0-1 | 0 | Windows 10, versão 1511 e posterior |
Como detectar a coleção de mouses de teclado como um dispositivo que não é um mouse
O Windows fornece uma configuração do Registro que permite isentar dispositivos específicos. Encontre-a em: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\IgnoredExternalMice
Estruturar essa chave é semelhante a forçar um touchpad herdado a ser habilitado. Veja Detecção forçada do touchpad herdado para obter mais detalhes.
HKEY_CURRENT_USER (HKCU)
Os OEMs podem alterar as configurações do touchpad do usuário modificando os valores do registro HKCU abaixo. Todos os valores estão na chave do Registro HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad
. Para alterar os padrões usados quando um perfil de usuário é criado, faça modificações no hive do Registro localizado em %SystemDrive%\Users\Default\NTUSER.DAT
.
Deixar o touchpad ligado quando um mouse estiver conectado
Essa configuração especifica se o touchpad pode permanecer ativo quando um mouse externo está presente. Quando ela está inativa, qualquer entrada produzida pelo touchpad é ignorada.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
LeaveOnWithMouse | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Velocidade do cursor
Essa configuração especifica a velocidade na qual o movimento do mouse produzido pelo touchpad move o cursor. Os valores válidos são 1 a 20, inclusive. A interface do usuário dessa configuração limita o intervalo de 2 a 20 com uma etapa de 2.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
CursorSpeed | DWORD | N/D | 1–20 | 10 | Windows 10, versão 1511 e posterior |
Clique em confidencialidade
Essa configuração especifica a confidencialidade relativa da detecção de cliques hápticos do teclado touch, se houver suporte. Os valores válidos são 0 a 100, inclusive. A interface do usuário para essa configuração limita o intervalo a 0-100 com uma etapa de 50. Essa é a configuração voltada para o usuário do relatório do recurso "Limite de Pressionamento do Botão".
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
ClickForceSensitivity | DWORD | Percentual | 0-100 | 50 | Windows 11, build 26027+ |
Seção “Feedback do touchpad”
O Windows oferece a capacidade de modificar as configurações na seção Feedback do touchpad das configurações do touchpad.
Feedback habilitados
Essa configuração especifica se o feedback háptico está habilitado nos touchpads onde há suporte para ele.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
FeedbackEnabled | DWORD | N/D | 0-1 | 1 | Windows 11 |
Observação
Para garantir uma ótima experiência do usuário, os comentários hápticos devem estar habilitados por padrão. Portanto, esse valor deve permanecer definido como 1
.
Intensidade
Essa configuração especifica a intensidade relativa do feedback háptico do touchpad, caso haja suporte. Os valores válidos são 0 a 100, inclusive. A interface do usuário para essa configuração limita o intervalo de 0 a 100 com uma etapa de 25. Esta é a configuração visível para o usuário do relatório de recurso "Intensidade Háptica".
Observação
Para garantir uma ótima experiência do usuário, os comentários hápticos devem estar habilitados por padrão. Portanto, esse valor deve ser definido como um valor diferente de zero.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
FeedbackIntensity | DWORD | Percentual | 0-100 | 50 | Windows 11 |
Seção “Toques”
O Windows oferece a capacidade de modificar as configurações na seção Toques das configurações do touchpad.
Sensibilidade do touchpad
Essa configuração especifica o nível de sensibilidade do touchpad. Quanto mais sensível é o touchpad, menos supressão da geração de entrada do mouse ocorre após a atividade do teclado. Valores mais baixos correspondem a maior sensibilidade (ou seja, 0 indica maior sensibilidade).
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
AAPThreshold | DWORD | N/D | 0-4 | 2 | Windows 10, versão 1511 e posterior |
Tocar com um só dedo para clique simples
Essa configuração especifica se os toques com um só dedo estão habilitados.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
TapsEnabled | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Tocar com dois dedos para clique com o botão direito do mouse
Essa configuração especifica se os toques com dois dedos estão habilitados.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
TwoFingerTapEnabled | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Tocar duas vezes e arrastar para seleção múltipla
Essa configuração especifica se o gesto de tocar e arrastar está habilitado.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
TapAndDrag | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Pressionar o canto inferior direito do touchpad para clique com o botão direito do mouse
Essa configuração especifica se pressionar o touchpad no canto inferior direito resulta na produção de um clique com o botão direito do mouse em vez de um clique com o botão esquerdo. Se o usuário tiver trocado os botões esquerdo e direito do mouse (GetSystemMetrics(SM_SWAPBUTTON)
é true), a zona do clique com o botão direito do mouse será espelhada horizontalmente no canto inferior esquerdo do touchpad.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
RightClickZoneEnabled | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Seção “Rolar e ampliar”
O Windows fornece a capacidade de modificar as configurações com a seção Rolar e ampliar das configurações do touchpad.
Observação
No momento, não há como modificar a velocidade de rolagem ou de zoom de um touchpad.
Arraste dois dedos na tela para rolar
Essa configuração especifica se o movimento panorâmico com dois dedos está habilitado.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
PanEnabled | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Direção da rolagem
Essa configuração especifica se a direção em que o conteúdo rola por meio do movimento panorâmico com dois dedos é invertida. No estado padrão, o movimento para cima dos contatos no touchpad resulta na rolagem do conteúdo para baixo e o movimento para a esquerda dos contatos resulta na rolagem do conteúdo para a direita.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
ScrollDirection | DWORD | N/D | 0-1 | 0 | Windows 10, versão 1511 e posterior |
Pinçar para ampliar
Essa configuração especifica se o zoom com dois dedos está habilitado.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
ZoomEnabled | DWORD | N/D | 0-1 | 1 | Windows 10, versão 1511 e posterior |
Configurações sem interface de usuário
Há suporte para as configurações a seguir no Windows, mas elas não são expostas ao usuário no aplicativo Configurações.
Aceleração do mouse
Essa configuração especifica se o movimento do mouse produzido pelo touchpad respeita a configuração de aceleração do mouse do usuário, conforme retornado por SystemParametersInfo(SPI_GETMOUSE)
. Se ela for 0, o movimento do mouse sempre terá a aceleração aplicada.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
HonorMouseAccelSetting | DWORD | N/D | 0-1 | 0 | Windows 10, versão 1511 e posterior |
Largura da zona do clique direito
Essa configuração especifica a largura relativa da zona de clique com o botão direito do mouse no teclado touch. Os valores válidos são 0 a 100, inclusive. Se for diferente de zero, ele substitui a configuração do dispositivo.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
RightClickZoneWidth | DWORD | Percentual | 0-100 | 0 | Windows 11, build 26027+ |
Altura da zona do clique direito
Essa configuração especifica a altura relativa do teclado touch da zona de clique com o botão direito do mouse do teclado touch. Os valores válidos são 0 a 100, inclusive. Se for diferente de zero, ele substitui a configuração do dispositivo.
Valor do Registro | Tipo | Unidades | Intervalo | Default | Disponibilidade |
---|---|---|---|---|---|
RightClickZoneHeight | DWORD | Percentual | 0-100 | 0 | Windows 11, build 26027+ |
Consultando e modificando configurações dinamicamente
A partir do Windows 11, build 26027, as configurações do teclado touch do usuário podem ser consultadas e modificadas dinamicamente por meio da API SystemParametersInfo
. Por exemplo:
// Get the user's touchpad settings.
TOUCHPAD_PARAMETERS params = {};
params.versionNumber = TOUCHPAD_PARAMETERS_LATEST_VERSION;
RETURN_IF_WIN32_BOOL_FALSE(
::SystemParametersInfo(SPI_GETTOUCHPADPARAMETERS, sizeof(params), ¶ms, 0 /*fWinIni*/));
// Override the touchpad's right-click zone to have a 50% width and 33% height.
// NOTE: changing user settings should only be performed in response to explicit user intent.
params.rightClickZoneWidth = 50;
params.rightClickZoneHeight = 33;
RETURN_IF_WIN32_BOOL_FALSE(
::SystemParametersInfo(SPI_SETTOUCHPADPARAMETERS, sizeof(params), ¶ms, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE));
Como em qualquer chamada para SystemParametersInfo
, o processo deve estar em execução na conta do usuário para que as configurações sejam consultadas ou modificadas corretamente.