KEYMAPPING
9/9/2008
A estrutura KEYMAPPING é usada para indicar qual físico chaves corresponder aos quais caracteres. Ele é usado em conjunto com LoadKeyMap para definir a chave dados mapeamento que se aplica a um externo teclado ou dispositivo.
Syntax
typedef struct _KEYMAPPING {
WCHAR chHardware;
WCHAR *rgchMatches;
} KEYMAPPING, *PKEYMAPPING;
Parameters
- chHardware
[no] Valor WM_CHAR enviada quando a chave afetado é pressionado sem uso SHIFT OU OUTROS modificadores.
rgchMatches
Uma matriz de valores WM_CHAR que devem corresponder ao chHardware.rgchMatches Deve ser '\0' encerrada.
Remarks
Ao passar múltiplo valores KEYMAPPING para LoadKeyMap, cada um do chHardware Os valores devem ser exclusivo no conjunto inteiro. O rgchMatches Valores também devem ser exclusivo em Conjunto de KEYMAPPING.
Todos os chHardware e rgchMatches Os valores devem ser minúsculas ou caseless.
Existem três tipos de mapeamento:
- Mapeando um caractere para seu caractere de base.
De exemplo, o caractere 'A' Deve mapa (n.); mapear (v.) para qualquer variante de 'A', such as 'Ã'. Esse comportamento é controlado por CompareString e LCMapString APIs da sistema operacional e não é personalizável. - Mapeando uma chave para um dos valores discagem: 0-9, *, #, ou +.
De exemplo, em um dispositivo 30–Key, na qual os dígitos discagem compartilhar uma chave com outro caractere, pressionando a E2 chave pode causar o driver de teclado para enviar uma mensagem VK_E. Desde que o usuário vê "E2" Sobre a chave, o usuário verá uma '2' aparecem em acumulador de discagem. Os OEMs e IHVs podem personalizar esse tipo de mapeamento. - Mapeando uma chave para múltiplo valores.
De exemplo, em um dispositivo 15–Key, pressionando a ?AS chave pode causar o driver de teclado para enviar uma mensagem VK_A. Desde que o usuário vê "? AS " Sobre a chave, o usuário deve ver nada que começa com '? ', 'A', ou s ' Como uma correspondência, incluindo qualquer coisa que mapeia para '? ', 'A', ou s ' via mapeamento um caractere para seu caractere de base. Os OEMs e IHVs podem personalizar esse tipo de mapeamento.
Um completo exemplo de como para forma, carregar, descarregar 12–Key, 15–Key e 30–Key KEYMAPPINGS está disponível no <Kit de adaptação> \Public\SDK\Samples\Common\CPP\Win32\LoadKeyMap\.
Requirements
Header | aygshell.h |
Library | aygshell.lib |
Windows Mobile | Windows Mobile 6 Classic and later, Windows Mobile 6 Professional and later, Windows Mobile 6 Standard and later |
See Also
Reference
LoadKeyMap
UnloadKeyMap
Keyboard Reference