Keys and Key Codes for Windows Mobile
9/9/2008
Windows Mobile mantém um modelo de teclado device–independent que permite que ele para suporte de uma variedade de teclados. No nível mais baixo, cada chave no teclado gera um codificar digitalizar quando a chave é pressionado e liberado. A codificar digitalizar é um número que identifica a chave HARDWARE–Dependent. O driver de teclado converte ou mapeia cada codificar digitalizar para um código de chave virtual. O código de chave virtual é um hardware–Independent hexadecimal número que identifica a chave. Pois teclado layouts variam de linguagem para Idioma, Windows Mobile oferece somente o conjunto núcleo de chave virtual códigos que são encontrado no todos os teclados. Esse conjunto núcleo inclui caracteres em inglês, números e crítico a few chaves, como as teclas função e SETA. As chaves que não estão incluídas no núcleo definir também têm atribuições virtual código de chave, mas seus valores variam de layout de um teclado para o próximo. Você só deve depender de chave virtual códigos no núcleo definidos.
Códigos de chave
A seguinte tabela mostra a constante simbólico nomes, hexadecimal valores e equivalentes de teclado para a chave virtual códigos usados pelo sistema operacional Windows Mobile. Os códigos são listados na ordem numérica. Você pode combinar qualquer um dos códigos com uma chave modificador para criar um tecla de acesso.
Um VK_code é um byte, e portanto, há somente 256 VK_codes total. A chave Virtual os códigos listados no " chave Virtual códigos " seção abaixo são compartilhadas com Windows Embedded CE. Chaves virtuais mais eram exigido para a funcionalidade e SO many hexadecimal valores são compartilhados entre um valor tradicional Windows Embedded CE tanto um valor –specific Windows Mobile.
A seguinte tabela fornece uma lista dos mapeamentos de entre as constantes VK tradicionais e o valor –specific adicionais Windows Mobile.
Valor hexadecimal | Windows Embedded CE constante | Constante compartilhados Windows Mobile | Windows Mobile finalidade |
---|---|---|---|
0x08 |
VK_BACK |
VK_TBACK |
Fazer o backup. |
0x0D |
VK_RETURN |
VK_TACTION |
Ação. |
0x25 |
VK_LEFT |
VK_TLEFT |
À esquerda. |
0x26 |
VK_UP |
VK_TUP |
Backup. |
0x27 |
VK_RIGHT |
VK_TRIGHT |
À direita. |
0 x 28 |
VK_DOWN |
VK_TDOWN |
Para baixo. |
0x5B |
VK_LWIN |
VK_THOME |
Doméstica Tela ou Tela do dia |
0x70 |
VK_F1 |
VK_TSOFT1 |
Tecla 1. |
0x71 |
VK_F2 |
VK_TSOFT2 |
Softkey 2. |
0x72 |
VK_F3 |
VK_TTALK |
Falar |
0x73 |
VK_F4 |
VK_TEND |
End |
0x75 |
VK_F6 |
VK_TVOLUMEUP |
Aumentar o volume. |
0x76 |
VK_F7 |
VK_TVOLUMEDOWN |
Diminuir o volume. |
0x77 |
VK_F8 |
VK_TSTAR |
* |
0x78 |
VK_F9 |
VK_TPOUND |
# |
0x79 |
VK_F10 |
VK_TRECORD |
Registro. |
0x7A |
VK_F11 |
VK_SYMBOL |
Chave símbolo (SYM). |
0x7E é exibido |
VK_F15 |
VK_END_ALL_DATA_CALLS |
Desconecta todas as chamadas dados sem afetar o status de chamadas de voz. |
0x7f |
VK_F16 |
VK_TSPEAKERPHONE_TOGGLE |
Ativa e desativa viva voz. |
0 x 80 |
VK_F17 |
VK_TFLIP |
Inverta. |
0 x 81 |
VK_F18 |
VK_TPOWER |
Energia. |
0x82 |
VK_F19 |
VK_REDKEY |
Enviados por um teclado numérico que tem um tecla de função vermelha especial. |
0x83 |
VK_F20 |
VK_ROCKER |
Chaves SETA veio de uma Rocker. |
0x84 |
VK_F21 |
VK_DPAD |
Chaves SETA veio de uma d–Pad. |
0x85 |
VK_F22 |
VK_KEYLOCK |
Chave utilizada para dispositivo bloqueio. |
0x86 |
VK_F23 |
VK_ACTION |
Enviado com VK_RETURN quando fazendo ação em rockers Windows Mobile 6 Classic. |
0x87 |
VK_F24 |
VK_VOICEDIAL |
Chave usada para rebatem desativar o reconhecimento de voz discagem. |
Para obter mais informações sobre o d-PAD, consulte D-pad Virtual Key Code Support. Para obter mais informações sobre leve chaves, consulte Soft Key Virtual Key Codes.
O seguinte chaves foram indefinido para Windows Embedded CE, mas são substituídos como chaves aplicativo em Windows Mobile.
Valor hexadecimal | Windows Mobile constante |
---|---|
0xC1 |
VK_APP_FIRST |
0xC1 |
VK_APP1 |
0xC2 |
VK_APP2 |
0xC3 |
VK_APP3 |
0xC4 |
VK_APP4 |
0xC5 |
VK_APP5 |
0xC6 |
VK_APP6 |
0xC6 |
VK_APP_LAST |
As chaves VK_APP só serão reconhecidas pelo sistema se eles forem ajustada com VK_LWIN. O seguinte trecho de código demonstra como fazer essa programaticamente.
keybd_event(VK_LWIN, 0, KEYEVENTF_SILENT, 0);
GenKeyEvent(VK_APP1);
keybd_event(VK_LWIN, 0, KEYEVENTF_SILENT | KEYEVENTF_KEYUP, 0);
E finalmente, a seguinte chorded chaves são implementadas para Windows Mobile.
Windows Mobile constante | Valor hexadecimal | Finalidade |
---|---|---|
VK_DONE |
VK_RWIN + VK_F6 |
< OK/fechar > codificar tecla de acesso. Consulte SmartMinimize Button. |
MOD_DONE |
(MOD_WIN | MOD_KEYUP) |
< OK/fechar > modificadores tecla de acesso |
VK_MOJI |
VK_RWIN + VK_F7 |
Key used to switch between East Asian language layouts. |
MOD_MOJI |
(MOD_WIN | MOD_KEYUP) |
Modificadores para MOJI vai para o shell. |
VK_A para VK_Z e VK_0 para VK_9 são definidos para ser os mesmos valores contrapartes ASCII. Portanto, VK_A é 0x41 e VK_0 é 0 x 30. Windows Mobile também define o seguinte códigos numéricos.
Valor hexadecimal | Windows Embedded CE constante | Windows Mobile constante |
---|---|---|
0 x 30 |
VK_0 |
VK_T0 |
0x31 |
VK_1 |
VK_T1 |
0 x 32 |
VK_2 |
VK_T2 |
0x33 |
VK_3 |
VK_T3 |
0x34 |
VK_4 |
VK_T4 |
0 x 35 |
VK_5 |
VK_T5 |
0x36 |
VK_6 |
VK_T6 |
0x37 |
VK_7 |
VK_T7 |
0x38 |
VK_8 |
VK_T8 |
0x39 |
VK_9 |
VK_T9 |
VK_0 (que é o mesmo VK_T0) e VK_NUMPAD0 são chaves diferentes. Sobre o área de trabalho Teclado, VK_0 é a chave logo acima e à esquerda de VK_P. VK_NUMPAD0 é a chave na inferior de PAD o número no direito distante do teclado. Windows Mobile aplicativos serão sempre aspecto para VK_0, mas pode também aspecto para VK_0 e VK_NUMPAD0 na ordem façam a coisa correta se houvesse um devide com um numpad.
Chave Virtual códigos em CE incorporados Windows
Constante simbólico | Valor hexadecimal | Mapeamento adicional definido para Windows Mobile | Mouse ou teclado equivalente |
---|---|---|---|
VK_LBUTTON |
0 x 01 |
Botão mouse à esquerda. |
|
VK_RBUTTON |
0 x 02 |
Botão mouse à direita. |
|
VK_CANCEL |
0x03 |
Processamento Control–break. |
|
VK_MBUTTON |
0x04 |
Botão do meio mouse em um mouse three–Button. |
|
|
0x05–0x07 |
Indefinido. |
|
VK_BACK |
0x08 |
Chave BACKSPACE. |
|
VK_TAB |
0x09 |
Tecla TAB. |
|
|
0x0A–0x0B |
Indefinido. |
|
VK_CLEAR |
0x0C |
Clear chave. |
|
VK_RETURN |
0x0D |
tecla ENTER. |
|
|
0x0E–0x0F |
Indefinido. |
|
VK_SHIFT |
0 x 10 |
Chave SHIFT. |
|
VK_CONTROL |
0 x 11 |
Chave CTRL. |
|
VK_MENU |
0 x 12 |
ALT chave. |
|
VK_PAUSE |
0 x 13 |
Chave PAUSE. |
|
VK_CAPITAL |
0 x 14 |
Chave CAPS LOCK. |
|
|
0x15–0x19 |
Reservado para os sistemas em kanji. |
|
|
0x1A |
Indefinido. |
|
VK_ESCAPE |
0x1B |
Chave Esc. |
|
|
0x1C–0x1F |
Reservado para os sistemas em kanji. |
|
VK_SPACE |
0 x 20 |
SPACEBAR. |
|
VK_PRIOR |
0x21 |
Chave PAGE UP. |
|
VK_NEXT |
0x22 |
Chave PAGE DOWN. |
|
VK_END |
0 x 23 |
Chave END. |
|
VK_HOME |
0x24 |
HOME chave. |
|
VK_LEFT |
0x25 |
Chave SETA PARA A ESQUERDA. |
|
VK_UP |
0x26 |
Chave SETA PARA CIMA. |
|
VK_RIGHT |
0x27 |
Chave SETA PARA A DIREITA. |
|
VK_DOWN |
0 x 28 |
Chave seta para baixo. |
|
VK_SELECT |
0x29 |
SELECT chave. |
|
|
0x2A |
Específicas para OEM. |
|
VK_EXECUTE |
0x2B |
Chave execute. |
|
VK_SNAPSHOT |
0x2C |
Chave PRINT SCREEN. |
|
VK_INSERT |
0x2D |
Chave INS. |
|
VK_DELETE |
0x2E |
Chave tecla Delete. |
|
VK_HELP |
0x2F |
Chave AJUDA. |
|
|
0x3A–0x40 |
Indefinido. |
|
VK_LWIN |
0x5B |
Chave Left Windows em um Microsoft Natural Keyboard. |
|
VK_RWIN |
0x5C |
Chave Right Windows em um Microsoft Natural Keyboard. |
|
VK_APPS |
0x5D |
Chave aplicativos em um Microsoft Natural Keyboard. |
|
|
0x5E–0x5F |
Indefinido |
|
VK_NUMPAD0 |
0x60 |
Chave teclado numérico numérico 0. |
|
VK_NUMPAD1 |
0x61 |
Chave teclado numérico numérico 1. |
|
VK_NUMPAD2 |
0x62 |
Chave teclado numérico numérico 2. |
|
VK_NUMPAD3 |
0x63 |
Chave teclado numérico numérico 3. |
|
VK_NUMPAD4 |
0x64 |
Chave teclado numérico numérico 4. |
|
VK_NUMPAD5 |
0x65 |
Chave teclado numérico numérico 5. |
|
VK_NUMPAD6 |
0x66 |
Chave teclado numérico numérico 6. |
|
VK_NUMPAD7 |
0x67 |
Chave teclado numérico numérico 7. |
|
VK_NUMPAD8 |
0x68 |
Chave teclado numérico numérico 8. |
|
VK_NUMPAD9 |
0x69 |
Chave teclado numérico numérico 9. |
|
VK_MULTIPLY |
0x6A |
Multiplica chave. |
|
VK_ADD |
0x6B |
Adicione chave. |
|
VK_SEPARATOR |
0x6C |
Chave separadora. |
|
VK_SUBTRACT |
0x6D |
Subtrair chave. |
|
VK_DECIMAL |
0x6E |
Chave decimal. |
|
VK_DIVIDE |
0x6F |
Divida chave. |
|
VK_F1 |
0x70 |
Chave F1. |
|
VK_F2 |
0x71 |
F2 key. |
|
VK_F3 |
0x72 |
F3 key. |
|
VK_F4 |
0x73 |
F4 key. |
|
VK_F5 |
0x74 |
F5 key. |
|
VK_F6 |
0x75 |
F6 key. |
|
VK_F7 |
0x76 |
F7 key. |
|
VK_F8 |
0x77 |
F8 key. |
|
VK_F9 |
0x78 |
F9 key. |
|
VK_F10 |
0x79 |
F10 key. |
|
VK_F11 |
0x7A |
F11 key. |
|
VK_F12 |
0x7B |
F12 key. |
|
VK_F13 |
0x7C |
F13 key. |
|
VK_F14 |
0x7D |
F14 key. |
|
VK_F15 |
0x7E é exibido |
F15 key. |
|
VK_F16 |
0x7f |
F16 key. |
|
VK_F17 |
0 x 80 |
F17 key. |
|
VK_F18 |
0 x 81 |
F18 key. |
|
VK_F19 |
0x82 |
F19 key. |
|
VK_F20 |
0x83 |
F20 key. |
|
VK_F21 |
0x84 |
F21 key. |
|
VK_F22 |
0x85 |
F22 key. Chave utilizada para dispositivo bloqueio. |
|
VK_F23 |
0x86 |
F23 key. |
|
VK_F24 |
0x87 |
F24 key. |
|
|
0x89–0x8F |
Não atribuído. |
|
VK_NUMLOCK |
0x90 |
Chave NUM LOCK. |
|
VK_SCROLL |
0x91 |
Chave SCROLL LOCK. |
|
VK_LSHIFT |
0xa0 |
SHIFT à esquerda. |
|
VK_RSHIFT |
0xA1 |
SHIFT à direita. |
|
VK_LCONTROL |
0xA2 |
CTRL à esquerda. |
|
VK_RCONTROL |
0xA3 |
CTRL à direita. |
|
VK_LMENU |
0xA4 |
ALT à esquerda. |
|
VK_RMENU |
0xA5 |
ALT à direita. |
|
|
0xBA–0xC0 |
Específicas para OEM; Reservado. Consulte seguinte tabelas. |
|
|
0xC1–0xDA |
0xC1–0xC6 |
Não atribuído. |
|
0xDB–0xDE |
Específicas para OEM; Reservado. Consulte seguinte tabelas. |
|
VK_OFF |
0xDF |
Usado para ligar o dispositivo logon e logoff. Nenhum equivalente do teclado. |
|
|
0xE1–0xE4 |
Específicas para OEM. |
|
|
0xE5 |
Não atribuído. |
|
|
0xE6 |
Específicas para OEM. |
|
VK_PACKET |
0xE7 |
Usado para transmitir Unicode caracteres as if fossem pressionamentos de tecla. Se VK_PACKET é usado com SendInput, em seguida, o caractere Unicode deve ser entregue deverá ser colocada nos 16 bits inferiores de codificar a digitalizar. Se uma mensagem do teclado é removida a fila de mensagens e VK_PACKET é a chave Virtual, em seguida, o caractere Unicode será de 16 bits superiores do lParam. |
|
|
0xE8 |
Não atribuído. |
|
|
0xE9–0xF5 |
Específicas para OEM. |
|
VK_ATTN |
0xF6 |
Chave ATTN. |
|
VK_CRSEL |
0xF7 |
Chave CRSEL. |
|
VK_EXSEL |
0xF8 |
Chave EXSEL. |
|
VK_EREOF |
0xF9 |
Apaga chave EOF. |
|
VK_PLAY |
0xFA |
PLAY chave. |
|
VK_ZOOM |
0xFB |
Chave ZOOM. |
|
VK_NONAME |
0xFC |
Reservado para uso futuro. |
|
VK_PA1 |
0xFD |
Chave PA1. |
|
VK_OEM_CLEAR |
0xFE |
Clear chave. |
|
VK_KEYLOCK |
0xF22 |
Chave utilizada para dispositivo bloqueio. |
Os OEMs devem fazer detalhes especiais da chave VK intervalos reservados para uso OEM específico: 2A, DB–E4, E6 e E9–F5.
In addition to a chave Virtual atribuições na tabela anterior, Microsoft atribuiu a seguinte específicas chaves virtuais OEM.
Constante simbólico | Valor hexadecimal | Mouse ou teclado equivalente |
---|---|---|
VK_OEM_SCROLL |
0x91 |
Nenhum. |
VK_OEM_1 |
0xBA |
";:" Para dos EUA. |
VK_OEM_PLUS |
0xBB |
"+" Qualquer país/região. |
VK_OEM_COMMA |
0xBC |
"" Qualquer país/região. |
VK_OEM_MINUS |
0xBD |
"-" Qualquer país/região. |
VK_OEM_PERIOD |
0xBE |
"." Qualquer país/região. |
VK_OEM_2 |
0xBF |
"/?" Para dos EUA. |
VK_OEM_3 |
0xC0 |
" ` ~ " Para dos EUA. |
VK_OEM_4 |
0xDB |
" [{" Para dos EUA. |
VK_OEM_5 |
0xDC |
"\|" Para dos EUA. |
VK_OEM_6 |
0xDD |
"]} " Para EUA |
VK_OEM_7 |
0xDE |
" ' " " Para dos EUA. |
VK_OEM_8 |
0xDF |
Nenhum. Por padrão, isso é equivalente a VK_OFF. |
VK_OEM_AX |
0xE1 |
Chave AX no teclado Japanese AX. |
VK_OEM_102 |
0xE2 |
"<>" ou "\|" Em RT 102-chave teclado. |
Para Leste Asian editores de método de entrada (IMEs) o seguinte definições de teclado virtual adicional devem ser observadas.
Constante simbólico | Valor hexadecimal | Descrição |
---|---|---|
VK_DBE_ALPHANUMERIC |
0x0f0 |
Altera o modo para alfanumérico. |
VK_DBE_KATAKANA |
0x0f1 |
Altera o modo para KATAKANA. |
VK_DBE_HIRAGANA |
0x0f2 |
Altera o modo para HIRAGANA. |
VK_DBE_SBCSCHAR |
0x0f3 |
Altera o modo para caracteres Single–byte. |
VK_DBE_DBCSCHAR |
0x0f4 |
Altera o modo para caracteres Double–Byte. |
VK_DBE_ROMAN |
0x0f5 |
Altera o modo para caracteres romanos. |
VK_DBE_NOROMAN |
0x0f6 |
Altera o modo para caracteres non–Roman. |
VK_DBE_ENTERWORDREGISTERMODE |
0x0f7 |
Ativa a caixa diálogo registro palavra. |
VK_DBE_ENTERIMECONFIGMODE |
0x0f8 |
Ativa uma caixa diálogo para configuração até um ambiente IME. |
VK_DBE_FLUSHSTRING |
0x0f9 |
Exclui o seqüência de caracteres indeterminada sem determiná-lo. |
VK_DBE_CODEINPUT |
0x0fa |
Altera o modo para codificar entrada. |
VK_DBE_NOCODEINPUT |
0x0fb |
Altera o modo para não-entrada codificar. |
Os OEMs não devem usar o não atribuído partes da chave Virtual (VK) mapeamento tabelas. Microsoft irá atribuir esses valores In the future. Se fabricantes exigirem mapeamentos VK adicionais, eles devem reutilizar parte o atual atribuições Manufacturer–specific e Vendor–Specific.
See Also
Reference
Concepts
Other Resources
Keyboard
Navigation Keys
Message Map for Navigation Controls