Windows keyboard layouts generate UTF16 encoded Unicode characters. In combination with surrogate pairs, this standard can produce over one million of distinct characters ("code points"). If keyboard layouts are to be edited with any degree of comfort, it is absolutely necessary to have a way to quickly locate a desired code point without knowing its numeric Unicode value in advance. A possibility to narrow down the selection in a meaningful way - e.g. by displaying only code points belonging to one specific script, or by searching for a character by its name - is also crucial.
In KbdEdit, these needs are fulfilled by the Unicode palette. It appears at the bottom of all views where a choice of Unicode character is needed. In the current version there are three such views: High Level editor, Dead char editor and Ligature editor dialog.
The palette consists of several zones / functional units:
Most of the area is taken by the table of Unicode code points, displaying 32 or 16 characters per row. The table contains all code points that are part of the currently active subrange (if no subrange is defined, all code points supported by the current Unicode version are displayed). A vertical scroll bar appears on the right edge of the table if the characters are numerous enough that scrolling is necessary.
The table has one current code point, which is drawn as inverted (white text on black background). The current code point can be chosen using mouse - clicking anywhere on the table activates the clicked-on character - or by keyboard navigation. The table window, while it has the keyboard input focus, reacts to standard navigation keys: cursors, Home, End, PgUp/PgDn etc.
Detailed information on the current code point is shown in the information area below the table. Each Unicode code point has a full name, which is displayed here, together with the name of the Unicode subset it belongs to. For instance, for Cyrillic letter Ж (U0416) the information would look something like:
Code points that appear in the current layout are drawn with a white background, which makes them stand out visually from the gray background of unmapped code points.
The "nature" of the mapping is further indicated by one or more visual markers. For example, if the code point appears in a "normal" mapping, a small gray rectangle is drawn in the upper-left corner. Mapping markers are explained in detail in Unicode palette color coding.
Right-clicking on a mapped code point brings up a context-sensitive pop-up menu, which provides detailed descriptions of all mappings it appears in. The menu also provides handy navigation shortcuts: clicking on any item will instantly select the corresponding mapping in KbdEdit GUI, whether it is a Normal mapping, part of a Ligature, dead char definition, or part of a dead-char transformation (note that this may involve switching between High Level and Dead Char editor).
For example, the screen shot below shows that code point É (00c9, Capital E with Acute) can be produced either directly, by pressing the zero (0) key while Caps Lock is on, or by applying dead char ' (00B4, ČáRKA) to letter E :
If the code point is a dead char, popup menu will contain shortcuts to dead key definition, as well as all key combinations it is mapped to:
Lastly, if the code point is transformed by a dead char, the menu will contain a list of all dead char transformations it is affected by:
Code point details on the Web
A common part of the Unicode mapping workflow is searching online for more details on a particular code point. The right-click popup menu provides a handy shortcut through the "<character> on the Web" sub-menu:
The menu provides direct links to detailed info pages on these four common sources of online Unicode information:
The "all" option is a shortcut for opening all supported pages at once in multiple browser tabs.
When the palette has input focus, any key presses on the physical keyboard are causing the palette to navigate to the Unicode character produced by the key press.
The palette supports copying of the current Unicode codepoint to the clipboard, from where it can pasted anywhere inside KbdEdit, or any other application.
As indicated in the screenshots above, the "Copy" operation is accessible via the right-click popup. When the palette has keyboard focus, the "Copy" function is also available through the main "Edit" menu, the main toolbar, and the Ctrl+C keyboard shortcut.
The palette also supports the clipboard "Paste" functionality, which results in the palette navigating to the first character currently in the clipboard. Eg if the clipboard contains string "Unicode", the "Paste" command will result in the palette navigating to letter "U", ie codepoint 0055.
A very useful feature of the Unicode palette is that it is drag-drop sensitive: the code points it displays can serve as a drag-drop source. A character can be dragged off the palette and dropped onto any KbdEdit's field which accepts Unicode characters (e.g. mappable keys in High Level view, or individual ligature characters in the Ligature editor).
The characters can be even dropped into another application, for example a text editor.
The palette can also act as a drag-drop target, with the same effect as the clipboard "Paste" described above: the palette navigates to the first character of the dragged string.
The clipboard provides a "live" visual feedback while text is being dragged over it: the character that would be made active if dropped is temporarily activated and shown as flashing. If the character is subsequently dragged outside of the palette's bounds, the original selection is restored. This feature comes in handy if only a "quick peek" is needed into the dragged character and its Unicode "neighborhood".
Copyright © KbdSoft 2007-2021