Note: if you are new to KbdEdit, we recommend that you read the Introduction first. If you are interested in learning more about the internal structure of Windows keyboard layouts, Administration and deployment is a great place to start.
High-level editor is where you will probably spend most of your time with KbdEdit. This is where the most important task is done: binding Unicode code points (or, less often, dead characters and ligatures) to virtual key / modifier combinations. For other kinds of modifications see Low-level editor and Dead char editor.
High-level editor enables you to:
The upper half of the window is occupied by a stylized display of the keyboard. The keys displayed can roughly be divided into three groups: mappable, modifier, and special keys.
Mappable, character-producing keys are drawn in a lighter shade of gray. The text inside the key is drawn in black, blue or red, depending on whether the key is mapped to a single character, a diacritic (“dead key”), or a ligature (defined in the Ligature editor). The key’s display could also be blank, signifying that it is empty, i.e. it produces no character for the current modifier combination.
As the mouse is moved over a character-producing key, the Character Magnifier window on the right shows a detailed, clearly visible information about its mapping.
At any moment, there is exactly one current editable key, or more precisely one current virtual key code. The key(s) to which the current virtual code is mapped is drawn in the sunken (pressed) state to visually distinguish it.
The virtual key code of the active key is displayed in the “Current key” combo-box just below the space bar. If you have used low-level editor to assign one virtual key code to several physical keys, more than one editable key will be drawn in the pressed state when their virtual key is active. This is perfectly normal, and is actually how the standard Return key is mapped – both “main” and numeric keypad return keys are mapped to the VK_RETURN virtual code, and they are both “pressed” when VK_RETURN is active.
Current key can be chosen in either of three ways:
It is important to note that choosing a virtual key code from the “Current key” combo does not make any modifications to the layout – the only effect is that another key is set as active.
You may also wish to assign a Unicode character to a key which is normally not mappable. This is easily accomplished, but requires an intervention in the low-level editor:
It is not particularly important which virtual code you choose, as long as it is mappable, but it is important that you choose a "free" virtual code, i.e. one which is not already assigned to another key.
Here is an example which uses this technique to map Greek letters to multimedia and web keys.
Modifier keys are painted in a visually distinct darker shade, mimicking the coloring of keys on a typical PC keyboard. Modifiers do not produce any characters themselves, but their combined state (pressed/released) determines which character, if any, will be generated by a character-producing keystroke.
Standard modifier keys are Shift, Ctrl and Alt. Some keyboards (e.g. Canadian multilingual and Japanese) make use of another modifier key called Kana.
If your keyboard uses AltGr, this “pseudo” modifier key will also be shown – its role is assumed by the “Right Alt” key. In reality, AltGr is simply a shortcut for Ctrl and Alt pressed together.
Caps Lock is another kind of modifier key. Its specificity is that it is “togglable”: whenever it is pressed, the state of the “logical” Caps Lock modifier – represented by the Caps Lock LED indicator on the physical keyboard – is toggled between “on” and “off”. The scope of Caps Lock is narrower than that of more general modifiers: whereas Shift, Ctrl etc change the behavior of all character-producing keys, Caps Lock impacts only those keys which are explicitly defined to be influenced by it.
Generally, only a subset of all possible modifier combinations is accessible in the high-level editor. Which combinations are allowed, and which are not, is defined in the "modifiers" section of the low-level editor. For example, in the standard French keyboard five combinations out of eight are allowed: “Base” (no modifier pressed), Shift, Ctrl, Alt+Ctrl (i.e. AltGr) and Shift+Ctrl. The remaining three combinations are not allowed (Alt, Alt+Shift and Alt+Ctrl+Shift).
When a modifier key is clicked by a mouse, or pressed on the physical keyboard, the corresponding modifier is turned on/off. The combined state of all modifiers – Shift, Ctrl, Alt, Caps Lock and (optionally) Kana – defines the current modifier combination.
Each character-producing key can generate as many distinct characters as there are valid modifier combinations. The character(s) drawn on each editable key represent what the key generates when pressed while the current modifier combination is active.
Special keys, for which character mapping is not possible, are painted in the same shade as the editable keys, but their text is displayed as grayed. The most typical special keys are function keys (F1-F12), cursor navigation keys (arrows, page up/down, home, end), print screen, and multimedia/web keys which are a recent invention and are present only on certain keyboard models.
These keys are displayed only to make the visual representation consistent with appearance of a physical keyboard, and have no function whatsoever in the High level view. A special key's function is fully defined by its virtual code, and no characters need not and cannot be mapped to them.
The zone between the keyboard display and the Unicode palette contains detailed display of all mappings for the current key. The “Caps off” row contains mappings for all allowed modifier combinations. The field corresponding to the current combination is painted in a distinct white color
Depending on the effect of Caps Lock on the current character, the “Caps on” row may contain two additional mappings for Base and Shift combinations.
The modifier combination corresponding to each field is indicated in shorthand in small header buttons above (“base”, “sh”, “sh+ct” etc). Clicking a field or a header button will immediately activate its combination – a handy shortcut for pressing/releasing multiple modifier keys until the desired combination is reached.
The static field representing the mapping of the current key / modifier position has another useful feature: it allows its mapping to be entered via keyboard. This is possible when the field has the keyboard focus, ie it is drawn with a dashed frame, like in the screenshot above.
Entering a mapping via the keyboard is handy when you only need to enter a standard letter that is already found on your currently active keyboard layout (which is not necessarily the same as the keyboard layout you're currently editing!).
Layouts with a large number of modifier positions
The "current key" area can fit up to 10 modifier positions, which is less than the maximum of 15 positions supported by KbdEdit. For complex layouts exceeding this limit, a horizontal scroll bar is shown to enable navigation to positions 11 and higher.
Copyright © KbdSoft 2007-2021