[Home] [Purchase] [Download] [Manual] [Acknowledgements] [Sitemap] [Release Notes] [FAQ]

Up ] [ Editing VK Mappings ] Modifiers ] Special NLS functions ] Special NLS Functions Editor ] Mouse keys ] List of Virtual Key Codes ]

Editing Virtual Key mappings

Feature available only in Premium and Personal editions.

Virtual key codes can be edited in either of three ways:

  • Drag&Drop is the easiest way: any key from the keyboard display can be dragged and dropped onto another key. Virtual codes assigned to the two keys will be interchanged ("Move" operation). If "Ctrl" is held down when dropping, "Copy" operation is performed: source key's virtual code is assigned to the target key without affecting the source's contents.
  • Clipboard Cut/Copy/Paste) operations are available via either the main "Edit" menu, the main toolbar, or the right-click popup menu.
  • "Assigned virtual code" combo can be used to choose Virtual code for the current key.
  • Right-click popup menu contains an exhaustive list of all possible virtual codes is available for each key. Choosing a virtual code from the menu will immediately assign it to the key.
KbdEdit virtual key scan code combo KbdEdit virtual key scan code popup menu

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:

  • "Non-mappable" keys are drawn in a visually distinct darker shade.
  • The list of VK codes shown in the right-click popup menu is divided into two columns: mappable codes are shown on the left, and non-mappable ones on the right.

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

Manual index

Copyright KbdSoft 2007-2023