Template:Key press

From Wikiversity
Jump to navigation Jump to search
Template documentation[view] [edit] [history] [purge]


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:

{{key press|A}} produces A

Keystroke combinations[edit]

To illustrate keystroke combinations, just use extra parameters:

{{key press|Alt|P}} produces Alt+P
{{key press|Ctrl|Alt|Del}} produces Ctrl+Alt+Del

This template currently handles up to 5 key name parameters; more than enough to accommodate for any possible combined key stroke. If it gets too many key name parameters it reports the page into Category:Wikiversity 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:

{{key press|Ctrl}} + {{key press|Alt}} + {{key press|Del}} 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 0177 (with the numeric keypad). This could be illustrated like this:

{{key press|Alt|0}}{{key press|1}}{{key press|7}}{{key press|7}} produces Alt+0177

Wikilinks[edit]

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]]}} produces Alt

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 characters[edit]

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

{{key press|{{!}}}} produces |
{{key press|{{;}}}} produces ;
{{key press|{{=}}}} produces =

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

{{key press|[[|]]}} produces |
{{key press|[[;]]}} produces ;
{{key press|[[=]]}} produces =

If you don't want to mark the characters as links, {{key press|<nowiki>|</nowiki>}} is also an option.

Key symbols[edit]

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

{{key press|Caps Lock}} produces ⇪ Caps Lock
{{key press|Shift}} produces ⇧ Shift
{{key press|Enter}} produces ↵ Enter
{{key press|Tab}} produces Tab ↹
{{key press|Backspace}} produces ← Backspace
{{key press|Cmd}} produces ⌘ Cmd
{{key press|Opt}} produces ⌥ Opt
{{key press|Up}} produces
{{key press|Down}} produces
{{key press|Left}} produces
{{key press|Right}} produces
Windows key and Menu key
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}} produces ⊞ Win
{{key press|Menu}} produces ≣ Menu

Video games[edit]

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[edit]

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}} produces L↓
{{key press|c-left}} produces C←
{{key press|r-up}} produces R↑

Stick specific diagonals are also supported:

{{key press|l-nw}} produces L↖
{{key press|c-se}} produces C↘
{{key press|r-ne}} produces R↗
PlayStation[edit]
{{key press|ex}} produces ×
{{key press|circle}} produces
{{key press|triangle}} produces
{{key press|square}} produces


Technical details[edit]

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

See also[edit]

  • {{strong}} – for semantically indicating strong emphasis instead of simple typographical boldfacing
  • {{strongbad}} – same as {{strong}} but red like this: Never use {{strongbad}} in articles.
  • {{stronggood}} – same as {{strongbad}} but green like this: Only use {{stronggood}} on non-article pages.
  • {{em}} – similar template for semantically indicating mild emphasis instead of simple typographical italicization
  • {{var}} – same as {{varserif}} use for all variables other than I (upper-case i) and l (lower-case L), for which use {{varserif}}
  • {{varserif}} – same as {{var}} but uses serif font, especially for distinguishing between I (upper-case i) and l (lower-case L) as variables
  • {{wikivar}} – for displaying wikicode variables and magicwords as they would appear in source code, e.g. {{PAGENAME}}, {{DEFAULTSORT:Lastname, Firstname}}
  • {{para}} – for displaying wiki template parameters (|title=) or parameters and values (|year=2008)
  • {{tlx}} and related – for displaying entire templates (with or without parameters and values) as code
  • {{tag}} – for using HTML elements ("tags") in prose, e.g. source code examples
  • {{code}} – for computer source code ({{var}} and other templates cannot be used inside it; in that case use <code>...</code> as the wrapper, not {{code}})
  • {{syntaxhighlight}} or {{sxhl}} – wrapper for <syntaxhighlight>...</syntaxhighlight>, but will wrap overflowing text
  • {{deprecated code}} or {{dc}} – for deprecated source code in template documentation, articles on HTML specs, etc.
  • {{pre}} – for larger blocks of source code and other pre-formatted text
  • {{bq}} – for indented blocks of content, such as block quotations, examples, poems, etc.
  • {{kbd}} – for indicating user input
  • {{key press}} – for indicating the input of specific keystrokes, e.g. CtrlX
  • {{PlayStation key press}} – for indicating PS-style gamepad key presses, e.g. Template:Pskeypress
  • {{samp}} – for example output

Not to be confused with[edit]

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