MapVirtualKey function
Translates (maps) a virtual-key code into a scan code or character value, or translates a scan code into a virtual-key code.
To specify a handle to the keyboard layout to use for translating the specified code, use the MapVirtualKeyEx function.
Syntax
UINT WINAPI MapVirtualKey( _In_ UINT uCode, _In_ UINT uMapType );
Parameters
- uCode [in]
-
Type: UINT
The virtual key code or scan code for a key. How this value is interpreted depends on the value of the uMapType parameter.
- uMapType [in]
-
Type: UINT
The translation to be performed. The value of this parameter depends on the value of the uCode parameter.
Return value
Type: UINT
The return value is either a scan code, a virtual-key code, or a character value, depending on the value of uCode and uMapType. If there is no translation, the return value is zero.
Remarks
An application can use MapVirtualKey to translate scan codes to the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU, and vice versa. These translations do not distinguish between the left and right instances of the SHIFT, CTRL, or ALT keys.
An application can get the scan code corresponding to the left or right instance of one of these keys by calling MapVirtualKey with uCode set to one of the following virtual-key code constants.
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions.
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 |
MapVirtualKeyW (Unicode) and MapVirtualKeyA (ANSI) |
See also
- Reference
- GetAsyncKeyState
- GetKeyboardState
- GetKeyState
- MapVirtualKeyEx
- SetKeyboardState
- Conceptual
- Keyboard Input