Switch from the imported {{informative template}} to the relax {{template info}} template
{{Documentation subpage}}<!-- PLEASE ADD CATEGORIES WHERE INDICATED AT THE END OF THIS PAGE. -->__NOTOC__template info|1=This is the {{tl|key press}} template primarily designed to illustrate keys and keystrokes on a [[wikipedia: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.
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:Wikipedia 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:
On the other hand, to illustrate Windows [[wikipedia:Alt code]]s 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 [[wikipedia:plus-minus sign]] (±) can be entered by holding down the Alt key while typing <code>0177</code> (with the [[wikipedia:numeric keypad]]):: <code>{{tc|obr}}key press|{{!}}Alt|{{!}}0{{cbr}}{{tlc|obr}}key press|{{!}}1{{cbr}}{{tlc|obr}}key press|{{!}}7{{cbr}}{{tlc|obr}}key press|{{!}}7{{cbr}} </code> → {{key press|Alt|0}}{{key press|1}}{{key press|7}}{{key press|7}}
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:
If there is an article about the key you can [[wikipedia:WP:wikilink|wikilink]] the key's name like any other wiki text. Like this:* <code>{{tc|obr}}key press|{{!}}<nowiki>[[wikipedia:Alt key|Alt]]</nowiki>{{cbr}} </code> → {{key press|[[wikipedia:Alt key|Alt]]}}
If you are wikilinking the keys, please ensure that you are piping to the correct page (e.g. <code><nowiki>[[Control key|Ctrl]]</nowiki></code> instead of <code><nowiki>[[Ctrl]]</nowiki></code>, which leads to a [[wikipedia:WP:Disambiguation page|disambiguation page]]).
===Wiki markup characters===
Some wiki markup character, like the [[wikipedia:pipe symbol]], the [[wikipedia:semicolon]] and the [[wikipedia:equals sign]], need to be entered using the {{tl|!}}, {{tl|;}} and {{tl|{{=}}}} templates or as an [[wikipedia:HTML entity]] &#124;, &#59;, &#61; respectively:* <code>{{tc|obr}}key press|{{tc|!}}{{obr}}pipe{{cbr}} {{cbr}}</code> → {{key press|{{!}}}}* <code>{{tc|obr}}key press|{{!}}&#124;{{cbr}} </code> → {{key press||}}* <code>{{tc|obr}}key press|{{tc|!}}{{obr}};{{cbr}}{{cbr}} </code> → {{key press|{{;}}}}* <code>{{tc|obr}}key press|{{!}}&#59;{{cbr}} </code> → {{key press|;}}* <code>{{tc|obr}}key press|{{tc|!}}{{obr}}={{cbr}}{{cbr}} </code> → {{key press|{{=}}}}* <code>{{tc|obr}}key press|{{!}}&#61;{{cbr}} </code> → {{key press|=}}
However, if the characters are marked as wikilinks, they can be entered as such:
This template calls {{tl|key press/core}}, which holds the code that otherwise would be repeated several times in {{tl|key press}}, thus simplifying the code.
===TemplateData===
{{TemplateDataHeader}}
<templatedata>
{
"description": "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.",
"params": {
"1": {
"label": "First key",
"description": "First key",
"type": "string/line",
"required": true
},
"2": {
"label": "Second key",
"description": "Optional key press in combination as the first.",
"type": "string/line",
"required": false
},
"3": {
"label": "Third key",
"inherits": "2"
},
"4": {
"label": "Forth key",
"inherits": "2"
},
"5": {
"label": "Fifth key",
"inherits": "2"
},
"6": {
"label": "Sixth key",
"inherits": "2"
},
"7": {
"label": "Seventh key",
"inherits": "2"
},
"8": {
"label": "Eighth key",
"inherits": "2"
},
"9": {
"label": "Ninth key",
"inherits": "2"
},
"10": {
"label": "Tenth key",
"inherits": "2"
},
"chain": {
"label": "Chaining character",
"description": "Character between chained key presses",
"default": "+",
"inherits": "2"
},
"chain first": {
"description": "Character between first and second key to press",
"inherits": "chain"
},
"chain second": {
"description": "Character between second and third key to press",
"inherits": "chain"
},
"chain third": {
"description": "Character between third and fourth key to press",
"inherits": "chain"
},
"chain fourth": {
"description": "Character between fourth and fifth key to press",
"inherits": "chain"
}
}
}
</templatedata>
===See also===
* {{tl|Button}}, which produces a similar visual effect but without the semantic markup (e.g. {{Button|sample text}}).
* {{tl|Key top}}, which produces a similar visual effect, but includes more symbols and does not directly support key chaining (e.g. {{key top|Caps Lock}}){{Semantic markup templates}}
<includeonly>
<!-- CATEGORY LINKS BELOW THIS LINE, PLEASE: -->
[[Category:Programming typing-aid templates]]
<!-- [[Category:Graphic templates]] - Don't add this one; this isn't a graphic template, as it's all done in CSS. -->