VkKeyScan function
[This function has been superseded by the VkKeyScanEx function. You can still use VkKeyScan, however, if you do not need to specify a keyboard layout.]
Translates a character to the corresponding virtual-key code and shift state for the current keyboard.
Syntax
SHORT WINAPI VkKeyScan( _In_ TCHAR ch );
Parameters
- ch [in]
-
Type: TCHAR
The character to be translated into a virtual-key code.
Return value
Type: SHORT
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.
| Return value | Description |
|---|---|
|
Either SHIFT key is pressed. |
|
Either CTRL key is pressed. |
|
Either ALT key is pressed. |
|
The Hankaku key is pressed |
|
Reserved (defined by the keyboard layout driver). |
|
Reserved (defined by the keyboard layout driver). |
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.
Requirements
|
Minimum supported client |
Windows 2000 Professional [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows 2000 Server [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names |
VkKeyScanW (Unicode) and VkKeyScanA (ANSI) |
See also
- Reference
- GetAsyncKeyState
- GetKeyboardState
- GetKeyNameText
- GetKeyState
- SetKeyboardState
- VkKeyScanEx
- WM_KEYDOWN
- WM_KEYUP
- Conceptual
- Keyboard Input