Template:Key press/doc

This is the key press template, which can be used to illustrate keystrokes. Typographically it works best with examples that are separated from the normal flow of text, e.g. in table cells. It can also be used in lists (as in this page), but it may be a good idea to add an empty line between each list item, so the key borders won't overlap each other.

Example:
 * produces A

Keystroke combinations
To illustrate keystroke combinations, just use extra parameters:
 * produces Alt


 * produces Ctrl

This template currently handles up to 5 key name parameters. If it gets too many key name parameters it reports the page into Category:WikiQueer 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 "+" 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. Like this:


 * produces Ctrl + Alt + Del

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  (with the numeric keypad). This could be illustrated like this:


 * produces Alt177

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

Wiki characters
Some wiki markup character, like the pipe symbol, the semicolon and the equals sign, need to be entered using the !, ; and = templates:


 * produces |


 * produces ;


 * produces =

If you don't want to mark the characters as links,  is also an option.

Key symbols
Some key names have a fitting unicode character. This template automatically adds such "icons" to the following key names:


 * produces Caps Lock


 * produces Shift


 * produces Enter


 * produces Tab


 * produces Backspace


 * produces Cmd


 * produces Opt


 * produces Up


 * produces Down


 * produces Left


 * produces Right



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:


 * produces Win


 * produces Menu

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.