Template:Keypress/doc

This is the keypress template.

It can be used to illustrate keystrokes.

Example:
 * produces

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

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


 * produces
 * produces
 * produces
 * produces

We have no characters for the Windows key and menu key. And we perhaps can't add the "real" icons for them for copyright reasons. So we usually show them the following way:


 * or  produces  or
 * produces

Technical details
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 +  +

This template currently handles up to 5 key name parameters. 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.

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