|This article requires illustration in the form of diagrams|
Layer refers to a set of additional key bindings achieved by holding down a modifier key on the keyboard.
The most basic layer is the distinction between lowercase and uppercase in many languages, as well as the upper row on the remaining keys on the keyboard. Holding down the shift key activates a second layer which provides capitals, alternative symbols, and numerals in French language layouts.
Software layers are controlled by the operating system or firmware and have no bearing on the keyboard itself. The operating system has to be instructed as to what type of keyboard is connected and what the behaviour of the shift key is to be.
Hardware layers are additional key bindings that are provided by the keyboard itself, which are transparent to the operating system. These bindings are typically activated by the Fn key, which cannot be detected by the computer. In laptops, and compact keyboards such as the KBC Poker and Happy Hacking Keyboard, the Fn key allows physical keys to double up on functionality, with the computer believing that it is seeing dedicated keys.
For example, on many compact keyboards, instead of a physical F1 key, Fn+1 is typically mapped to F1 within the keyboard controller. The computer sees an identical signal to that which it would receive if a real F1 key existed and was pressed.
Because these layers are generally hard-coded into the controller, some keyboards provide DIP switches to allow for limited reconfiguration.
Some keyboards, particularly point-of-sale keyboards such as those from Access IS and Cherry, have programmable firmware which allows hardware key bindings to be customised. This can include the ability to define custom layers.