Entrada de teclado
Esta seção descreve como o sistema gera a entrada do teclado e como um aplicativo recebe e processa essa entrada.
Nesta secção
Designação | Descrição |
---|---|
Sobre a entrada de teclado | Discute a entrada do teclado. |
Usando o de entrada do teclado | Abrange tarefas associadas à entrada do teclado. |
de referência de entrada de teclado | Contém a referência da API. |
Funções
Designação | Descrição |
---|---|
ActivateKeyboardLayout | Define o identificador de localidade de entrada (anteriormente chamado de identificador de layout de teclado) para o thread de chamada ou o processo atual. O identificador de localidade de entrada especifica uma localidade, bem como o layout físico do teclado. |
BlockInput | Impede que eventos de entrada de teclado e mouse alcancem aplicativos. |
EnableWindow | Habilita ou desabilita a entrada de mouse e teclado na janela ou controle especificado. Quando a entrada está desativada, a janela não recebe entradas, como cliques do mouse e pressionamentos de teclas. Quando a entrada está ativada, a janela recebe todas as entradas. |
GetActiveWindow | Recupera o identificador da janela para a janela ativa anexada à fila de mensagens do thread de chamada. |
GetAsyncKeyState | Determina se uma tecla está para cima ou para baixo no momento em que a função é chamada e se a tecla foi pressionada após uma chamada anterior para GetAsyncKeyState. |
GetFocus | Recupera o identificador para a janela que tem o foco do teclado, se a janela estiver anexada à fila de mensagens do thread de chamada. |
GetKeyboardLayout | Recupera o identificador de localidade de entrada ativo (anteriormente chamado de layout de teclado) para o thread especificado. Se o parâmetro idThread for zero, o identificador de localidade de entrada para o thread ativo será retornado. |
GetKeyboardLayoutList | Recupera os identificadores de localidade de entrada (anteriormente chamados de identificadores de layout de teclado) correspondentes ao conjunto atual de localidades de entrada no sistema. A função copia os identificadores para o buffer especificado. |
GetKeyboardLayoutName | Recupera o nome do identificador de localidade de entrada ativo (anteriormente chamado de layout de teclado). |
GetKeyboardState | Copia o status das 256 chaves virtuais para o buffer especificado. |
GetKeyNameText | Recupera uma cadeia de caracteres que representa o nome de uma chave. |
GetKeyState | Recupera o status da chave virtual especificada. O status especifica se a tecla está para cima, para baixo ou alternada (ligada, desativada alternadamente cada vez que a tecla é pressionada). |
GetLastInputInfo | Recupera a hora do último evento de entrada. |
IsWindowEnabled | Determina se a janela especificada está habilitada para entrada de mouse e teclado. |
LoadKeyboardLayout | Carrega um novo identificador de localidade de entrada (anteriormente chamado de layout de teclado) no sistema. Vários identificadores de localidade de entrada podem ser carregados de cada vez, mas apenas um por processo está ativo de cada vez. O carregamento de vários identificadores de localidade de entrada torna possível alternar rapidamente entre eles. |
MapVirtualKey | Traduz (mapeia) um código de chave virtual em um código de verificação ou valor de caractere, ou traduz um código de digitalização em um código de chave virtual. Para especificar um identificador para o layout do teclado a ser usado para traduzir o código especificado, use a funçãoMapVirtualKeyEx. |
MapVirtualKeyEx | Mapeia um código de chave virtual em um código de verificação ou valor de caractere ou traduz um código de verificação em um código de chave virtual. A função traduz os códigos usando o idioma de entrada e um identificador de localidade de entrada. |
OemKeyScan | Mapeia os códigos OEMASCII de 0 a 0x0FF nos códigos de varredura OEM e nos estados de deslocamento. A função fornece informações que permitem que um programa envie texto OEM para outro programa, simulando a entrada do teclado. |
RegisterHotKey | Define uma tecla de atalho em todo o sistema. |
SendInput | Sintetiza pressionamentos de teclas, movimentos do mouse e cliques em botões. |
SetActiveWindow | Ativa uma janela. A janela deve ser anexada à fila de mensagens do thread de chamada. |
SetFocus | Define o foco do teclado para a janela especificada. A janela deve ser anexada à fila de mensagens do thread de chamada. |
SetKeyboardState | Copia uma matriz de 256 bytes de estados de teclas do teclado para a tabela de estados de entrada do thread de chamada. Esta é a mesma tabela acessada pelo GetKeyboardState e funções de GetKeyState. As alterações feitas nesta tabela não afetam a entrada do teclado em nenhum outro thread. |
ToAscii | Traduz o código de chave virtual especificado e o estado do teclado para o(s) caractere(s) correspondente(s). A função traduz o código usando o idioma de entrada e o layout físico do teclado identificados pela alça de layout do teclado. Para especificar um identificador para o layout do teclado a ser usado para traduzir o código especificado, use a função ToAsciiEx. |
ToAsciiEx | Traduz o código de chave virtual especificado e o estado do teclado para o(s) caractere(s) correspondente(s). A função traduz o código usando o idioma de entrada e o layout do teclado físico identificados pelo identificador de localidade de entrada. |
ToUnicode | Traduz o código de chave virtual especificado e o estado do teclado para o(s) caractere(s) Unicode correspondente(s). Para especificar um identificador para o layout do teclado a ser usado para traduzir o código especificado, use a funçãoToUnicodeEx. |
ToUnicodeEx | Traduz o código de chave virtual especificado e o estado do teclado para o(s) caractere(s) Unicode correspondente(s). |
UnloadKeyboardLayout | Descarrega um identificador de localidade de entrada (anteriormente chamado de layout de teclado). |
UnregisterHotKey | Libera uma tecla de atalho previamente registrada pelo thread de chamada. |
VkKeyScanEx | Traduz um caractere para o código de chave virtual correspondente e o estado de deslocamento. A função traduz o caractere usando o idioma de entrada e o layout do teclado físico identificados pelo identificador de localidade de entrada. |
As seguintes funções estão obsoletas.
Função | Descrição |
---|---|
GetKBCodePage | Recupera a página de código atual. |
keybd_event | Sintetiza um pressionamento de tecla. O sistema pode usar esse pressionamento de tecla sintetizado para gerar uma mensagem WM_KEYUP ou WM_KEYDOWN. O manipulador de interrupção do driver do teclado chama a função keybd_event. |
VkKeyScan | Traduz um caractere para o código de tecla virtual correspondente e o estado de deslocamento para o teclado atual. |
Mensagens
Designação | Descrição |
---|---|
WM_GETHOTKEY | Determina a tecla de atalho associada a uma janela. |
WM_SETHOTKEY | Associa uma tecla de atalho à janela. Quando o usuário pressiona a tecla de atalho, o sistema ativa a janela. |
Notificações
Designação | Descrição |
---|---|
WM_ACTIVATE | Enviado para a janela que está sendo ativada e para a janela que está sendo desativada. Se as janelas usarem a mesma fila de entrada, a mensagem será enviada de forma síncrona, primeiro para o procedimento de janela da janela de nível superior que está sendo desativada e, em seguida, para o procedimento de janela da janela de nível superior que está sendo ativada. Se as janelas usarem filas de entrada diferentes, a mensagem será enviada de forma assíncrona, para que a janela seja ativada imediatamente. |
WM_APPCOMMAND | Notifica uma janela de que o usuário gerou um evento de comando do aplicativo, por exemplo, clicando em um botão de comando do aplicativo usando o mouse ou digitando uma tecla de comando do aplicativo no teclado. |
WM_CHAR | Postado na janela com o foco do teclado quando uma mensagem WM_KEYDOWN é traduzida pela funçãoTranslateMessage. A mensagem WM_CHAR contém o código de caractere da tecla que foi pressionada. |
WM_DEADCHAR | Postado na janela com o foco do teclado quando uma mensagem de WM_KEYUP é traduzida pela funçãoTranslateMessage.
WM_DEADCHAR especifica um código de caractere gerado por uma chave morta. Uma chave morta é uma chave que gera um caractere, como o umlaut (ponto duplo), que é combinado com outro caractere para formar um caractere composto. Por exemplo, o caractere umlaut-O ( ) é gerado digitando a tecla morta para o caractere umlaut e, em seguida, digitando a tecla O. |
WM_HOTKEY | Postado quando o usuário pressiona uma tecla de atalho registrada pela funçãoRegisterHotKey. A mensagem é colocada na parte superior da fila de mensagens associada ao thread que registrou a tecla de atalho. |
WM_KEYDOWN | Postado na janela com o foco do teclado quando uma tecla que não é do sistema é pressionada. Uma tecla não-sistema é uma tecla que é pressionada quando a tecla ALT não é pressionada. |
WM_KEYUP | Postado na janela com o foco do teclado quando uma tecla que não é do sistema é liberada. Uma tecla que não é do sistema é uma tecla que é pressionada quando a tecla ALT não é pressionada ou uma tecla do teclado que é pressionada quando uma janela tem o foco do teclado. |
WM_KILLFOCUS | Enviado para uma janela imediatamente antes de perder o foco do teclado. |
WM_SETFOCUS | Enviado para uma janela depois de ter ganho o foco do teclado. |
WM_SYSDEADCHAR | Enviado para a janela com o foco do teclado quando uma mensagem WM_SYSKEYDOWN é traduzida pela funçãoTranslateMessage.
WM_SYSDEADCHAR especifica o código de caractere de uma chave morta do sistema, ou seja, uma tecla morta que é pressionada enquanto mantém pressionada a tecla ALT. |
WM_SYSKEYDOWN | Postado na janela com o foco do teclado quando o usuário pressiona a tecla F10 (que ativa a barra de menus) ou mantém pressionada a tecla ALT e, em seguida, pressiona outra tecla. Também ocorre quando nenhuma janela tem atualmente o foco do teclado; Nesse caso, a mensagem WM_SYSKEYDOWN é enviada para a janela ativa. A janela que recebe a mensagem pode distinguir entre esses dois contextos verificando o código de contexto no parâmetro lParam. |
WM_SYSKEYUP | Postado na janela com o foco do teclado quando o usuário libera uma tecla que foi pressionada enquanto a tecla ALT foi pressionada. Também ocorre quando nenhuma janela tem atualmente o foco do teclado; Nesse caso, a mensagem WM_SYSKEYUP é enviada para a janela ativa. A janela que recebe a mensagem pode distinguir entre esses dois contextos verificando o código de contexto no parâmetro lParam. |
WM_UNICHAR | Postado na janela com o foco do teclado quando uma mensagem WM_KEYDOWN é traduzida pela funçãoTranslateMessage. A mensagem WM_UNICHAR contém o código de caractere da tecla que foi pressionada. |
Estruturas
Designação | Descrição |
---|---|
HARDWAREINPUT | Contém informações sobre uma mensagem simulada gerada por um dispositivo de entrada diferente de um teclado ou mouse. |
ENTRADA | Contém informações usadas para sintetizar eventos de entrada, como pressionamentos de teclas, movimento do mouse e cliques do mouse. |
KEYBDINPUT | Contém informações sobre um evento de teclado simulado. |
LASTINPUTINFO | Contém a hora da última entrada. |
MOUSEINPUT | Contém informações sobre um evento simulado do mouse. |
Constantes
Designação | Descrição |
---|---|
Virtual-Key Códigos | Os nomes de constantes simbólicas, valores hexadecimais e equivalentes de mouse ou teclado para os códigos de teclas virtuais usados pelo sistema. Os códigos são listados em ordem numérica. |