A keyboard layout is any specific mechanical, visual, or functional arrangement of the keys, legends, or key-meaning associations (respectively) of a computer, typewriter, or other typographic keyboard.
Most computer keyboards are designed to send scancodes to the operating system, rather than directly sending characters. From there, the series of scancodes is converted into a character stream by keyboard layout software. This allows a physical keyboard to be dynamically mapped to any number of layouts without switching hardware components – merely by changing the software that interprets the keystrokes. It is usually possible for an advanced user to change keyboard operation, and third-party software is available to modify or extend keyboard functionality.
A computer keyboard comprises alphanumeric or character keys for typing, modifier keys for altering the functions of other keys, navigation keys for moving the text cursor on the screen, function keys and system command keys – such as Esc and Break – for special actions, and often a numeric keypad to facilitate calculations.