Editing Virtual Key mappings
Virtual key codes can be edited in either of three ways:
To facilitate the navigation inside the VK list, the popup menu is divided into four categories: mappable / non mappable, and free / in use. Each category is further subdivided into 10 sub-lists to facilitate navigation (complete list of VK codes is available here).
As explained in High-level editor, only a subset of available virtual codes is "mappable", i.e. can be assigned Unicode characters. The remaining "non-mappable" codes (like Shift, Print Screen, Browser and Multimedia keys etc) perform actions that are fully defined by the virtual code itself, and hence it makes no sense to map Unicode characters to them.
Full list of both "mappable" and "non-mappable" virtual codes is available at List of Virtual Key Codes. Low-level editor makes it easy to distinguish between the two types of VK codes:
It is quite possible and perfectly normal for a key to have no virtual code assigned - this is how a key can be "disabled". This is achieved by assigning a fictive virtual code "VK__none_" - such key is drawn as empty in the display.
It is also normal to have one virtual code mapped to several physical keys. This is the case with VK_RETURN code: it is mapped to "big" enter on the main keyboard, and the "small" one on the numeric keypad.
Virtual codes for special keys "Shift", "Ctrl", "Alt" and "Windows" exist in two versions: "left" and "right" (e.g. VK_LSHIFT / VK_RSHIFT). This is where they differ from the "Return" key, which also appears twice but uses a single VK_RETURN code for both incarnations.
The distinction between left- and right-hand side versions is immaterial to the user, except for the Alt key (VK_LMENU / VK_RMENU). If the keyboard uses "AltGr", this modifier combination is assigned to the "right" Alt (VK_RMENU), whereas the "left" Alt keeps its standard "Alt" function"
Low level editor can modify virtual codes of all keys except for the "Pause" key (scan 0x45, VK_PAUSE), whose virtual and scan codes are "hard-wired" one to another.
Another peculiarity of this key is that, when pressed together with Ctrl, it generates a completely different scan code (0x46 ext), as if it were a separate physical key. This "quasi-key" is normally mapped to "Break" (VK_CANCEL), interpreted by some programs as an "Abort" or "Terminate" signal. You can choose to assign a different virtual code to it, if you wish so, but this possibility does not have much of a practical use - it exists only for the sake of completeness.
Back to Low-level editor
Copyright © KbdSoft 2007-2021