Compartir a través de


Entrada de teclado

En esta sección se describe cómo el sistema genera la entrada del teclado y cómo una aplicación recibe y procesa esa entrada.

En esta sección

Nombre Descripción
acerca de la entrada del teclado Describe la entrada del teclado.
usar de entrada de teclado Trata las tareas asociadas a la entrada del teclado.
referencia de entrada del teclado Contiene la referencia de API.

Funciones

Nombre Descripción
ActivateKeyboardLayout Establece el identificador de configuración regional de entrada (anteriormente denominado identificador de diseño de teclado) para el subproceso de llamada o el proceso actual. El identificador de configuración regional de entrada especifica una configuración regional, así como el diseño físico del teclado.
blockInput Impide que los eventos de entrada del mouse y teclado lleguen a las aplicaciones.
EnableWindow Habilita o deshabilita la entrada del mouse y el teclado en la ventana o control especificados. Cuando la entrada está deshabilitada, la ventana no recibe entradas, como clics del mouse y pulsaciones de teclas. Cuando la entrada está habilitada, la ventana recibe toda la entrada.
GetActiveWindow Recupera el identificador de ventana a la ventana activa asociada a la cola de mensajes del subproceso que realiza la llamada.
GetAsyncKeyState Determina si una tecla está activa o inactiva en el momento en que se llama a la función y si la tecla se ha presionado después de una llamada anterior a GetAsyncKeyState.
GetFocus Recupera el identificador de la ventana que tiene el foco del teclado, si la ventana está asociada a la cola de mensajes del subproceso que realiza la llamada.
GetKeyboardLayout Recupera el identificador de configuración regional de entrada activo (anteriormente denominado diseño de teclado) para el subproceso especificado. Si el parámetro idThread es cero, se devuelve el identificador de configuración regional de entrada del subproceso activo.
GetKeyboardLayoutList Recupera los identificadores de configuración regional de entrada (anteriormente denominados identificadores de diseño de teclado) correspondientes al conjunto actual de configuraciones regionales de entrada en el sistema. La función copia los identificadores en el búfer especificado.
GetKeyboardLayoutName Recupera el nombre del identificador de configuración regional de entrada activa (anteriormente denominado diseño de teclado).
GetKeyboardState Copia el estado de las 256 claves virtuales en el búfer especificado.
GetKeyNameText Recupera una cadena que representa el nombre de una clave.
GetKeyState Recupera el estado de la clave virtual especificada. El estado especifica si la tecla está activada, inactiva o desactivada (activada, desactivada cada vez que se presiona la tecla).
getLastInputInfo Recupera la hora del último evento de entrada.
isWindowEnabled Determina si la ventana especificada está habilitada para la entrada del mouse y el teclado.
LoadKeyboardLayout Carga un nuevo identificador de configuración regional de entrada (anteriormente denominado diseño de teclado) en el sistema. Se pueden cargar varios identificadores de configuración regional de entrada a la vez, pero solo uno por proceso está activo a la vez. Cargar varios identificadores de configuración regional de entrada permite cambiar rápidamente entre ellos.
MapVirtualKey Convierte (asigna) un código de clave virtual en un valor de carácter o código de examen, o convierte un código de examen en un código de clave virtual.
Para especificar un identificador para el diseño del teclado que se va a usar para traducir el código especificado, use la función MapVirtualKeyEx.
MapVirtualKeyEx Asigna un código de clave virtual a un código de examen o un valor de carácter, o traduce un código de examen en un código de clave virtual. La función traduce los códigos mediante el idioma de entrada y un identificador de configuración regional de entrada.
oemKeyScan Asigna códigos OEMASCII de 0 a 0x0FF en los códigos de examen de OEM y los estados de desplazamiento. La función proporciona información que permite que un programa envíe texto oem a otro programa simulando la entrada del teclado.
RegisterHotKey Define una clave activa de todo el sistema.
SendInput Sintetiza pulsaciones de tecla, movimientos del mouse y clics de botón.
SetActiveWindow Activa una ventana. La ventana debe adjuntarse a la cola de mensajes del subproceso que llama.
SetFocus Establece el foco del teclado en la ventana especificada. La ventana debe adjuntarse a la cola de mensajes del subproceso que llama.
SetKeyboardState Copia una matriz de 256 bytes de estados de teclas de teclado en la tabla de estado de entrada de teclado del subproceso de llamada. Esta es la misma tabla a la que acceden lasGetKeyboardState y funciones GetKeyState. Los cambios realizados en esta tabla no afectan a la entrada del teclado a ningún otro subproceso.
ToAscii Convierte el código de tecla virtual y el estado de teclado especificados en el carácter o caracteres correspondientes. La función traduce el código mediante el idioma de entrada y el diseño de teclado físico identificado por el identificador de diseño del teclado.
Para especificar un identificador para el diseño del teclado que se va a usar para traducir el código especificado, use la función ToAsciiEx.
toAsciiEx Convierte el código de tecla virtual y el estado de teclado especificados en el carácter o caracteres correspondientes. La función traduce el código mediante el idioma de entrada y el diseño de teclado físico identificado por el identificador de configuración regional de entrada.
ToUnicode Convierte el código de tecla virtual y el estado de teclado especificados en el carácter o caracteres Unicode correspondientes.
Para especificar un identificador para el diseño del teclado que se va a usar para traducir el código especificado, use la función ToUnicodeEx.
toUnicodeEx Convierte el código de tecla virtual y el estado de teclado especificados en el carácter o caracteres Unicode correspondientes.
UnloadKeyboardLayout Descarga un identificador de configuración regional de entrada (anteriormente denominado diseño de teclado).
UnregisterHotKey Libera una clave activa registrada previamente por el subproceso que realiza la llamada.
VkKeyScanEx Traduce un carácter al código de clave virtual correspondiente y al estado de desplazamiento. La función traduce el carácter mediante el idioma de entrada y el diseño de teclado físico identificado por el identificador de configuración regional de entrada.

Las siguientes funciones están obsoletas.

Función Descripción
GetKBCodePage Recupera la página de códigos actual.
keybd_event Sintetiza una pulsación de tecla. El sistema puede usar esta pulsación de tecla sintetizada para generar un mensaje de WM_KEYUP o WM_KEYDOWN. El controlador de interrupción del controlador de teclado llama a la función keybd_event.
VkKeyScan Convierte un carácter en el código de tecla virtual correspondiente y cambia el estado del teclado actual.

Mensajes

Nombre Descripción
WM_GETHOTKEY Determina la clave activa asociada a una ventana.
WM_SETHOTKEY Asocia una clave activa a la ventana. Cuando el usuario presiona la tecla activa, el sistema activa la ventana.

Notificaciones

Nombre Descripción
WM_ACTIVATE Se envía a la ventana que se activa y se desactiva la ventana. Si las ventanas usan la misma cola de entrada, el mensaje se envía sincrónicamente, primero al procedimiento de ventana de la ventana de nivel superior que se va a desactivar y, a continuación, al procedimiento de ventana de la ventana de nivel superior que se está activando. Si las ventanas usan diferentes colas de entrada, el mensaje se envía de forma asincrónica, por lo que la ventana se activa inmediatamente.
WM_APPCOMMAND Notifica a una ventana que el usuario generó un evento de comando de aplicación, por ejemplo, haciendo clic en un botón de comando de aplicación mediante el mouse o escribiendo una tecla de comando de aplicación en el teclado.
WM_CHAR Publicado en la ventana con el foco del teclado cuando la funcióntraduce un mensaje de WM_KEYDOWNTranslateMessage. El mensaje WM_CHAR contiene el código de carácter de la tecla que se ha presionado.
WM_DEADCHAR Publicado en la ventana con el foco del teclado cuando la funcióntraduce un mensaje de WM_KEYUPTranslateMessage. WM_DEADCHAR especifica un código de carácter generado por una clave inactiva. Una tecla muerta es una clave que genera un carácter, como el umlaut (punto doble), que se combina con otro carácter para formar un carácter compuesto. Por ejemplo, el carácter umlaut-O ( ) se genera escribiendo la tecla muerta para el carácter umlaut y después escribiendo la tecla O.
WM_HOTKEY Publicado cuando el usuario presiona una tecla activa registrada por la función RegisterHotKey. El mensaje se coloca en la parte superior de la cola de mensajes asociada al subproceso que registró la clave activa.
WM_KEYDOWN Publicado en la ventana con el foco del teclado cuando se presiona una tecla que no es del sistema. Una tecla que no es del sistema es una tecla que se presiona cuando no se presiona la tecla ALT.
WM_KEYUP Se publica en la ventana con el foco del teclado cuando se libera una tecla que no es del sistema. Una tecla que no es del sistema es una tecla que se presiona cuando no se presiona la tecla ALT o una tecla de teclado que se presiona cuando una ventana tiene el foco del teclado.
WM_KILLFOCUS Se envía a una ventana inmediatamente antes de perder el foco del teclado.
WM_SETFOCUS Enviado a una ventana después de haber obtenido el foco del teclado.
WM_SYSDEADCHAR Se envía a la ventana con el foco del teclado cuando la función TranslateMessage traduce un mensaje de WM_SYSKEYDOWN. WM_SYSDEADCHAR especifica el código de carácter de una tecla muerta del sistema, es decir, una tecla inactiva presionada mientras mantiene presionada la tecla ALT.
WM_SYSKEYDOWN Publicado en la ventana con el foco del teclado cuando el usuario presiona la tecla F10 (que activa la barra de menús) o mantiene presionada la tecla ALT y luego presiona otra tecla. También se produce cuando actualmente no hay ninguna ventana con el foco del teclado; en este caso, el mensaje WM_SYSKEYDOWN se envía a la ventana activa. La ventana que recibe el mensaje puede distinguir entre estos dos contextos comprobando el código de contexto en el parámetro lParam.
WM_SYSKEYUP Publicado en la ventana con el foco del teclado cuando el usuario suelta una tecla presionada mientras se mantiene presionada la tecla ALT. También se produce cuando actualmente no hay ninguna ventana con el foco del teclado; en este caso, el mensaje WM_SYSKEYUP se envía a la ventana activa. La ventana que recibe el mensaje puede distinguir entre estos dos contextos comprobando el código de contexto en el parámetro lParam.
WM_UNICHAR Publicado en la ventana con el foco del teclado cuando la funcióntraduce un mensaje de WM_KEYDOWNTranslateMessage. El mensaje WM_UNICHAR contiene el código de carácter de la tecla que se presionó.

Estructuras

Nombre Descripción
HARDWAREINPUT Contiene información sobre un mensaje simulado generado por un dispositivo de entrada distinto de un teclado o mouse.
INPUT Contiene información que se usa para sintetizar eventos de entrada, como pulsaciones de tecla, movimiento del mouse y clics del mouse.
KEYBDINPUT Contiene información sobre un evento de teclado simulado.
LASTINPUTINFO Contiene la hora de la última entrada.
MOUSEINPUT Contiene información sobre un evento de mouse simulado.

Constantes

Nombre Descripción
Virtual-Key códigos Nombres simbólicos de constantes, valores hexadecimales y equivalentes de mouse o teclado para los códigos de tecla virtual utilizados por el sistema. Los códigos se enumeran en orden numérico.

Consulte también