Last modified on 23 January 2013, at 14:42

Kbd/doc

Revision as of 14:42, 23 January 2013 by JKN (Talk | contribs) (1 revision)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Purpose

This template is for explicitly indicating that the content inside it represents input from a keyboard or other source (speech recognition software, Exit code of an application, Standard input, etc.) It uses the [X]HTML element <kbd>...</kbd> (keyboard input) which exists for this purpose, and applies some styling to it, namely a faint grey background (borrowed from the related template {{key press}}) and slight CSS letter-spacing to suggest individually entered characters. It retains the default monospaced (non-proportional) font style of the <kbd> element. Because it uses <kbd>...</kbd> instead of simply applying visual style effects, it is Semantic markup that conveys meaning, and it can be further acted upon by the user agent (e.g. with custom local style sheets). This tag is the exact opposite of {{samp}}, which is for example output.

Usage

The template takes one mandatory parameter, the content to be marked up. If this content contains "=" (an equals sign), the parameter must be explicitly named |1=, or the template will fail. (This is a limitation of the MediaWiki software, not the template.) It is always safer to use |1= syntax. It may be used as a container for {[tlx|var}}, {{varserif}} or <var>...</var> when the example keyboard input contains or consists entirely of a variable. It may also be used with (but not inside) {{code}}, or with <code>...</code> (it generally should not be used inside the latter, as input is not a part of source code, but something that interacts with it; however, this style can be used to illustrate computer display of mixed type, as illustrated below).

There is an optional parameter | (or | or any other value), to get rid of the slight letter spacing, which can look awkward on long passages of input.

Examples:

  • {{kbd|71077345}}: "Entering 71077345 on a calculator and turning it upside down appears to spell ShellOil."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}}: "At the % prompt, the user must enter ssh hostname."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}} and {{key press|Enter}}: "At the % prompt, the user must input ssh hostname Enter."
  • Inside <code>...</code>: "The commandline should read: % ssh hostname (where hostname is the IP address or domain name of the system to connect to); if this is correct, press Enter."
  • {{kbd|1={{lorem}}|spacing=0}} to get rid of the spacing: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Some of these examples may look slightly different outside this documentation, because the default background color varies by page type (articles are stark white, template documentation pale green, most other pages very pale grey). In-article example:

  • {{kbd|71077345}}: "Entering 71077345 on a calculator and turning it upside down appears to spell ShellOil."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}}: "At the % prompt, the user must enter ssh hostname."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}} and {{key press|Enter}}: "At the % prompt, the user must input ssh hostname Enter."
  • Inside <code>...</code>: "The commandline should read: % ssh hostname (where hostname is the IP address or domain name of the system to connect to); if this is correct, press Enter."
  • {{kbd|1={{lorem}}|spacing=0}} to get rid of the spacing: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

See also

  • {{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 (e.g. strIllustratePrefix), except for 'I' (upper-case i) and 'l' (lower-case L), for which use {{varserif}}
  • {{varserif}} – same as {{var}} but uses serif font (e.g. strIllustratePrefix), 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. "When coding HTML <img>...</img> tags, always include ...")
  • {{code}} – for computer source code (e.g. "... always include the alt= parameter.") (Note: to nest other templates like {{var}} inside, use <code>...</code> instead of {{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. ×
  • {{samp}} – for example output