This template is used in MediaWiki:Clearyourcache, and on approximately 3,700 pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them.
This is the {{key press}} template primarily designed to illustrate keys and keystrokes on a computer keyboard. With additional parameters, a single template can even illustrate a combination of multiple simultaneous keystrokes. A sequence of keystrokes, on the other hand, need to be demonstrated with separate templates.
Example
{{key press|A}} → A
As lower-case alphabetic characters a–z do not appear on most keyboards, they should not be used as parameters.
Keystroke combinations
To illustrate keystroke combinations, just use extra parameters:
{{key press|Alt|P}} → Alt+P
{{key press|Ctrl|Alt|Del}} → Ctrl+Alt+Del
When you feed several key names to this template, it adds a "+" (or whatever the contents of the optional chain parameter) with no spaces around. This means it won't line wrap. But when you show key combinations for instance in a table that might cause items to be too wide. Instead manually build the key combination with spaces around the "+" so it can line wrap:
{{key press|Ctrl}} + {{key press|Alt}} + {{key press|Del}} → Ctrl + Alt + Del
{{key press|Ctrl|Alt|Del|chain= + }} → Ctrl + Alt + Del
To illustrate sequences where all keys do not need to be pressed simultaneously, the plus signs can be omitted by setting chain=. For example, in most Windows systems in North America and Western Europe, Alt codes can be used to insert the plus-minus sign (±) by holding down the Alt key while typing 0177 with the numeric keypad:
If you are wikilinking the keys, please ensure that you are piping to the correct page (e.g. [[Alt key|Alt]] instead of [[Alt]], which leads to a disambiguation page).
Wiki markup characters
Some wiki markup characters, like the pipe symbol, the semicolon and the equals sign, need to be entered using the {{!}}, {{;}} and {{=}} templates or as an HTML entity |, ;, = respectively:
{{key press|{{pipe}}}} → |
{{key press||}} → |
{{key press|{{;}}}} → ;
{{key press|;}} → ;
{{key press|{{=}}}} → =
{{key press|=}} → =
However, if the characters are marked as wikilinks, they can be entered as such:
There are no characters for the Windows key and Menu key. So this template shows approximate characters for them, namely the SQUARED PLUS and STRICTLY EQUIVALENT TO from the Mathematical Operators Unicode block:
{{key press|Win}} → ⊞ Win
{{key press|Menu}} → ≣ Menu
In some cases, the automatic recognition of tokens and consequently the addition of symbols may not be desired; in these cases the token recognition can be suppressed by HTML encoding the text, e.g. {{key press|Enter}} will give Enter (plain text) instead of ↵ Enter (token).
Video games
Video game controllers often have specialized input labels that do not map easily. The following are mappings for various game consoles and input features.
Directional input
The following should only be used when the input sequence uses something other than the primary input or mixes input between directional devices.
{{key press|l-down}} → L↓
{{key press|c-left}} → C←
{{key press|r-up}} → R↑
Stick specific diagonals are also supported:
{{key press|l-nw}} → L↖
{{key press|c-se}} → C↘
{{key press|r-ne}} → R↗
PlayStation
{{key press|ex}} → ×
{{key press|circle}} → ○
{{key press|triangle}} → △
{{key press|square}} → □
TemplateData
This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. Click here to see a monthly parameter usage report for this template in articles based on this TemplateData.
TemplateData for Key press
Illustrates keys and keystrokes on a computer keyboard. Keys can include: Ctrl, Alt, Del, Opt, Menu, Left etc. console keys: ex, circle, triangle, square, and left right and center analog sticks: l-down, c-left, r-ne. The names are case insensitive.
Template parameters
Parameter
Description
Type
Status
First key
1
First key
Line
required
Second key
2
Optional key press in combination as the first.
Line
optional
Third key
3
Optional key press in combination as the first.
Line
optional
Fourth key
4
Optional key press in combination as the first.
Line
optional
Fifth key
5
Optional key press in combination as the first.
Line
optional
Sixth key
6
Optional key press in combination as the first.
Line
optional
Seventh key
7
Optional key press in combination as the first.
Line
optional
Eighth key
8
Optional key press in combination as the first.
Line
optional
Ninth key
9
Optional key press in combination as the first.
Line
optional
Tenth key
10
Optional key press in combination as the first.
Line
optional
Chaining character
chain
Character between chained key presses
Default
+
Line
optional
Chaining character
chain first
Character between first and second key to press
Default
+
Line
optional
Chaining character
chain second
Character between second and third key to press
Default
+
Line
optional
Chaining character
chain third
Character between third and fourth key to press
Default
+
Line
optional
Chaining character
chain fourth
Character between fourth and fifth key to press
Default
+
Line
optional
See also
{{Key top}} – produces a similar visual effect, but includes more symbols and does not directly support key combinations (e.g. ⇬ Caps Lock)
{{Button}} – produces a similar visual effect but without the semantic markup (e.g. sample text); more for representing interface elements.
{{Kbd}} – to indicate user input (of any kind) without making it look like keys or buttons
To indicate text is a variable name. Use for any variable names except those including "I" (uppercase i) and/or "l" (lowercase L); for these, {{var serif}} should be used to ensure a noticeable distinction
To display parameters as used in code (i.e. with triple braces), especially to indicate relationships between them. May be combined with {{para}} above
To display parameter values lightly bordered; replaces <code>...</code>, especially when value contains embedded or leading/trailing blanks; visualized here with middot (·) but can use ␠, ▯, or any character.
To showcase with colors in horizontal format the syntax of any template, while providing an easy way to display placeholder texts using colons as separators
To indicate text is source code. To nest other templates within {{code}}, use <code>...</code>. {{codett}} differs only in styling: someMethod becomes someMethod
This template, often abbreviated as {{}}, is used to provide stylized formatting to template displays without actually using the template itself. The code generated will be displayed inline. For a multi-line output, see {{tj}}.
Parameters
With the exception of alttext, the named parameters are toggles that are either omitted (default in most cases) or activated (by being assigned a value such as "on", "yes", "true", "include", etc.). They may be included in any order (see Examples below). Certain templates have the parameter "on" by default; see the main table for all alternate options.
This template, often abbreviated as {{}}, is used to provide stylized formatting to template displays without actually using the template itself. The code generated will be displayed inline. For a multi-line output, see {{tj}}.
Parameters
With the exception of alttext, the named parameters are toggles that are either omitted (default in most cases) or activated (by being assigned a value such as "on", "yes", "true", "include", etc.). They may be included in any order (see Examples below). Certain templates have the parameter "on" by default; see the main table for all alternate options.
( or {{dc}}) To indicate deprecated source code in template documentation, articles on HTML specs, etc. The {{dc2}} variant uses strike-through (<blink>) while {{dcr}} uses red (<blink>).
To showcase with colors and multiple lines (vertical format) the syntax of any template, while providing an easy way to display placeholder texts using colons as separators