Special NLS functions
Certain Far Eastern (FE) keyboard layouts have special functions, which don't fit the common model of a key's function being fully defined by its virtual key code, and the high-level Unicode mappings assigned to its modifier positions. This functionality is hereby referred to as the Special NLS functions, with NLS standing for National Language Support.
In current versions, KbdEdit does not allow the editing of these special functions, however since version 18.9.0 two important improvements have been made:
Special NLS functions, where defined, override the key's normal functionality for select combinations of the Shift, Ctrl and Alt modifier keys.
As an example, system layout KBDJPN.DLL (00000411 Japanese (Japan)) has special NLS functions defined for virtual keys VK_CAPITAL (Caps Lock) and VK_OEM_3 ( ` inverted quotation mark):
Of special note is the so-called "param VK" function - it causes the original key to "mutate" into a different VK code for the chosen modifier combination, without having to actually set aside a dedicated physical key for the "mutated" VK code.
Thanks to this function, the Japanese keyboard can toggle the KANA state for KANALOK mappings using Shift+Ctrl+CapsLock, which has the same effect as if VK_KANA was mapped to a hypothetical physical key of its own. Likewise, Alt+VK_OEM_3 produces the VK_KANJI code, removing the need for a dedicated Kanji key.
The Shift / Ctrl / Alt combinations controlling the special NLS functions are not restricted to the active modifier combinations available for high-level Unicode mappings. This is why NLS functions such as Alt+VK_CAPITAL (Katakana) and Alt+VK_OEM_3 (VK_KANJI) are possible, even though Alt alone is not a valid high-level modifier combination.
Although editing of special NLS function is currently not supported, KbdEdit UI shows details of any such functions that may exist in the current layout.
Any key with special NLS functions is visually denoted by a small red mark in the upper right corner; the key's tooltip also includes a mention that the key has special NLS function:
Additionally, the "Modifiers Info" widget contains a detailed summary of all special NLS functions in the layout:
System layouts with special NLS functions
A standard US-English Windows installation contains several standard layouts with special NLS functions:
By default, only first two of the above files are registered in the Windows list of installed layouts, making them directly accessible in the Windows keyboard selection UI.
The remaining layout files are by default not registered, and are hence not directly accessible. Instead of being referenced directly by a unique KLID, Windows selects and loads them through a rather convoluted and poorly documented process, depending on the value of certain registry keys under HKEY_LOCAL_MACHINE. These two articles have more details:
To open any of these files in KbdEdit, you first have to import them via KbdEdit's Registered Layout DLL file command (note that this doesn't work for the last five layouts in the list, as they are currently not supported by KbdEdit).
Copyright © KbdSoft 2007-2018