Keyboard Input Model
Windows provides device-independent keyboard support for applications by
installing a keyboard device driver appropriate for the current keyboard. Windows
provides language-independent keyboard support by using the language-specific
keyboard layout currently selected by the user or the application. The keyboard
device driver receives scan codes from the keyboard, which are sent to the
keyboard layout where they are translated into messages and posted to the appropriate
windows in your application.
Assigned to each key on a keyboard is a unique value called a
scan code, a device-dependent identifier for the key on the keyboard. A keyboard
generates two scan codes when the user types a key
one when the user presses the key and another when the user releases the key.
The keyboard device driver interprets a scan code and translates (maps) it to
a
virtual-key code, a device-independent value defined by Windows that identifies the purpose of
a key. After translating a scan code, the keyboard layout creates a message
that includes the scan code, the virtual-key code, and other information about
the keystroke, and then places the message in the system message queue. Windows
removes the message from the system message queue and posts it to the message
queue of the appropriate thread. Eventually, the thread's message loop removes
the message and passes it to the appropriate window procedure for processing. The
following figure illustrates the keyboard input model for Windows.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database