Layout Manager

The Layout Manager supports multiple keyboard layouts, switching keyboard layouts at run time, packaging multiple device layouts and input languages into one operating system (OS) image, and adding new layouts run time. For example, at run time you can switch from a German keyboard layout to an English keyboard layout.

The following table shows definitions of various terms related to the Layout Manager.

Term Definition
Device layout Hardware-specific information, which includes the scan-code-to-virtual-key translations and virtual key remapping functions.
Input language Generic mapping of virtual keys to Unicode characters that takes the SHIFT key state into account. The input language also includes the virtual-key-to-scan-code mapping, because this mapping is always to PC/XT scan codes for the Remote Desktop Protocol (RDP).
Input locale Pairing of an input language with an input method. For example, a standard US keyboard is named "00000409". The low word is the language identifier, and the high word is a type identifier. A Dvorak keyboard is named "00010409". There is a difference between the name of an input locale and an input locale handle. Once an input locale is loaded, the Layout Manager generates a handle to an input locale (HKL) for the input locale that can be used with the keyboard APIs.

The input language and the device layout correspond to one another. Each keyboard type, such as a PS/2 keyboard or a matrix keyboard, has a current device layout that matches the globally shared current input language.

See Also

Keyboard Drivers | Keyboard PDDs | Device Layouts | Input Languages

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.