winuser.h


VkKeyScan

La función VkKeyScan traduce un carácter al código de tecla virtual y estado actual de teclas con bloqueo del teclado.

Sintaxis

SHORT VkKeyScan(
    TCHAR ch  // carácter a traducir
   );

Parámetros

ch: especifica el carácter a traducir a código de tecla virtual.

Valor de retorno

Si la función tiene éxito, la palabra de menor peso del valor de retorno contiene el código de de tecla virtual y la palabra de mayor peso contiene el estado de desplazamiento (shift), el cual puede ser una combinación de los siguientes bits:

Bit Significado
1 Cualquier tecla de Mayúsculas está presionada.
2 Cualquier tecla de Control está presionada.
4 Cualquier tecla de Alt está presionada.

Si la función no encuentra una tecla que traduzca el código de carácter pasado, tanto los bytes de mayor como de menor peso contienen -1

Observaciones

Para diseños de teclado que usen la tecla Alt derecha como tecla de "shift" (por ejemplo, el diseño de teclado francés), el estado de desplazamiento se representa por el valor 6, ya que la tecla Alt del lado derecho se convierte internamente a CTRL+ALT.

Las traducciones para el teclado numérico (VK_NUMPAD0 a VK_DIVIDE) se ignoran. Esta función está pensada para traducir caracteres en pulsaciones de teclado sólo para la parte principal del teclado. Por ejemplo, el carácter "7" se traduce como VK_7, no como VK_NUMPAD7.

VkKeyScan se usa por aplicaciones que envían caracteres usando los mensajes WM_KEYUP y WM_KEYDOWN.