Move key value tables into separate sections and organize the media controller keys.
authorGary Kacmarcik <garykac@google.com>
Sun, 25 Aug 2013 08:43:19 -0700
changeset 466 35fc13991228
parent 465 4497fdb7208b
child 467 8920f5e070da
Move key value tables into separate sections and organize the media controller keys.

Verify that we have coverage of all keys defined in the media controller standards. Add section that summarizes the media controller keys that should map to key values already defined in other key value tables.
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Fri Aug 23 07:23:13 2013 -0700
+++ b/html/DOM3-Events.html	Sun Aug 25 08:43:19 2013 -0700
@@ -156,8 +156,8 @@
 						Core</a></cite>], the <a href="#event-flow">Event dispatch and DOM event flow</a> mechanism, all the interfaces and events with their associated methods, attributes,
 						and semantics defined in this specification with the exception of those marked as <a class="def" href="#glossary-deprecated">deprecated</a> (a conforming user agent
 						MAY implement the deprecated interfaces, events, or APIs for backwards compatibility, but is not required to do so in order to be conforming), and the complete
-						set of <a class="def" href="#glossary-character-value">character values</a> and <a class="def" href="#glossary-key-value">key values</a> in the <a href="#key-values">
-						Key Values Set</a> (subject to platform availability), as well as all other normative requirements defined in this specification.  A conforming browser MUST
+						set of <a class="def" href="#glossary-character-value">character values</a> and <a class="def" href="#glossary-key-value">key values</a> in the <a href="#key-value-tables">
+						Key Value Tables</a> (subject to platform availability), as well as all other normative requirements defined in this specification.  A conforming browser MUST
 						<a class="def" href="#glossary-dispatch">dispatch</a> events appropriate to the given <a href="#widl-EventTarget">EventTarget</a> when the conditions defined
 						for that <a class="def" href="#glossary-event-type">event type</a> have been met.</p>
 
@@ -5040,7 +5040,7 @@
 					<p>Virtual keyboards are software-based sets of keys, in a variety of different arrangements, commonly found on touch-screen devices; they are often modal, with the
 						ability to switch between different dynamic sets of keys, such as alphabetic, numeric, or symbolic keys.  Because of the lack of physical constraints, these keyboards
 						MAY present the widest range of characters, including emoticons and other symbols, and MAY have keys not represented by Unicode [<a href="#references-Unicode">Unicode</a>]
-						or by the <a href="#key-values">key values set</a> defined in this specification.  Wherever possible, however, virtual keyboards SHOULD produce the normal range
+						or by the <a href="#key-value-tables">key values</a> defined in this specification.  Wherever possible, however, virtual keyboards SHOULD produce the normal range
 						of keyboard events and values, for ease of authoring and compatibility with existing content.</p>
 
 					<p>Chording keyboards, also know as chorded keysets or chord keyboards, are key input devices which produce values by pressing several keys in combination or sequence,
@@ -5063,7 +5063,7 @@
 
 			<p>A key value is a <code>DOMString</code> that can be used to indicate any given key on a keyboard, regardless of position or state, by the value it produces.  These
 				key values MAY be used as return values for keyboard events generated by the implementation, or as input values by the content author to specify desired input (such
-				as for keyboard shortcuts).  This specification defines a set of common key values (called the <a href="#key-values">Key Values Set</a>), and rules for production
+				as for keyboard shortcuts).  This specification defines a set of common key values (defined in the <a href="#key-value-tables">Key Value Tables</a>), and rules for production
 				of new key values.</p>
 
 			<p>Key values can be used to detect the value of a key which has been pressed, using the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
@@ -6062,346 +6062,395 @@
 					</ul>
 				</div>
 			</section>
-
-			<section id="key-values">
-				<h3>Key Values Set</h3>
-
-				<p>This section defines a list of key values which implementations MUST support, at a minimum, in addition to support for the full range of Unicode [<a href="#references-Unicode">Unicode</a>]
-					codepoints.  Implementations MAY support additional key values, in a manner conforming to the <a href="#keys-Guide">guidelines for selecting and defining key values</a>.
-					The <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute of an event MUST always contain one of these control key
-					or character values (even if the value is <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>). If the key represents one of the set of printable
-					control characters which has a Unicode character entry, such as the tab key, the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute
-					MUST have the key value (e.g., <a href="#key-Tab"><code class="key">'Tab'</code></a>).</p>
-
-				<p>Implementations that are unable to identify a key MUST use the key value <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>.</p>
-
-				<p class="warning"><strong>Warning!</strong> Conforming implementations MUST only use this key value when there is no way for the implementation to detect the key value;
-					exposing only this value MUST NOT indicate a conforming implementation.</p>
-
-				<p>The <a class="def" href="#glossary-key-value">key values</a> defined in this specification are based in part on the sets of keycodes from
-					the <code>java.awt.event.KeyEvent</code> interface of the Java Platform, Standard Edition 6 API Specification
-						[<cite><a class="informative" href="#references-KeyEvent">KeyEvent for Java</a></cite>],
-					and the <code>System.Windows.Forms.Keys</code> key enumeration of the Microsoft .NET Framework 4.0 Class Library
-						[<cite><a class="informative" href="#references-Keys">Keys enumeration for .Net</a></cite>].
-					The key values for media controllers (e.g. remote controls for television, audio systems, and set-top boxes) are derived in part from the consumer
-					electronics technical specifications:
-						DTV Application Software Environment [<cite><a href="#references-DASE">DASE</a></cite>],
-						Open Cable Application Platform 1.1.3 [<cite><a href="#references-OCAP">OCAP</a></cite>],
-						and ANSI/CEA-2014-B, Web-based Protocol and Framework for Remote User Interface on UPnPTM Networks and the Internet [<cite><a href="#references-WEB4CE">WEB4CE</a></cite>].
-					</p>
-
-				<p class="note"><strong>Note:</strong> The key names <code class="key">'NumPad0'</code>, <code class="key">'NumPad1'</code>, <code class="key">
-					'NumPad2'</code>, <code class="key">'NumPad3'</code>, <code class="key">'NumPad4'</code>, <code class="key">'NumPad5'</code>, <code class="key">'NumPad6'</code>,
-					<code class="key">'NumPad7'</code>, <code class="key">'NumPad8'</code>, and <code class="key">'NumPad9'</code>, found in some keyboard enumeration sets,
-					are not distinguished from other numerical key values in this set; a content author could use the <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
-					attribute to discover if a key originated from the numeric keypad.</p>
-
-				<p>Future versions of this specification MAY include key values not included here, which have become common since the publication of this specification.</p>
-
-				<div class="note">
-					<p><strong>Note:</strong> There are special internationalization considerations for ECMAScript escaped characters.  CharMod conformance [<cite><a class="normative"
-						href="#references-charmod">CharMod</a></cite>] <a href="http://www.w3.org/TR/charmod/#C045">expects</a> the use of code points rather than surrogate pairs in escapes.
-						ECMAScript escaped characters use surrogate pairs for characters outside the Basic Multilingual Plane (<code class="char">"\uD84E\uDDC2"</code> for <code class="glyph">'&#x239C2;'</code>,
-						a Chinese character meaning <q>untidy</q>), rather than C-style fixed-length characters (<code class="char">"\U000239c2"</code> for <code class="glyph">'&#x239C2;'</code>) or delimited escapes
-						such as Numeric Character References (<code>"&amp;#x239C2;"</code>). Characters escaped in this manner:</p>
-
-					<ul>
-						<li>are based on UTF-16 encoding, in that it uses surrogate pairs for values outside the Basic Multilingual Plane</li>
-						<li>are expressed using surrogate pairs, which makes it difficult for a human to look up the value, and might require unnecessary overhead for machine processing;
-							this can also cause problems with software written in the incorrect belief that Unicode is a 16-bit character set</li>
-						<li>are problematic for characters on supplementary planes (emoji, or Chinese characters on plane 2), some of which are expected to be input using a keyboard</li>
-						<li>are not be suitable for Java or C, which use different escaping mechanisms (could be solved with a normalizing method)</li>
-					</ul>
+		</section>
+
+		<section id="key-value-tables">
+			<h3>Key Value Tables</h3>
+
+			<p>This section defines a list of key values which implementations MUST support, at a minimum, in addition to support for the full range of Unicode [<a href="#references-Unicode">Unicode</a>]
+				codepoints.  Implementations MAY support additional key values, in a manner conforming to the <a href="#keys-Guide">guidelines for selecting and defining key values</a>.
+				The <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute of an event MUST always contain one of these control key
+				or character values (even if the value is <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>). If the key represents one of the set of printable
+				control characters which has a Unicode character entry, such as the tab key, the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a> attribute
+				MUST have the key value (e.g., <a href="#key-Tab"><code class="key">'Tab'</code></a>).</p>
+
+			<p>Implementations that are unable to identify a key MUST use the key value <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>.</p>
+
+			<p class="warning"><strong>Warning!</strong> Conforming implementations MUST only use this key value when there is no way for the implementation to detect the key value;
+				exposing only this value MUST NOT indicate a conforming implementation.</p>
+
+			<p>The <a class="def" href="#glossary-key-value">key values</a> defined in this specification are based in part on the sets of keycodes from
+				the <code>java.awt.event.KeyEvent</code> interface of the Java Platform, Standard Edition 6 API Specification
+					[<cite><a class="informative" href="#references-KeyEvent">KeyEvent for Java</a></cite>],
+				and the <code>System.Windows.Forms.Keys</code> key enumeration of the Microsoft .NET Framework 4.0 Class Library
+					[<cite><a class="informative" href="#references-Keys">Keys enumeration for .Net</a></cite>].
+				</p>
+
+			<p class="note"><strong>Note:</strong> The key names <code class="key">'NumPad0'</code>, <code class="key">'NumPad1'</code>, <code class="key">
+				'NumPad2'</code>, <code class="key">'NumPad3'</code>, <code class="key">'NumPad4'</code>, <code class="key">'NumPad5'</code>, <code class="key">'NumPad6'</code>,
+				<code class="key">'NumPad7'</code>, <code class="key">'NumPad8'</code>, and <code class="key">'NumPad9'</code>, found in some keyboard enumeration sets,
+				are not distinguished from other numerical key values in this set; a content author could use the <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a>
+				attribute to discover if a key originated from the numeric keypad.</p>
+
+			<p>Future versions of this specification MAY include key values not included here, which have become common since the publication of this specification.</p>
+
+			<div class="note">
+				<p><strong>Note:</strong> There are special internationalization considerations for ECMAScript escaped characters.  CharMod conformance [<cite><a class="normative"
+					href="#references-charmod">CharMod</a></cite>] <a href="http://www.w3.org/TR/charmod/#C045">expects</a> the use of code points rather than surrogate pairs in escapes.
+					ECMAScript escaped characters use surrogate pairs for characters outside the Basic Multilingual Plane (<code class="char">"\uD84E\uDDC2"</code> for <code class="glyph">'&#x239C2;'</code>,
+					a Chinese character meaning <q>untidy</q>), rather than C-style fixed-length characters (<code class="char">"\U000239c2"</code> for <code class="glyph">'&#x239C2;'</code>) or delimited escapes
+					such as Numeric Character References (<code>"&amp;#x239C2;"</code>). Characters escaped in this manner:</p>
+
+				<ul>
+					<li>are based on UTF-16 encoding, in that it uses surrogate pairs for values outside the Basic Multilingual Plane</li>
+					<li>are expressed using surrogate pairs, which makes it difficult for a human to look up the value, and might require unnecessary overhead for machine processing;
+						this can also cause problems with software written in the incorrect belief that Unicode is a 16-bit character set</li>
+					<li>are problematic for characters on supplementary planes (emoji, or Chinese characters on plane 2), some of which are expected to be input using a keyboard</li>
+					<li>are not be suitable for Java or C, which use different escaping mechanisms (could be solved with a normalizing method)</li>
+				</ul>
+			</div>
+
+			<p>The following sub-sections contain the normative list of case-sensitive key values, their character values (where applicable), an informative description of typical usage,
+				and an informative categorization.  A conforming implementation of the <a href="#interface-KeyboardEvent">KeyboardEvent</a> interface MUST support at least this set
+				of values for use in the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
+				attributes, though not all values MAY be available on all platforms or devices.</p>
+				
+			<section id="keys-general">
+				<h4>General Keys</h4>
+
+				<!-- Key tables. Note that all keys must be defined within a <div class="key-table"> -->
+				<div id="keys-general" class="key-table">
+					<key name="Attn">The Attention (Attn) key.</key>
+					<key name="ContextMenu">Toggle display of current application's context menu.</key>
+					<key name="CrSel">The Cursor Select (Crsel) key.</key>
+					<key name="ExSel">The Extend Selection (Exsel) key.</key>
+					<key name="LaunchMail">The Start Mail key.</key>
+					<key name="List">Toggle display listing of currently available content or programs.</key>
+					<key name="Props">The properties (props) key.</key>
+					<key name="Unidentified">This key value is used when an implementations is unable to identify another key value, due to either hardware, platform, or software constraints.</key>
 				</div>
-
-				<section id="key-values-list">
-					<h4>Key Values List</h4>
-					<p>The following list contains the normative list of case-sensitive key values, their character values (where applicable), an informative description of typical usage,
-						and an informative categorization.  A conforming implementation of the <a href="#interface-KeyboardEvent">KeyboardEvent</a> interface MUST support at least this set
-						of values for use in the <a href="#widl-KeyboardEvent-key"><code>KeyboardEvent.key</code></a>
-						attributes, though not all values MAY be available on all platforms or devices.</p>
-
-					<!-- Key tables. Note that all keys must be defined within a <div class="key-table"> -->
-					<p>General keys</p>
-					<div id="keys-general" class="key-table">
-						<key name="Attn">The Attention (Attn) key.</key>
-						<key name="ContextMenu">Toggle display of current application's context menu.</key>
-						<key name="CrSel">The Cursor Select (Crsel) key.</key>
-						<key name="ExSel">The Extend Selection (Exsel) key.</key>
-						<key name="LaunchMail">The Start Mail key.</key>
-						<key name="List">Toggle display listing of currently available content or programs.</key>
-						<key name="Props">The properties (props) key.</key>
-					</div>
-					<p>General-purpose function keys</p>
-					<p>The exact number of these general purpose function keys varies on different platforms, and only the first
-						few are defined explicitly here.  Additional function key names are implicitly defined by incrementing the
-						base-10 index at the end of the function key name. Thus, <span class="key">'F24'</span>,
-						<span class="key">'LaunchApplication12'</span> and <span class="key">'Soft8'</span> are all valid
-						key values.
-						</p>
-					<div id="keys-function-keys" class="key-table">
-						<key name="F1">The F1 key, a general purpose function key, as index 1.</key>
-						<key name="F2">The F2 key, a general purpose function key, as index 2.</key>
-						<key name="F3">The F3 key, a general purpose function key, as index 3.</key>
-						<key name="F4">The F4 key, a general purpose function key, as index 4.</key>
-						<key name="F5">The F5 key, a general purpose function key, as index 5.</key>
-						<key name="F6">The F6 key, a general purpose function key, as index 6.</key>
-						<key name="F7">The F7 key, a general purpose function key, as index 7.</key>
-						<key name="F8">The F8 key, a general purpose function key, as index 8.</key>
-						<key name="F9">The F9 key, a general purpose function key, as index 9.</key>
-						<key name="F10">The F10 key, a general purpose function key, as index 10.</key>
-						<key name="F11">The F11 key, a general purpose function key, as index 11.</key>
-						<key name="F12">The F12 key, a general purpose function key, as index 12.</key>
-						<key name="LaunchApplication1">The Start Application key, as index 1.</key>
-						<key name="LaunchApplication2">The Start Application key, as index 2.</key>
-						<key name="Soft1">General purpose virtual function key, as index 1.</key>
-						<key name="Soft2">General purpose virtual function key, as index 2.</key>
-						<key name="Soft3">General purpose virtual function key, as index 3.</key>
-						<key name="Soft4">General purpose virtual function key, as index 4.</key>
-					</div>
-					<p>UI keys</p>
-					<div id="keys-ui" class="key-table">
-						<key name="Accept">The Accept (Commit, OK) key. Accept current option or input method sequence conversion.</key>
-						<key name="Again">The Again key, to redo or repeat an action.</key>
-						<key name="Enter">The Enter key, to activate current selection or accept current input.
-							<p class="note"><strong>Note:</strong> This key value is also used for the <code class="key">'Return'</code> (Macintosh numpad) key.</p>
-							</key>
-						<key name="Find">The Find key.</key>
-						<key name="Help">Toggle display of help information.</key>
-						<key name="Info">Toggle display of information about currently selected context or media.</key>
-						<key name="Menu">Toggle display of content or system menu, if available.</key>
-						<key name="Pause">Pause the current state or application (as appropriate).</key>
-						<key name="Play">Play or resume the current state or application (as appropriate).</key>
-						<key name="ScrollLock">The Scroll Lock key, to toggle between scrolling and cursor movement modes.</key>
-						<key name="Execute">The Execute key.</key>
-						<key name="Cancel">The Cancel key.</key>
-						<key name="Escape">The Escape (Esc) key, to initiate an escape sequence.</key>
-						<key name="Exit">Exit current state or current application (as appropriate).</key>
-						<key name="Zoom">Toggle between full-screen and scaled content, or alter magnification level.
-							<p class="issue"><strong>Issue:</strong> Is this confusable with ZoomIn/ZoomOut? Would something like FullScreenToggle be better?</p>
-							</key>
-						<key name="ZoomIn">The ZoomIn key.</key>
-						<key name="ZoomOut">The ZoomOut key.</key>
-					</div>
-					<p>Character and Math keys</p>
-					<div id="keys-character" class="key-table">
-						<key name="Separator">The Separator key, for context-sensitive text separators.</key>
-						<key name="Spacebar">The Space (Spacebar) key (<code class="glyph">'&nbsp;'</code>).</key>
-					</div>
-					<p>Device keys</p>
-					<div id="keys-device" class="key-table">
-						<key name="BrightnessDown">The Brightness Down key. Typically controls the display brightness.</key>
-						<key name="BrightnessUp">The Brightness Up key. Typically controls the display brightness.</key>
-						<key name="Camera">The Camera key.</key>
-						<key name="Eject">Toggle removable media to eject (open) and insert (close) state.</key>
-						<key name="PrintScreen">The Print Screen (PrintScrn, SnapShot) key, to initiate print-screen function.</key>
-						<key name="Power">Toggle power state.
-							<p class="note"><strong>Note:</strong> Some devices might not expose this key to the operating environment.</p>
-							</key>
-						<key name="Standby">The Standby key.</key>
-						<key name="PowerDown">The PowerDown key.</key>
-						<key name="PowerOff">The PowerOff key.
-							<p class="issue"><strong>Issue:</strong> How is this different from the PowerDown key?</p>
-							</key>
-						<key name="WakeUp">The WakeUp key.</key>
-						<key name="Sleep">The Sleep key.</key>
-						<key name="LogOff">The LogOff key.</key>
-						<key name="Suspend">The Suspend key.</key>
-						<key name="Hibernate">The Hibernate key.</key>
-					</div>
-					<p>Browser keys</p>
-					<div id="keys-browser" class="key-table">
-						<key name="BrowserFavorites">The Browser Favorites key.</key>
-						<key name="BrowserHome">The Browser Home key, used with keyboard entry, to go to the home page.</key>
-						<key name="BrowserRefresh">The Browser Refresh key.</key>
-						<key name="BrowserSearch">The Browser Search key.</key>
-						<key name="BrowserStop">The Browser Stop key.</key>
-						<key name="BrowserBack">Navigate to previous content or page in current history.</key>
-						<key name="BrowserForward">Navigate to next content or page in current history.</key>
-					</div>
-					<p>Navigation keys</p>
-					<div id="keys-navigation" class="key-table">
-						<key name="ArrowDown">The down arrow key, to navigate or traverse downward.</key>
-						<key name="ArrowLeft">The left arrow key, to navigate or traverse leftward.</key>
-						<key name="ArrowRight">The right arrow key, to navigate or traverse rightward.</key>
-						<key name="ArrowUp">The up arrow key, to navigate or traverse upward.</key>
-						<key name="UpLeft">The diagonal up-left arrow key, to navigate or traverse diagonally up and to the left.</key>
-						<key name="UpRight">The diagonal up-right arrow key, to navigate or traverse diagonally up and to the right.</key>
-						<key name="DownLeft">The diagonal down-left arrow key, to navigate or traverse diagonally down and to the left.</key>
-						<key name="DownRight">The diagonal down-right arrow key, to navigate or traverse diagonally down and to the right.</key>
-						<key name="Home">The Home key, used with keyboard entry, to go to start of content.</key>
-						<key name="End">The End key, used with keyboard entry to go to the end of content.</key>
-						<key name="PageDown">The Page Down key, to scroll down or display next page of content.</key>
-						<key name="PageUp">The Page Up key, to scroll up or display previous page of content.</key>
-						<key name="Select">The Select key.</key>
-						<key name="Tab">The Horizontal Tabulation (Tab) key.</key>
-					</div>
-					<p>Editing keys</p>
-					<div id="keys-edit" class="key-table">
-						<key name="Backspace">The Backspace key.
-							<p class="note"><strong>Note:</strong> This key value is also used for the key labeled <code>'delete'</code> on MacOS keyboards.</p>
-							</key>
-						<key name="Clear">The Clear key, for removing current selected input.</key>
-						<key name="Copy">The Copy key.</key>
-						<key name="Cut">The Cut key.</key>
-						<key name="Delete">The Delete (Del) Key.
-							<p class="note"><strong>Note:</strong> This key value is also used for the key labeled <code>'delete'</code> on MacOS keyboards when modified by
-								the <code class="key">'Fn'</code> key.</p>
-							</key>
-						<key name="EraseEof">The Erase to End of Field key.  This key deletes all characters from the current cursor position to the end of the current field.</key>
-						<key name="Insert">The Insert (Ins) key, to toggle between text modes for insertion or overtyping.</key>
-						<key name="Paste">The Paste key.</key>
-						<key name="Undo">The Undo key.</key>
-						<key name="Redo">The Redo key.</key>
-					</div>
-					<p>Composition keys</p>
-					<div id="keys-composition" class="key-table">
-						<key name="DeadGrave">The Combining Grave Accent (Greek Varia, Dead Grave) key.</key>
-						<key name="DeadAcute">The Combining Acute Accent (Stress Mark, Greek Oxia, Tonos, Dead Eacute) key.</key>
-						<key name="DeadCircumflex">The Combining Circumflex Accent (Hat, Dead Circumflex) key.</key>
-						<key name="DeadTilde">The Combining Tilde (Dead Tilde) key.</key>
-						<key name="DeadMacron">The Combining Macron (Long, Dead Macron) key.</key>
-						<key name="DeadBreve">The Combining Breve (Short, Dead Breve) key.</key>
-						<key name="DeadAboveDot">The Combining Dot Above (Derivative, Dead Above Dot) key.</key>
-						<key name="DeadUmlaut">The Combining Diaeresis (Double Dot Abode, Umlaut, Greek Dialytika, Double Derivative, Dead Diaeresis) key.</key>
-						<key name="DeadAboveRing">The Combining Ring Above (Dead Above Ring) key.</key>
-						<key name="DeadDoubleAcute">The Combining Double Acute Accent (Dead Doubleacute) key.</key>
-						<key name="DeadCaron">The Combining Caron (Hacek, V Above, Dead Caron) key.</key>
-						<key name="DeadCedilla">The Combining Cedilla (Dead Cedilla) key.</key>
-						<key name="DeadOgonek">The Combining Ogonek (Nasal Hook, Dead Ogonek) key.</key>
-						<key name="DeadIota">The Combining Greek Ypogegrammeni (Greek Non-Spacing Iota Below, Iota Subscript, Dead Iota) key.</key>
-						<key name="DeadVoicedSound">The Combining Katakana-Hiragana Voiced Sound Mark (Dead Voiced Sound) key.</key>
-						<key name="DeadSemivoicedSound">The Combining Katakana-Hiragana Semi-Voiced Sound Mark (Dead Semivoiced Sound) key.</key>
-					</div>
-					<p>Modifier keys</p>
-					<div id="keys-modifier" class="key-table">
-						<key name="Alphanumeric">The Alphanumeric key.</key>
-						<key name="Alt">The Alternative (Alt, Option, Menu) key.  Enable alternate modifier function for interpreting concurrent or subsequent keyboard input.
-							<p class="note"><strong>Note:</strong> This key value is also used for the Apple <code>'Option'</code> key.</p>
-							</key>
-						<key name="AltGraph">The Alt-Graph key.</key>
-						<key name="CapsLock">The Caps Lock (Capital) key.  Toggle capital character lock function for interpreting subsequent keyboard input event.</key>
-						<key name="Control">The Control (Ctrl) key, to enable control modifier function for interpreting concurrent or subsequent keyboard input.</key>
-						<key name="Fn">The Function switch (Fn) key.  Activating this key simultaneously with another key changes that key's value to an alternate character or function.</key>
-						<key name="FnLock">The Function-Lock (FnLock, F-Lock) key.  Activating this key switches the mode of the keyboard to changes some keys' values to an alternate character or function.</key>
-						<key name="Meta">The Meta key, to enable meta modifier function for interpreting concurrent or subsequent keyboard input.
-							<p class="note"><strong>Note:</strong> This key value is also used for the Apple <code>'Command'</code> key.</p>
-							</key>
-						<key name="Process">The Process key.</key>
-						<key name="NumLock">The Number Lock key, to toggle numer-pad mode function for interpreting subsequent keyboard input.</key>
-						<key name="Shift">The Shift key, to enable shift modifier function for interpreting concurrent or subsequent keyboard input.</key>
-						<key name="SymbolLock">The Symbol Lock key.</key>
-						<key name="OS">The operating system key (e.g. the <q>Windows Logo</q> key).</key>
-						<key name="Compose">The Compose key, also known as <em>Multi_key</em> on the X Window System.  This key acts in a manner similar to a <a class="def" href="#glossary-dead-key">dead
-							key</a>, triggering a mode where subsequent key presses are combined to produce a different character.
-							</key>
-					</div>
-					<p>IME keys</p>
-					<div id="keys-ime" class="key-table">
-						<key name="AllCandidates">The All Candidates key, to initate the multi-candidate mode.</key>
-						<key name="NextCandidate">The Next Candidate function key.</key>
-						<key name="PreviousCandidate">The Previous Candidate function key.</key>
-						<key name="SingleCandidate">The Single Candidate function key.</key>
-						<key name="CodeInput">The Code Input key, to initiate the Code Input mode to allow characters to be entered by their code points.</key>
-						<key name="Convert">The Convert key, to convert the current input method sequence.</key>
-						<key name="Nonconvert">The Nonconvert (Don't Convert) key, to accept current input method sequence without conversion in IMEs.</key>
-						<key name="FinalMode">The Final Mode (Final) key used on some Asian keyboards, to enable the final mode for IMEs.</key>
-						<key name="FullWidth">The Full-Width Characters key.</key>
-						<key name="HalfWidth">The Half-Width Characters key.</key>
-						<key name="ZenkakuHankaku">The Zenkaku/Hankaku (full-width/half-width) toggle key.</key>
-						<key name="ModeChange">The Mode Change key, to toggle between or cycle through input modes of IMEs.</key>
-						<key name="RomanCharacters">The Roman Characters function key, also known as the <code>'Youngja'</code> or <code>'Young'</code> key.</key>
-						<key name="HangulMode">The Hangul (Korean characters) Mode key, to toggle between Hangul and English modes.</key>
-						<key name="HanjaMode">The Hanja (Korean characters) Mode key.</key>
-						<key name="JunjaMode">The Junja (Korean characters) Mode key.</key>
-						<key name="KanaMode">The Kana Mode (Kana Lock) key.</key>
-						<key name="KanjiMode">The Kanji (Japanese name for ideographic characters of Chinese origin) Mode key.</key>
-						<key name="Hiragana">The Hiragana (Japanese Kana characters) key.</key>
-						<key name="Katakana">The Katakana (Japanese Kana characters) key.</key>
-						<key name="HiraganaKatakana">The Hiragana/Katakana toggle key.</key>
-					</div>
-					<p>Media keys</p>
-					<div id="keys-media" class="key-table">
-						<key name="AudioFaderFront">Adjust audio fader towards front.</key>
-						<key name="AudioFaderRear">Adjust audio fader towards rear.</key>
-						<key name="AudioBalanceLeft">Adjust audio balance leftward.</key>
-						<key name="AudioBalanceRight">Adjust audio balance rightward.</key>
-						<key name="AudioBassBoostDown">Decrease audio bass boost or cycle down through bass boost states.</key>
-						<key name="AudioBassBoostUp">Increase audio bass boost or cycle up through bass boost states.</key>
-						<key name="VolumeMute">Toggle between muted state and prior volume level.</key>
-						<key name="VolumeDown">Decrease audio volume.</key>
-						<key name="VolumeUp">Increase audio volume.</key>
-						<key name="MediaPause">Pause playback, if not paused or stopped; also used with keyboard entry to pause scrolling output.</key>
-						<key name="MediaPlay">Initiate or continue media playback at normal speed, if not currently playing at normal speed.</key>
-						<key name="MediaTrackEnd">Seek to end of media or program.</key>
-						<key name="MediaNextTrack">Seek to next media or program track.</key>
-						<key name="MediaPlayPause">Toggle media between play and pause states.</key>
-						<key name="MediaPreviousTrack">Seek to previous media or program track.</key>
-						<key name="MediaTrackSkip">Skip current content or program.</key>
-						<key name="MediaTractStart">Seek to start of media or program.</key>
-						<key name="MediaStop">Stop media playing, pausing, forwarding, rewinding, or recording, if not already stopped.</key>
-						<key name="SelectMedia">The Select Media key.</key>
-						<key name="Blue">General purpose color-coded media function key, as index 3.</key>
-						<key name="Brown">General purpose color-coded media function key, as index 5.</key>
-						<key name="ChannelDown">Select next (numerically or logically) lower channel.</key>
-						<key name="ChannelUp">Select next (numerically or logically) higher channel.</key>
-						<key name="ClearFavorite0">Clear program or content stored as favorite 0.</key>
-						<key name="ClearFavorite1">Clear program or content stored as favorite 1.</key>
-						<key name="ClearFavorite2">Clear program or content stored as favorite 2.</key>
-						<key name="ClearFavorite3">Clear program or content stored as favorite 3.</key>
-						<key name="Dimmer">Adjust brightness of device, or toggle between or cycle through states.</key>
-						<key name="DisplaySwap">Swap video sources.</key>
-						<key name="FastFwd">Initiate or continue forward playback at faster than normal speed, or increase speed if already fast forwarding.</key>
-						<key name="Green">General purpose color-coded media function key, as index 1.</key>
-						<key name="Grey">General purpose color-coded media function key, as index 4.</key>
-						<key name="Guide">Toggle display of program or content guide.</key>
-						<key name="InstantReplay">Toggle instant replay.</key>
-						<key name="MediaLast">Select previously selected channel or media.</key>
-						<key name="Link">Launch linked content, if available and appropriate.</key>
-						<key name="Live">Toggle display listing of currently available live content or programs.</key>
-						<key name="Lock">Lock or unlock current content or program.</key>
-						<key name="NextDay">If guide is active and displayed, then display next day's content.</key>
-						<key name="NextFavoriteChannel">Select next favorite channel (in favorites list).</key>
-						<key name="OnDemand">Access on-demand content or programs.</key>
-						<key name="PinPDown">Move picture-in-picture window downward.</key>
-						<key name="PinPMove">Move picture-in-picture window.</key>
-						<key name="PinPToggle">Toggle display of picture-in-picture window.</key>
-						<key name="PinPUp">Move picture-in-picture window upward.</key>
-						<key name="PlaySpeedDown">Decrease media playback speed.</key>
-						<key name="PlaySpeedReset">Reset playback speed to normal speed (according to current media function).</key>
-						<key name="PlaySpeedUp">Increase media playback speed.</key>
-						<key name="PrevDay">If guide is active and displayed, then display previous day's content.</key>
-						<key name="RandomToggle">Toggle random media or content shuffle mode.</key>
-						<key name="RecallFavorite0">Select (recall) program or content stored as favorite 0.</key>
-						<key name="RecallFavorite1">Select (recall) program or content stored as favorite 1.</key>
-						<key name="RecallFavorite2">Select (recall) program or content stored as favorite 2.</key>
-						<key name="RecallFavorite3">Select (recall) program or content stored as favorite 3.</key>
-						<key name="MediaRecord">Initiate or resume recording of currently selected media.</key>
-						<key name="RecordSpeedNext">Toggle or cycle between media recording speeds (if applicable).</key>
-						<key name="Red">General purpose color-coded media function key, as index 0.</key>
-						<key name="MediaRewind">Initiate or continue reverse playback at faster than normal speed, or increase speed if already rewinding.</key>
-						<key name="RfBypass">Toggle RF (radio frequency) input bypass mode.</key>
-						<key name="ScanChannelsToggle">Toggle scan channels mode.</key>
-						<key name="ScreenModeNext">Advance display screen mode to next available mode.</key>
-						<key name="Settings">Toggle display of device settings screen.</key>
-						<key name="SplitScreenToggle">Toggle split screen mode.</key>
-						<key name="StoreFavorite0">Store current program or content as favorite 0.</key>
-						<key name="StoreFavorite1">Store current program or content as favorite 1.</key>
-						<key name="StoreFavorite2">Store current program or content as favorite 2.</key>
-						<key name="StoreFavorite3">Store current program or content as favorite 3.</key>
-						<key name="Subtitle">Toggle display of subtitles, if available.</key>
-						<key name="AudioSurroundModeNext">Advance surround audio mode to next available mode.</key>
-						<key name="Teletext">Toggle display of teletext, if available.</key>
-						<key name="VideoModeNext">Advance video mode to next available mode.</key>
-						<key name="DisplayWide">Toggle device display mode between wide aspect and normal aspect mode.</key>
-						<key name="Wink">Cause device to identify itself in some manner, e.g., audibly or visibly.</key>
-						<key name="Yellow">General purpose color-coded media function key, as index 2.</key>
-						<key name="Unidentified">This key value is used when an implementations is unable to identify another key value, due to either hardware, platform, or software constraints.</key>
-					</div>
-
-				</section>
 			</section>
+
+			<section id="keys-function">
+				<h4>General-purpose function keys</h4>
+				<p>The exact number of these general purpose function keys varies on different platforms, and only the first
+					few are defined explicitly here.  Additional function key names are implicitly defined by incrementing the
+					base-10 index at the end of the function key name. Thus, <span class="key">'F24'</span>,
+					<span class="key">'LaunchApplication12'</span> and <span class="key">'Soft8'</span> are all valid
+					key values.
+					</p>
+				<div id="keys-function-keys" class="key-table">
+					<key name="F1">The F1 key, a general purpose function key, as index 1.</key>
+					<key name="F2">The F2 key, a general purpose function key, as index 2.</key>
+					<key name="F3">The F3 key, a general purpose function key, as index 3.</key>
+					<key name="F4">The F4 key, a general purpose function key, as index 4.</key>
+					<key name="F5">The F5 key, a general purpose function key, as index 5.</key>
+					<key name="F6">The F6 key, a general purpose function key, as index 6.</key>
+					<key name="F7">The F7 key, a general purpose function key, as index 7.</key>
+					<key name="F8">The F8 key, a general purpose function key, as index 8.</key>
+					<key name="F9">The F9 key, a general purpose function key, as index 9.</key>
+					<key name="F10">The F10 key, a general purpose function key, as index 10.</key>
+					<key name="F11">The F11 key, a general purpose function key, as index 11.</key>
+					<key name="F12">The F12 key, a general purpose function key, as index 12.</key>
+					<key name="LaunchApplication1">The Start Application key, as index 1.</key>
+					<key name="LaunchApplication2">The Start Application key, as index 2.</key>
+					<key name="Soft1">General purpose virtual function key, as index 1.</key>
+					<key name="Soft2">General purpose virtual function key, as index 2.</key>
+					<key name="Soft3">General purpose virtual function key, as index 3.</key>
+					<key name="Soft4">General purpose virtual function key, as index 4.</key>
+				</div>
+			</section>
+
+			<section id="keys-ui">
+				<h4>UI keys</h4>
+				<div id="keys-ui" class="key-table">
+					<key name="Accept">The Accept (Commit, OK) key. Accept current option or input method sequence conversion.</key>
+					<key name="Again">The Again key, to redo or repeat an action.</key>
+					<key name="Enter">The Enter key, to activate current selection or accept current input.
+						This key value is also used for the <code class="key">'Return'</code> (Macintosh numpad) key.
+						</key>
+					<key name="Find">The Find key.</key>
+					<key name="Help">Toggle display of help information.</key>
+					<key name="Menu">Toggle display of content or system menu, if available.</key>
+					<key name="Pause">Pause the current state or application (as appropriate).</key>
+					<key name="Play">Play or resume the current state or application (as appropriate).</key>
+					<key name="ScrollLock">The Scroll Lock key, to toggle between scrolling and cursor movement modes.</key>
+					<key name="Execute">The Execute key.</key>
+					<key name="Cancel">The Cancel key.</key>
+					<key name="Escape">The Escape (Esc) key, to initiate an escape sequence.</key>
+					<key name="Exit">Exit current state or current application (as appropriate).</key>
+					<key name="ZoomIn">The ZoomIn key.</key>
+					<key name="ZoomOut">The ZoomOut key.</key>
+				</div>
+			</section>
+
+			<section id="keys-math">
+				<h4>Character and Math keys</h4>
+				<div id="keys-character" class="key-table">
+					<key name="Separator">The Separator key, for context-sensitive text separators.</key>
+					<key name="Spacebar">The Space (Spacebar) key (<code class="glyph">'&nbsp;'</code>).</key>
+				</div>
+			</section>
+
+			<section id="keys-device">
+				<h4>Device keys</h4>
+				<div id="keys-device" class="key-table">
+					<key name="BrightnessDown">The Brightness Down key. Typically controls the display brightness.</key>
+					<key name="BrightnessUp">The Brightness Up key. Typically controls the display brightness.</key>
+					<key name="Camera">The Camera key.</key>
+					<key name="Eject">Toggle removable media to eject (open) and insert (close) state.</key>
+					<key name="PrintScreen">The Print Screen (PrintScrn, SnapShot) key, to initiate print-screen function.</key>
+					<key name="Power">Toggle power state.
+						<p class="note"><strong>Note:</strong> Some devices might not expose this key to the operating environment.</p>
+						</key>
+					<key name="Standby">The Standby key.</key>
+					<key name="PowerDown">The PowerDown key.</key>
+					<key name="PowerOff">The PowerOff key.
+						<p class="issue"><strong>Issue:</strong> How is this different from the PowerDown key?</p>
+						</key>
+					<key name="WakeUp">The WakeUp key.</key>
+					<key name="Sleep">The Sleep key.</key>
+					<key name="LogOff">The LogOff key.</key>
+					<key name="Suspend">The Suspend key.</key>
+					<key name="Hibernate">The Hibernate key.</key>
+				</div>
+			</section>
+
+			<section id="keys-browser">
+				<h4>Browser keys</h4>
+				<div id="keys-browser" class="key-table">
+					<key name="BrowserFavorites">The Browser Favorites key.</key>
+					<key name="BrowserHome">The Browser Home key, used with keyboard entry, to go to the home page.</key>
+					<key name="BrowserRefresh">The Browser Refresh key, to refresh the current page or content.</key>
+					<key name="BrowserSearch">The Browser Search key, to call up the user's preferred search page.</key>
+					<key name="BrowserStop">The Browser Stop key, to stop loading the current page or content.</key>
+					<key name="BrowserBack">Navigate to previous content or page in current history.</key>
+					<key name="BrowserForward">Navigate to next content or page in current history.</key>
+				</div>
+			</section>
+
+			<section id="keys-navication">
+				<h4>Navigation keys</h4>
+				<div id="keys-navigation" class="key-table">
+					<key name="ArrowDown">The down arrow key, to navigate or traverse downward.</key>
+					<key name="ArrowLeft">The left arrow key, to navigate or traverse leftward.</key>
+					<key name="ArrowRight">The right arrow key, to navigate or traverse rightward.</key>
+					<key name="ArrowUp">The up arrow key, to navigate or traverse upward.</key>
+					<key name="Home">The Home key, used with keyboard entry, to go to start of content.</key>
+					<key name="End">The End key, used with keyboard entry to go to the end of content.</key>
+					<key name="PageDown">The Page Down key, to scroll down or display next page of content.</key>
+					<key name="PageUp">The Page Up key, to scroll up or display previous page of content.</key>
+					<key name="Select">The Select key.</key>
+					<key name="Tab">The Horizontal Tabulation (Tab) key.</key>
+				</div>
+			</section>
+
+			<section id="keys-editing">
+				<h4>Editing keys</h4>
+				<div id="keys-edit" class="key-table">
+					<key name="Backspace">The Backspace key.
+						<p class="note"><strong>Note:</strong> This key value is also used for the key labeled <code>'delete'</code> on MacOS keyboards.</p>
+						</key>
+					<key name="Clear">The Clear key, for removing current selected input.</key>
+					<key name="Copy">The Copy key.</key>
+					<key name="Cut">The Cut key.</key>
+					<key name="Delete">The Delete (Del) Key.
+						<p class="note"><strong>Note:</strong> This key value is also used for the key labeled <code>'delete'</code> on MacOS keyboards when modified by
+							the <code class="key">'Fn'</code> key.</p>
+						</key>
+					<key name="EraseEof">The Erase to End of Field key.  This key deletes all characters from the current cursor position to the end of the current field.</key>
+					<key name="Insert">The Insert (Ins) key, to toggle between text modes for insertion or overtyping.</key>
+					<key name="Paste">The Paste key.</key>
+					<key name="Undo">The Undo key.</key>
+					<key name="Redo">The Redo key.</key>
+				</div>
+			</section>
+
+			<section id="keys-composition">
+				<h4>Composition keys</h4>
+				<div id="keys-composition" class="key-table">
+					<key name="DeadGrave">The Combining Grave Accent (Greek Varia, Dead Grave) key.</key>
+					<key name="DeadAcute">The Combining Acute Accent (Stress Mark, Greek Oxia, Tonos, Dead Eacute) key.</key>
+					<key name="DeadCircumflex">The Combining Circumflex Accent (Hat, Dead Circumflex) key.</key>
+					<key name="DeadTilde">The Combining Tilde (Dead Tilde) key.</key>
+					<key name="DeadMacron">The Combining Macron (Long, Dead Macron) key.</key>
+					<key name="DeadBreve">The Combining Breve (Short, Dead Breve) key.</key>
+					<key name="DeadAboveDot">The Combining Dot Above (Derivative, Dead Above Dot) key.</key>
+					<key name="DeadUmlaut">The Combining Diaeresis (Double Dot Abode, Umlaut, Greek Dialytika, Double Derivative, Dead Diaeresis) key.</key>
+					<key name="DeadAboveRing">The Combining Ring Above (Dead Above Ring) key.</key>
+					<key name="DeadDoubleAcute">The Combining Double Acute Accent (Dead Doubleacute) key.</key>
+					<key name="DeadCaron">The Combining Caron (Hacek, V Above, Dead Caron) key.</key>
+					<key name="DeadCedilla">The Combining Cedilla (Dead Cedilla) key.</key>
+					<key name="DeadOgonek">The Combining Ogonek (Nasal Hook, Dead Ogonek) key.</key>
+					<key name="DeadIota">The Combining Greek Ypogegrammeni (Greek Non-Spacing Iota Below, Iota Subscript, Dead Iota) key.</key>
+					<key name="DeadVoicedSound">The Combining Katakana-Hiragana Voiced Sound Mark (Dead Voiced Sound) key.</key>
+					<key name="DeadSemivoicedSound">The Combining Katakana-Hiragana Semi-Voiced Sound Mark (Dead Semivoiced Sound) key.</key>
+				</div>
+			</section>
+
+			<section id="keys-modifier">
+				<h4>Modifier keys</h4>
+				<div id="keys-modifier" class="key-table">
+					<key name="Alphanumeric">The Alphanumeric key.</key>
+					<key name="Alt">The Alternative (Alt, Option, Menu) key.  Enable alternate modifier function for interpreting concurrent or subsequent keyboard input.
+						<p class="note"><strong>Note:</strong> This key value is also used for the Apple <code>'Option'</code> key.</p>
+						</key>
+					<key name="AltGraph">The Alt-Graph key.</key>
+					<key name="CapsLock">The Caps Lock (Capital) key.  Toggle capital character lock function for interpreting subsequent keyboard input event.</key>
+					<key name="Control">The Control (Ctrl) key, to enable control modifier function for interpreting concurrent or subsequent keyboard input.</key>
+					<key name="Fn">The Function switch (Fn) key.  Activating this key simultaneously with another key changes that key's value to an alternate character or function.</key>
+					<key name="FnLock">The Function-Lock (FnLock, F-Lock) key.  Activating this key switches the mode of the keyboard to changes some keys' values to an alternate character or function.</key>
+					<key name="Meta">The Meta key, to enable meta modifier function for interpreting concurrent or subsequent keyboard input.
+						<p class="note"><strong>Note:</strong> This key value is also used for the Apple <code>'Command'</code> key.</p>
+						</key>
+					<key name="Process">The Process key.</key>
+					<key name="NumLock">The Number Lock key, to toggle numer-pad mode function for interpreting subsequent keyboard input.</key>
+					<key name="Shift">The Shift key, to enable shift modifier function for interpreting concurrent or subsequent keyboard input.</key>
+					<key name="SymbolLock">The Symbol Lock key.</key>
+					<key name="OS">The operating system key (e.g. the <q>Windows Logo</q> key).</key>
+					<key name="Compose">The Compose key, also known as <em>Multi_key</em> on the X Window System.  This key acts in a manner similar to a <a class="def" href="#glossary-dead-key">dead
+						key</a>, triggering a mode where subsequent key presses are combined to produce a different character.
+						</key>
+				</div>
+			</section>
+
+			<section id="keys-ime">
+				<h4>IME keys</h4>
+				<div id="keys-ime" class="key-table">
+					<key name="AllCandidates">The All Candidates key, to initate the multi-candidate mode.</key>
+					<key name="NextCandidate">The Next Candidate function key.</key>
+					<key name="PreviousCandidate">The Previous Candidate function key.</key>
+					<key name="SingleCandidate">The Single Candidate function key.</key>
+					<key name="CodeInput">The Code Input key, to initiate the Code Input mode to allow characters to be entered by their code points.</key>
+					<key name="Convert">The Convert key, to convert the current input method sequence.</key>
+					<key name="Nonconvert">The Nonconvert (Don't Convert) key, to accept current input method sequence without conversion in IMEs.</key>
+					<key name="FinalMode">The Final Mode (Final) key used on some Asian keyboards, to enable the final mode for IMEs.</key>
+					<key name="FullWidth">The Full-Width Characters key.</key>
+					<key name="HalfWidth">The Half-Width Characters key.</key>
+					<key name="ZenkakuHankaku">The Zenkaku/Hankaku (full-width/half-width) toggle key.</key>
+					<key name="ModeChange">The Mode Change key, to toggle between or cycle through input modes of IMEs.</key>
+					<key name="RomanCharacters">The Roman Characters function key, also known as the <code>'Youngja'</code> or <code>'Young'</code> key.</key>
+					<key name="HangulMode">The Hangul (Korean characters) Mode key, to toggle between Hangul and English modes.</key>
+					<key name="HanjaMode">The Hanja (Korean characters) Mode key.</key>
+					<key name="JunjaMode">The Junja (Korean characters) Mode key.</key>
+					<key name="KanaMode">The Kana Mode (Kana Lock) key.</key>
+					<key name="KanjiMode">The Kanji (Japanese name for ideographic characters of Chinese origin) Mode key.</key>
+					<key name="Hiragana">The Hiragana (Japanese Kana characters) key.</key>
+					<key name="Katakana">The Katakana (Japanese Kana characters) key.</key>
+					<key name="HiraganaKatakana">The Hiragana/Katakana toggle key.</key>
+				</div>
+			</section>
+
+			<section id="keys-media">
+				<h4>Media controller keys</h4>
+
+				<p>The <a class="def" href="#glossary-key-value">key values</a> for media controllers (e.g. remote controls for television, audio systems, and set-top boxes)
+					are derived in part from the consumer electronics technical specifications:</p>
+					<ul>
+						<li>DTV Application Software Environment [<cite><a href="#references-DASE">DASE</a></cite>]</li>
+						<li>Open Cable Application Platform 1.1.3 [<cite><a href="#references-OCAP">OCAP</a></cite>]</li>
+						<li>ANSI/CEA-2014-B, Web-based Protocol and Framework for Remote User Interface on UPnPTM Networks and the Internet [<cite><a href="#references-WEB4CE">WEB4CE</a></cite>]</li>
+					</ul>
+				<p></p>
+
+				<div id="keys-media" class="key-table">
+					<key name="AudioBalanceLeft">Adjust audio balance leftward. (VK_AUDIO_BALANCE_LEFT)</key>
+					<key name="AudioBalanceRight">Adjust audio balance rightward. (VK_AUDIO_BALANCE_RIGHT)</key>
+					<key name="AudioBassBoostDown">Decrease audio bass boost or cycle down through bass boost states. (VK_BASS_BOOST_DOWN)</key>
+					<key name="AudioBassBoostUp">Increase audio bass boost or cycle up through bass boost states. (VK_BASS_BOOST_UP)</key>
+					<key name="AudioFaderFront">Adjust audio fader towards front. (VK_FADER_FRONT)</key>
+					<key name="AudioFaderRear">Adjust audio fader towards rear. (VK_FADER_REAR)</key>
+					<key name="AudioSurroundModeNext">Advance surround audio mode to next available mode. (VK_SURROUND_MODE_NEXT)</key>
+					<key name="ChannelDown">Select next (numerically or logically) lower channel. (VK_CHANNEL_DOWN)</key>
+					<key name="ChannelUp">Select next (numerically or logically) higher channel. (VK_CHANNEL_UP)</key>
+					<key name="ColorF0Red">General purpose color-coded media function key, as index 0 (red). (VK_COLORED_KEY_0)</key>
+					<key name="ColorF1Green">General purpose color-coded media function key, as index 1 (green). (VK_COLORED_KEY_1)</key>
+					<key name="ColorF2Yellow">General purpose color-coded media function key, as index 2 (yellow). (VK_COLORED_KEY_2)</key>
+					<key name="ColorF3Blue">General purpose color-coded media function key, as index 3 (blue). (VK_COLORED_KEY_3)</key>
+					<key name="ColorF4Grey">General purpose color-coded media function key, as index 4 (grey). (VK_COLORED_KEY_4)</key>
+					<key name="ColorF5Brown">General purpose color-coded media function key, as index 5 (brown). (VK_COLORED_KEY_5)</key>
+					<key name="Dimmer">Adjust brightness of device, by toggling between or cycling through states.</key>
+					<key name="DisplaySwap">Swap video sources. (VK_DISPLAY_SWAP)</key>
+					<key name="Exit">Exit the current application. (VK_EXIT)</key>
+					<key name="FavoriteClear0">Clear program or content stored as favorite 0. (VK_CLEAR_FAVORITE_0)</key>
+					<key name="FavoriteClear1">Clear program or content stored as favorite 1. (VK_CLEAR_FAVORITE_1)</key>
+					<key name="FavoriteClear2">Clear program or content stored as favorite 2. (VK_CLEAR_FAVORITE_2)</key>
+					<key name="FavoriteClear3">Clear program or content stored as favorite 3. (VK_CLEAR_FAVORITE_3)</key>
+					<key name="FavoriteRecall0">Select (recall) program or content stored as favorite 0. (VK_RECALL_FAVORITE_0)</key>
+					<key name="FavoriteRecall1">Select (recall) program or content stored as favorite 1. (VK_RECALL_FAVORITE_1)</key>
+					<key name="FavoriteRecall2">Select (recall) program or content stored as favorite 2. (VK_RECALL_FAVORITE_2)</key>
+					<key name="FavoriteRecall3">Select (recall) program or content stored as favorite 3. (VK_RECALL_FAVORITE_3)</key>
+					<key name="FavoriteStore0">Store current program or content as favorite 0. (VK_STORE_FAVORITE_0)</key>
+					<key name="FavoriteStore1">Store current program or content as favorite 1. (VK_STORE_FAVORITE_1)</key>
+					<key name="FavoriteStore2">Store current program or content as favorite 2. (VK_STORE_FAVORITE_2)</key>
+					<key name="FavoriteStore3">Store current program or content as favorite 3. (VK_STORE_FAVORITE_3)</key>
+					<key name="Guide">Toggle display of program or content guide. (VK_GUIDE)</key>
+					<key name="GuideNextDay">If guide is active and displayed, then display next day's content. (VK_NEXT_DAY)</key>
+					<key name="GuidePrevDay">If guide is active and displayed, then display previous day's content. (VK_PREV_DAY)</key>
+					<key name="Info">Toggle display of information about currently selected context or media. (VK_INFO)</key>
+					<key name="InstantReplay">Toggle instant replay. (VK_INSTANT_REPLAY)</key>
+					<key name="Link">Launch linked content, if available and appropriate. (VK_LINK)</key>
+					<key name="ListProgram">List the current program. (VK_LIST)</key>
+					<key name="LiveContent">Toggle display listing of currently available live content or programs. (VK_LIVE)</key>
+					<key name="Lock">Lock or unlock current content or program. (VK_LOCK)</key>
+					<key name="MediaApps">Show a list of media applications. (VK_APPS)</key>
+					<key name="MediaFastForward">Initiate or continue forward playback at faster than normal speed, or increase speed if already fast forwarding. (VK_FAST_FWD)</key>
+					<key name="MediaLast">Select previously selected channel or media. (VK_LAST)</key>
+					<key name="MediaPlay">Initiate or continue media playback at normal speed, if not currently playing at normal speed. (VK_PLAY)</key>
+					<key name="MediaPlayPause">Toggle media between play and pause states. (VK_PLAY_PAUSE)</key>
+					<key name="MediaRecord">Initiate or resume recording of currently selected media. (VK_RECORD)</key>
+					<key name="MediaRewind">Initiate or continue reverse playback at faster than normal speed, or increase speed if already rewinding. (VK_REWIND)</key>
+					<key name="MediaSkip">Skip forward to next content or program. (VK_SKIP)</key>
+					<key name="MediaStop">Stop media playing, pausing, forwarding, rewinding, or recording, if not already stopped. (VK_STOP)</key>
+					<key name="MediaTrackNext">Seek to next media or program track. (VK_TRACK_NEXT)</key>
+					<key name="MediaTrackPrevious">Seek to previous media or program track. (VK_TRACK_PREV)</key>
+					<key name="Menu">Toggle display of the on-screen menu. (VK_MENU)</key>
+					<key name="NextFavoriteChannel">Cycle to next favorite channel (in favorites list). (VK_NEXT_FAVORITE_CHANNEL)</key>
+					<key name="OnDemand">Access on-demand content or programs. (VK_ON_DEMAND)</key>
+					<key name="PinPDown">Move picture-in-picture window down. (VK_PINP_DOWN)</key>
+					<key name="PinPMove">Move picture-in-picture window. (VK_PINP_MOVE)</key>
+					<key name="PinPToggle">Toggle display of picture-in-picture window. (VK_PINP_TOGGLE)</key>
+					<key name="PinPUp">Move picture-in-picture window up. (VK_PINP_UP)</key>
+					<key name="PlaySpeedDown">Decrease media playback speed. (VK_PLAY_SPEED_DOWN)</key>
+					<key name="PlaySpeedReset">Reset playback to normal speed. (VK_PLAY_SPEED_RESET)</key>
+					<key name="PlaySpeedUp">Increase media playback speed. (VK_PLAY_SPEED_UP)</key>
+					<key name="RandomToggle">Toggle random media or content shuffle mode. (VK_RANDOM_TOGGLE)</key>
+					<key name="RecordSpeedNext">Toggle or cycle between media recording speeds. (VK_RECORD_SPEED_NEXT)</key>
+					<key name="RfBypass">Toggle RF (radio frequency) input bypass mode (pass RF input directly to the RF output). (VK_RF_BYPASS)</key>
+					<key name="ScanChannelsToggle">Toggle scan channels mode. (VK_SCAN_CHANNELS_TOGGLE)</key>
+					<key name="ScreenModeNext">Advance display screen mode to next available mode. (VK_SCREEN_MODE_NEXT)</key>
+					<key name="Settings">Toggle display of device settings screen. (VK_SETTINGS)</key>
+					<key name="SplitScreenToggle">Toggle split screen mode. (VK_SPLIT_SCREEN_TOGGLE)</key>
+					<key name="Subtitle">Toggle display of subtitles, if available. (VK_SUBTITLE)</key>
+					<key name="Teletext">Toggle display of teletext, if available (VK_TELETEXT).</key>
+					<key name="VideoModeNext">Advance video mode to next available mode.(VK_VIDEO_MODE_NEXT)</key>
+					<key name="Wink">Cause device to identify itself in some manner, e.g., audibly or visibly.</key>
+					<key name="ZoomToggle">Toggle between full-screen and scaled content, or alter magnification level. (VK_ZOOM)</key>
+				</div>
+
+				<p>Some of the keys defined in the media controller standards already have appropriate keys defined in other sections of this specification.
+					These following table summarizes the key values that MUST be used:
+				</p>
+				
+				<div id="keys-media2" class="key-table">
+					<key name="BrowserBack">Navigate to previous content or page in current history. (VK_BACK)</key>
+					<key name="BrowserForward">Navigate to next content or page in current history. (VK_FORWARD)</key>
+					<key name="Eject">Toggle removable media to eject (open) and insert (close) state. (VK_EJECT_TOGGLE)</key>
+					<key name="End">The End key, used with keyboard entry to go to the end of content. (VK_GO_TO_END)</key>
+					<key name="Enter">The Enter key, to activate current selection or accept current input. (VK_SELECT)</key>
+					<key name="Home">The Home key, used with keyboard entry, to go to start of content. (VK_GO_TO_START)</key>
+					<key name="Pause">Pause the current state or application (as appropriate). (VK_PAUSE)</key>
+					<key name="Power">Toggle power state.</key>
+					<key name="Unidentified">This key value is used when an implementations is unable to identify another key value, due to either hardware, platform, or software constraints. (VK_UNDEFINED)</key>
+					<key name="VolumeDown">Decrease audio volume. (VK_VOLUME_DOWN)</key>
+					<key name="VolumeUp">Increase audio volume. (VK_VOLUME_UP)</key>
+					<key name="VolumeMute">Toggle between muted state and prior volume level. (VK_VOLUME_MUTE)</key>
+				</div>
+
+			</section><!-- keys-media -->
+
 		</section>
+
 	</section>
 
 	<!-- Appendix A: Initializing events ========================================================-->