Aceitação das configurações herdadas de touchpad do computador (touchpad-legacy-touchpad-pc-settings-opt-in)
Este tópico descreve como dispositivos que não são touchpads de precisão do Windows podem aceitar várias configurações expostas no Windows 8.1 para fornecer uma solução incluída simples e fácil de navegar para gerenciar as configurações mais comuns do touchpad.
As configurações do computador no Windows 8.1 expõem as quatro configurações a seguir para touchpads de precisão do Windows:
- Habilitar/desabilitar
- Habilitação/desabilitação de gestos de borda
- Direção da rolagem normal/invertida
- Força da AAP (prevenção contra ativação acidental) incluída
Aplicativos auxiliares de touchpads herdados podem aceitar a configuração de habilitação/desabilitação e, opcionalmente, as configurações de habilitação/desabilitação de borda e de direção da rolagem.
Requisitos de aceitação
- Para participar do programa de aceitação, um miniaplicativo touchpad precisa ter a capacidade de habilitar/desabilitar a configuração de touchpad.
- O programa de aceitação requer a definição de um valor do Registro e o consumo de alterações do Registro em tempo de execução para alterar o comportamento do touchpad. Esse mecanismo só está disponível para aplicativos auxiliares no modo de usuário associados a touchpads herdados e, portanto, não é compatível com plataformas WoA (Windows on Arm).
- Este programa de aceitação é destinado especificamente a sistemas clamshell e conversíveis e não é compatível com sistemas slate que apresentam um encaixe externo com um touchpad herdado, pois esses sistemas podem alternar acessórios com níveis de capacidade diferentes.
Mecanismo de aceitação
Para especificar quais configurações um miniaplicativo de touchpad pode consumir por meio do programa de aceitação, você precisa especificar um DWORD na seguinte chave do Registro, com a cadeia de caracteres de nome igual à cadeia de caracteres HWID do dispositivo de destino da aceitação. Essa aceitação é global, ou seja, todos os usuários verão as configurações aceitas como disponíveis no miniaplicativo de configurações modernas.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\LegacyControlled\
O valor desse DWORD especifica quais configurações devem ser consumidas pelo miniaplicativo em forma de bitmask.
Configuração | Valor | Obrigatório/opcional |
---|---|---|
Habilitar/Desabilitar | 0x00000001 | Obrigatório |
Habilitação/desabilitação de borda | 0x00000002 | Opcional |
Direção da rolagem | 0x00000004 | Opcional |
Por exemplo, para que um dispositivo com HWID (ACPI\MSFT0001) aceite apenas habilitação/desabilitação e direção da rolagem, seria criado um DWORD com este:
ACPI\MSFT0001 0x00000005
Se um touchpad moderno com HWID (HID\VID_045E&PID_003F&REV_03FF) quisesse aceitar todas as configurações, ele criaria um DWORD da seguinte maneira:
HID\VID_045E&PID_003F&REV_03FF 0x00000007
Observação Se você estiver importando ou exportando do Registro, o caractere "\" será duplicado como "\\", pois é um delimitador. Se você colar usando o Editor do Registro, ignore o delimitador extra.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\LegacyControlled]
"HID\\VID_045E&PID_003F&REV_03FF"=dword:00000007
"ACPI\\MSFT0001"=dword:00000005
Para obter mais informações, confira IDs de hardware HIDClass para coleções de nível superior.
As configurações alteram o consumo
Embora a aceitação pelo aplicativo auxiliar de touchpad seja global, as configurações em si são personalizadas por usuário. Para consumir as alterações de configurações, o aplicativo auxiliar precisa se registrar para notificações de alteração do Registro associadas à chave e às subchaves a seguir e agir em relação a essas alterações.
Se não houver nenhum usuário conectado, as configurações padrão deverão ser usadas para que o touchpad seja habilitado e a direção da rolagem seja normal (não invertida).
HKCU\Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad
Para fazer isso, use a função RegNotifyChangeKey() e especifique o parâmetro bWatchSubtree como TRUE.
Sempre que uma configuração de touchpad é modificada pelo usuário usando as configurações do computador incluídas, o identificador de evento que a chamada especifica para RegNotifyChangeKey() é usado para notificar o chamador.
Quando esse evento ocorrer, o miniaplicativo de touchpad deverá ler cada um dos valores a seguir de acordo com o valor de aceitação especificado.
HKCU\Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\Status\
Configuração | Nome | Type | Valores |
---|---|---|---|
Habilitar/Desabilitar | habilitado | DWORD | 0 – Desabilitado Diferente de 0 – Habilitado |
HKCU\Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\
Configuração | Nome | Type | Valores |
---|---|---|---|
Habilitação/desabilitação de borda | EnableEdgy | DWORD | 0 – Desabilitado Diferente de 0 – Habilitado |
Direção da rolagem | ScrollDirection | DWORD | 0 – Padrão Diferente de 0 – Invertida |
Observação Os valores nomeados nas tabelas anteriores só devem ser lidos e nunca substituídos pela entidade de aceitação. Confira a seção a seguir sobre painéis de controle de touchpad de terceiros.
Painéis de controle touchpad de terceiros
Qualquer configuração de touchpad que tenha sido aceita pelo aplicativo auxiliar poderá ser exibida por um painel de controle de terceiros. No entanto, para garantir a consistência e a sincronização com a interface do usuário das configurações incluídas, a exibição não deverá ser modificável. As teclas de acesso personalizadas que foram usadas para alterar as configurações (por exemplo, habilitar/desabilitar) não poderão ser funcionais se afetarem alguma configuração aceita. O Windows fornece uma tecla de acesso incluída para habilitar/desabilitar o controle (CTRL+WIN+F24), que pode contar com suporte do OEM.
Desinstalar
Se o aplicativo auxiliar de touchpad que manipula as alterações de configurações for desinstalado, o procedimento de desinstalação deverá remover a aceitação especificada em HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\LegacyControlled\.