From Valve Developer Community
Jump to: navigation, search


This template is for explicitly indicating that the content inside it represents input from a keyboard or other source (speech recognition software, 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.


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 {{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.


  • {{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 ipsum dolor sit amet|spacing=0}} to get rid of the spacing: Lorem ipsum dolor sit amet