MapVirtualKey
La función MapVirtualKey traduce (mapea) un código de tecla virtual a un código de escaneo o un valor de carácter, o traduce un código de escaneo a un código de tecla virtual.
Sintaxis
UINT MapVirtualKey( UINT uCode, // código de tecla virtual o código de escaneo UINT uMapType // traducción a realizar );
Parámetros
uCode: especifica el código de tecla virtual o código de escaneo para una tecla. El modo en que este valor se interpreta depende del valor del parámetro uMapType.
uMapType: especifica la traducción a realizar. Del valor de este parámetro depende el valor del parámetro uCode:
Valor | Significado |
---|---|
0 | uCode es un código de tecla virtual y se traduce a un código de escaneo. Si es un código de tecla virtual que no distingue entre las teclas izquierda y derecha, se devuelve el código de la tecla izquieda. Si no existe traducción, la función devuelve 0. |
1 | uCode es un código de escaneo y se traduce a un código de tecla virtual que no distingue entre teclas izquierda y derecha. Si no existe traducción, la función devuelve 0. |
2 | uCode es un código de tecla virtual y se traduce a un valor de carácter sin desplazamiento (como si no se pulsara la tecla Mayúsculas) en la palabra de menor peso del valor de retorno. Las teclas muertas (tildes) se indican activando el bit de mayor peso del valor de retorno. Si no existe traducción, la función devuelve 0. |
3 | uCode es un código de escaneo y se traduce a un código de tecla virtual que distingue entre las teclas izquierda y derecha. Si no existe traducción, la función devuelve 0. |
Valor de retorno
El valor de retorno puede ser un código de escaneo, un código de tecla virtual o un valor de carácter, dependiendo del valor de uCode y uMapType. Si no existe traducción, la función devuelve 0.
Observaciones
Una aplicación puede usar MapVirtualKey para traducir códigos de escaneo a las constantes de código de tecla virtual VK_SHIFT, VK_CONTROL y VK_MENU, y viceversa. Estas traducciones no distinguen entre las teclas derecha e izquierda de las teclas Mayúsculas, Control o Alt. Una aplicación puede obtener el código de escaneo correspondiente a la tecla izquierda o derecha de una de estas teclas llamando a MapVirtualKey con uno de las siguientes constantes de código de tecla virtual para uCode:
VK_LSHIFT VK_RSHIFT VK_LCONTROL VK_RCONTROL VK_LMENU VK_RMENU
Estas constantes de distinción entre izquierda y derecha están disponibles para una aplicación sólo a través de las funciones GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState y MapVirtualKey.