Template:Key press View history

Revision as of 14:49, 20 September 2016 by PesachZ (talk | contribs) (fix passthroughs for chain)

{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Documentation icon Template documentation[view] [edit] [history] [purge]


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{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
{{key press|A}}A{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Keystroke combinations

To illustrate keystroke combinations, just use extra parameters:

{{key press|Alt|P}}Alt{{#if:P|+P{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
{{key press|Ctrl|Alt|Del}}Ctrl{{#if:Alt|+Alt{{#if:Del|+Del{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

This template currently handles up to 10 key name parameters, which should be more than enough to accommodate for any possible combination of simultaneous keystrokes. If it gets too many key name parameters it reports the page into Category:Keypress template parameter needs fixing. This means we can easily find those pages and fix them, or we can discover if we need to make this template take more parameters.

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 then that might cause too wide items. Then 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{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}} + Alt{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}} + Del{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
{{key press|Ctrl|Alt|Del|chain= + }}
Ctrl{{#if:Alt| + Alt{{#if:Del| + Del{{#if:| + {{{4}}}{{#if:| + {{{5}}}{{#if:| + {{{6}}}{{#if:| + {{{7}}}{{#if:| + {{{8}}}{{#if:| + {{{9}}}{{#if:| + {{{10}}}

On the other hand, to illustrate Windows Alt codes you might want to use separate templates with no intervening punctuation or space. In most Windows systems in North America and Western Europe, for example, the plus-minus sign (±) can be entered by holding down the Alt key while typing 0177 (with the numeric keypad):

{{key press|Alt|0}}{{key press|1}}{{key press|7}}{{key press|7}}
Alt{{#if:0|+0{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}1{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}7{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}7{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

An example of a use case where more than 5 might be used is explaining usage of a macro (keyboard shortcut) created by a third-party application:

{{Key press|Ctrl|Alt|Shift|Win|Menu|fn|L}}
Ctrl{{#if:Alt|+Alt{{#if:Shift|+ Shift{{#if:Win|+ Win{{#if:Menu|+ Menu{{#if:fn|+fn{{#if:L|+L{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Special letters

Because the default display uses a sans-serif typeface, the upper case i can be confusing depending on context. For that reason, the template has two entries for the upper case i:

  • {{key press|I}}I{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}} (a serif upper case i)
  • {{key press|I1}}I{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}} (a serif upper case i)
  • {{key press|I2}}I{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}} (a sans-serif upper case i)

Wikilinks

If there is an article about the key you can wikilink the key's name like any other wiki text. Like this:

  • {{key press|[[Alt key|Alt]]}}Alt{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

If you are wikilinking the keys, please ensure that you are piping to the correct page (e.g. [[Control key|Ctrl]] instead of [[Ctrl]], which leads to a Disambiguation page).

Wiki markup characters

Some wiki markup character, like the pipe symbol, the semicolon and the equals sign, need to be entered using the {{!}}, {{;}} and {{=}} templates or as an HTML entity |, &#59;, = respectively:

  • {{key press|{{!}}}}|{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press||}}|{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|{{;}}}};{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|&#59;}};{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|{{=}}}}={{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|=}}={{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

However, if the characters are marked as wikilinks, they can be entered as such:

  • {{key press|[[|]]}}|{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|[[;]]}};{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|[[=]]}}={{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Most markup characters also have aliases:

  • {{key press|pipe}}|{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|semicolon}};{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|equals}}={{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|colon}}:{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|asterisk}}*{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|hash}}#{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Key symbols

Some key names have a fitting Unicode character. This template automatically adds such "icons" to the following key names among others (see also Arrows exception below).

  • {{key press|Shift}} Shift{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Tab}}Tab {{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Enter}} Enter{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Option}} Option{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Opt}} Opt{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Command}} Command{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Cmd}} Cmd{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Caps Lock}} Caps Lock{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Scroll Lock}}Scroll Lock{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Up}}{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Down}}{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Left}}{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Right}}{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
File:AltGr Win Menu Ctrl key.jpg
Windows key and Menu key
File:Ctl wndws alt.jpg
Old-style Windows key

There are no characters for the Windows key and Menu key. Besides, the Windows logo is trademarked. So this template shows approximate characters for them in the following way:

  • {{key press|Win}} Win{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}
  • {{key press|Menu}} Menu{{#if:|+{{{2}}}{{#if:|+{{{3}}}{{#if:|+{{{4}}}{{#if:|+{{{5}}}{{#if:|+{{{6}}}{{#if:|+{{{7}}}{{#if:|+{{{8}}}{{#if:|+{{{9}}}{{#if:|+{{{10}}}

Technical details

This template calls {{key press/core}}, which holds the code that otherwise would be repeated several times in {{key press}}, thus simplifying the code.

TemplateData

This is the TemplateData documentation for this template used by VisualEditor and other tools.

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

ParameterDescriptionTypeStatus
First key1

First key

Linerequired
Second key2

Optional key press in combination as the first.

Lineoptional
Third key3

Optional key press in combination as the first.

Lineoptional
Forth key4

Optional key press in combination as the first.

Lineoptional
Fifth key5

Optional key press in combination as the first.

Lineoptional
Sixth key6

Optional key press in combination as the first.

Lineoptional
Seventh key7

Optional key press in combination as the first.

Lineoptional
Eighth key8

Optional key press in combination as the first.

Lineoptional
Ninth key9

Optional key press in combination as the first.

Lineoptional
Tenth key10

Optional key press in combination as the first.

Lineoptional
Chaining characterchain

Character between chained key presses

Default
+
Lineoptional
Chaining characterchain first

Character between first and second key to press

Default
+
Lineoptional
Chaining characterchain second

Character between second and third key to press

Default
+
Lineoptional
Chaining characterchain third

Character between third and fourth key to press

Default
+
Lineoptional
Chaining characterchain fourth

Character between fourth and fifth key to press

Default
+
Lineoptional

Not to be confused with

  • {{Button}} – Produces a similar visual effect, but without the semantic markup, e.g. sample text

.

The above documentation is transcluded from Template:Key press/doc.
Please add categories to the /doc subpage.
Subpages of this template.