A keyboard layout is any specific physical, visual or functional arrangement of the keys, legends, or key-meaning associations (respectively) of a computer keyboard, mobile phone, or other computer-controlled typographic keyboard.
Physical layout is the actual positioning of keys on a keyboard. Visual layout is the arrangement of the legends (labels, markings, engravings) that appear on those keys. Functional layout is the arrangement of the key-meaning association or keyboard mapping, determined in software, of all the keys of a keyboard; it is this (rather than the legends) that determines the actual response to a key press.
Modern computer keyboards are designed to send a scancode to the operating system (OS) when a key is pressed or released: this code reports only the key's row and column, not the specific character engraved on that key. The OS converts the scancode into a specific binary character code using a "scancode to character" conversion table, called the keyboard mapping table. This means that a physical keyboard may be dynamically mapped to any layout without switching hardware components—merely by changing the software that interprets the keystrokes. Often,[lower-alpha 1] a user can change keyboard mapping in system settings. In addition, software may be available to modify or extend keyboard functionality. Thus the symbol shown on the physical key-top need not be the same as appears on the screen or goes into a document being typed. Some settings enable the user to type supplementary symbols which are not engraved on the keys used to invoke them.[lower-alpha 2] Modern USB keyboards are plug and play; they communicate their (default) visual layout to the OS when connected (though the user is still able to reset this at will).