VkKeyScan
The VkKeyScan
function translates a character to the corresponding virtual-key code and shift
state for the current keyboard.
SHORT VkKeyScan(
TCHAR ch |
// character to
translate |
); |
|
Parameters
ch
Specifies the
character to be translated into a virtual-key code.
Return Values
If the
function succeeds, the low-order byte of the return value contains the
virtual-key code and the high-order byte contains the shift state, which can be
a combination of the following flag bits:
Bit |
Meaning |
1 |
Either SHIFT key is
pressed. |
2 |
Either CTRL key is
pressed. |
4 |
Either ALT key is
pressed. |
If the
function finds no key that translates to the passed character code, both the
low-order and high-order bytes contain -1.
Remarks
For keyboard
layouts that use the right-hand ALT key as a shift key (for example, the French keyboard
layout), the shift state is represented by the value 6, because the right-hand ALT key is
converted internally into CTRL+ALT.
Translations
for the numeric keypad (VK_NUMPAD0 through VK_DIVIDE) are ignored. This
function is intended to translate characters into keystrokes from the main
keyboard section only. For example, the character 7 is translated
into VK_7, not VK_NUMPAD7.
VkKeyScan is used by applications that send characters by using
the WM_KEYUP and WM_KEYDOWN messages.
See Also