--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/html/DOM3Events-key.html Wed Mar 05 17:38:03 2014 -0800
@@ -0,0 +1,547 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"
+ data-bug-product='WebAppsWG'
+ data-bug-component='DOM3 Events'
+ >
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Document Object Model (DOM) Level 3 key Attribute Specification</title>
+ <link rel="author" href="mailto:www-dom@w3.org" />
+ <link rel="help" href="http://www.w3.org/DOM/" />
+ <link rel="alternate stylesheet" type="text/css" media="screen" title="geek" href="geek.css" />
+ <link rel="stylesheet" type="text/css" href="spec-WD.css" />
+ <link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/w3c-tr.css" />
+ <link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-WD" />
+ <link rel="stylesheet" type="text/css" href="override.css" />
+ <script type="text/javascript" src='https://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script>
+ <script type="text/javascript" src='key-table-builder.js'></script>
+ <script type="text/javascript" src='fixup.js'></script>
+ <script src="bug-assist.js"></script>
+ <script type="text/javascript">
+ var respecConfig = {
+ specStatus: "ED",
+ shortName: "DOM-Level-3-Events",
+ editors: [
+ {
+ name: "Gary Kacmarcik",
+ company: "Google, Inc.",
+ url: "mailto:garykac@google.com?subject=%5BDOM3-event%5D%20Spec%20Feedback",
+ companyURL: "http://www.google.com",
+ note: "Jun 2013 - present",
+ },
+ {
+ name: "Travis Leithead",
+ company: "Microsoft Corp.",
+ url: "mailto:travis.leithead@microsoft.com?subject=%5BDOM3-event%5D%20Spec%20Feedback",
+ companyURL: "http://www.microsoft.com",
+ note: "Feb 2012 - present",
+ },
+ ],
+ //publishDate: "2013-11-05",
+ edDraftURI: "https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html",
+ previousPublishDate: "2013-11-05",
+ previousMaturity: "WD",
+ noIDLIn: true,
+ inlineCSS: true,
+ //noRecTrack: true,
+ wg: ["Web Applications Working Group"],
+ wgURI: ["http://www.w3.org/2008/webapps/"],
+ wgPublicList: "www-dom",
+ wgPatentURI: ["http://www.w3.org/2004/01/pp-impl/42538/status"],
+ maxTocLevel: 4
+ };
+ </script>
+</head>
+<body>
+ <!-- Section: Abstract ========================================================-->
+ <section id="abstract">
+ <p>This specification defines the Document Object Model Events Level 3, a generic platform- and language-neutral event system which allows registration of event handlers,
+ describes event flow through a tree structure, and provides basic contextual information for each event. The Document Object Model Events Level 3 builds on the
+ Document Object Model Events Level 2 [<a href="#references-DOM2Events">DOM2 Events</a>].</p>
+ </section> <!-- abstract -->
+
+ <!-- Section: SOTD ========================================================-->
+ <section id="sotd">
+ <p>This document is a Working Draft of the Document Object Model Level 3 Events (DOM3 Events) specification.
+ It is expected that this specification will progress to <abbr title="World Wide Web Consortium">W3C</abbr>
+ Recommendation status after review and refinement.
+ </p>
+
+ <p id="this-document-is-produced-by-the-web-app">
+ This document is produced by the <a href="http://www.w3.org/2008/webapps/">Web Applications WG</a>, part of the
+ <a href="http://www.w3.org/2006/rwc/Activity">Rich Web Clients Activity</a> in the W3C
+ <a href="http://www.w3.org/Interaction/">Interaction Domain</a>.
+ It is expected that this document will progress along the W3C's Recommendation track.
+ Publication as a Working Draft does not imply endorsement by the W3C Membership.
+ This is a draft document and MAY be updated, replaced or obsoleted by other documents at any time.
+ It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+ <p id="latest-editors-draft">
+ <strong>You can find the latest
+ <a href="https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html">Editor's Draft</a>
+ of this document in the
+ <a href="https://dvcs.w3.org/hg/">W3C's Mercurial repository</a>,
+ which is updated on a regular basis.</strong>
+ </p>
+
+ <p id="unstable">
+ <strong class="redNote">Implementers should be aware that this document is not stable.</strong>
+ Implementers who are not taking part in the discussions are likely to find the specification changing out from
+ under them in incompatible ways.
+ Vendors interested in implementing this document before it eventually reaches the Candidate Recommendation stage
+ should join the aforementioned mailing lists and take part in the discussions.
+ </p>
+ </section> <!-- sotd -->
+
+ <!-- Section 6: Keyboard and key values ========================================================-->
+
+ <section id="key-value-tables">
+ <h3>Keyboard Event <code>key</code> Value Tables</h3>
+
+ <p>This section defines a list of <code>key</code> 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-guidelines">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 <a href="#key-Unidentified"><code class="key">'Unidentified'</code></a>
+ as a 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 keys on the numeric keypad (e.g., the keypad <code>'1'</code> key) do not generate distinct <code>key</code> values
+ from their non-keypad counterparts (e.g., the <code>'1'</code> key in the main part of the keyboard).
+ The <a href="#widl-KeyboardEvent-location"><code>KeyboardEvent.location</code></a> attribute can be used to determine if a key originated from the numeric keypad.</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">'𣧂'</code>,
+ a Chinese character meaning <q>untidy</q>), rather than C-style fixed-length characters (<code class="char">"\U000239c2"</code> for <code class="glyph">'𣧂'</code>) or delimited escapes
+ such as Numeric Character References (<code>"&#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>
+
+ <p>Future versions of this specification MAY include key values not included here, which have become common since the publication of this specification.</p>
+
+ <section id="keys-special">
+ <h4>Special Key Values</h4>
+
+ <!-- Key tables. Note that all keys must be defined within a <div class="key-table"> -->
+ <div id="key-table-general" class="key-table">
+ <key name="Unidentified">This key value is used when an implementation is unable to identify another key value, due to either hardware, platform, or software constraints.</key>
+ </div>
+ </section><!-- keys-general -->
+
+ <section id="keys-modifier">
+ <h4>Modifier Keys</h4>
+ <div id="key-table-modifier" class="key-table">
+ <key name="Alt">The Alternative (Alt, Option, Menu) key. Enable alternate modifier function for interpreting concurrent or subsequent keyboard input.
+ This key value is also used for the Apple <code>'Option'</code> key.
+ </key>
+ <key name="AltGraph">The Alternate Graphics (AltGr or AltGraph) key.
+ This key is used enable the ISO Level 3 shift modifier (the standard <code>'Shift'</code> key is the level 2 modifier).
+ </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.
+ This key is often handled directly in the keyboard hardware and does not usually generate key events.
+ </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.
+ This key is often handled directly in the keyboard hardware and does not usually generate key events.
+ </key>
+ <key name="Hyper">The Hyper key.</key>
+ <key name="Meta">The Meta key, to enable meta modifier function for interpreting concurrent or subsequent keyboard input.
+ This key value is also used for the Apple <code>'Command'</code> key.
+ </key>
+ <key name="NumLock">The Number Lock key, to toggle numer-pad mode function for interpreting subsequent keyboard input.</key>
+ <key name="OS">The operating system key (e.g. the <q>Windows Logo</q> key).</key>
+ <key name="Shift">The Shift key, to enable shift modifier function for interpreting concurrent or subsequent keyboard input.</key>
+ <key name="Super">The Super key.</key>
+ <key name="Symbol">The Symbol modifier key (used on some virtual keyboards).</key>
+ <key name="SymbolLock">The Symbol Lock key.</key>
+ </div>
+ </section><!-- keys-modifier -->
+
+ <section id="keys-whitespace">
+ <h4>Whitespace Keys</h4>
+ <div id="key-table-whitespace" class="key-table">
+ <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="Separator">The Separator key, for context-sensitive text separators.</key>
+ <key name="Tab">The Horizontal Tabulation (Tab) key.</key>
+ </div>
+ <p class="note"><strong>Note:</strong> The space or spacebar key is encoded as <code class="glyph">' '</code>.
+ </p>
+ </section><!-- keys-whitespace -->
+
+ <section id="keys-navigation">
+ <h4>Navigation Keys</h4>
+ <div id="key-table-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="End">The End key, used with keyboard entry to go to the end of content.</key>
+ <key name="Home">The Home key, used with keyboard entry, to go to start 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>
+ </div>
+ </section><!-- keys-navigation -->
+
+ <section id="keys-editing">
+ <h4>Editing Keys</h4>
+ <div id="key-table-editing" class="key-table">
+ <key name="Backspace">The Backspace key.
+ This key value is also used for the key labeled <code>'delete'</code> on MacOS keyboards.
+ </key>
+ <key name="Clear">The Clear key, for removing current selected input.</key>
+ <key name="Copy">The Copy key.</key>
+ <key name="CrSel">The Cursor Select (Crsel) key.</key>
+ <key name="Cut">The Cut key.</key>
+ <key name="Delete">The Delete (Del) Key.
+ 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.
+ </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="ExSel">The Extend Selection (Exsel) key.</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="Redo">The Redo key.</key>
+ <key name="Undo">The Undo key.</key>
+ </div>
+ </section><!-- keys-editing -->
+
+ <section id="keys-ui">
+ <h4>UI Keys</h4>
+<p class="issue">
+Any objection to adding SELECT here?
+<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23751">23751</a>
+</p>
+ <div id="key-table-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="Attn">The Attention (Attn) key.</key>
+ <key name="Cancel">The Cancel key.</key>
+ <key name="ContextMenu">Show the application's context menu.
+ This key is commonly found between the right <code>'OS'</code> key and the right <code>'Control'</code> key.
+ </key>
+ <key name="Escape">The Escape (Esc) key, to initiate an escape sequence.</key>
+ <key name="Execute">The Execute key.</key>
+ <key name="Find">The Find key.</key>
+ <key name="Help">Toggle display of help information.</key>
+ <key name="Pause">Pause the current state or application (as appropriate).
+ <p class="note"><strong>Note:</strong> Do not use this value for the pause button on media controllers. Use <code>'MediaPause'</code> instead.</p>
+ </key>
+ <key name="Play">Play or resume the current state or application (as appropriate).
+ <p class="note"><strong>Note:</strong> Do not use this value for the play button on media controllers. Use <code>'MediaPlay'</code> instead.</p>
+ </key>
+ <key name="Props">The properties (Props) key.</key>
+ <key name="ScrollLock">The Scroll Lock key, to toggle between scrolling and cursor movement modes.</key>
+ <key name="ZoomIn">The ZoomIn key.</key>
+ <key name="ZoomOut">The ZoomOut key.</key>
+ </div>
+ </section><!-- keys-ui -->
+
+ <section id="keys-device">
+ <h4>Device Keys</h4>
+ <div id="key-table-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="LogOff">The LogOff key.</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="PowerOff">The PowerOff key. Sometime called "PowerDown".</key>
+ <key name="PrintScreen">The Print Screen (PrintScrn, SnapShot) key, to initiate print-screen function.</key>
+ <key name="Hibernate">The Hibernate key.
+ This key saves the current state of the computer to disk so that it can be restored. The computer will then shutdown.
+ </key>
+ <key name="Standby">The Standby key.
+ This key turns off the display and places the computer into a low-power mode without completely shutting down.
+ It is sometimes called the "Suspend" or "Sleep" key.
+ </key>
+ <key name="WakeUp">The WakeUp key.</key>
+ </div>
+ </section><!-- keys-device -->
+
+ <section id="keys-composition">
+ <h4>IME and Composition Keys</h4>
+ <div id="key-table-composition" class="key-table">
+ <key name="AllCandidates">The All Candidates key, to initate the multi-candidate mode.</key>
+ <key name="Alphanumeric">The Alphanumeric 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="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>
+ <key name="Convert">The Convert key, to convert the current input method sequence.</key>
+ <key name="FinalMode">The Final Mode (Final) key used on some Asian keyboards, to enable the final mode for IMEs.</key>
+ <key name="GroupFirst">Switch to the first character group. (ISO/IEC 9995)</key>
+ <key name="GroupLast">Switch to the last character group. (ISO/IEC 9995)</key>
+ <key name="GroupNext">Switch to the next character group. (ISO/IEC 9995)</key>
+ <key name="GroupPrevious">Switch to the previous character group. (ISO/IEC 9995)</key>
+ <key name="ModeChange">The Mode Change key, to toggle between or cycle through input modes of IMEs.</key>
+ <key name="NextCandidate">The Next Candidate function key.</key>
+ <key name="NonConvert">The Nonconvert (Don't Convert) key, to accept current input method sequence without conversion in IMEs.</key>
+ <key name="PreviousCandidate">The Previous Candidate function key.</key>
+ <key name="Process">The Process key.</key>
+ <key name="SingleCandidate">The Single Candidate function key.</key>
+ </div>
+
+ <p>Keys specific to Korean keyboards</p>
+ <div id="key-table-ime-korean" class="key-table">
+ <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>
+ </div>
+
+ <p>Keys specific to Japanese keyboards</p>
+ <div id="key-table-ime-japanese" class="key-table">
+ <key name="Zenkaku">The Zenkaku (Full-Width) Characters key.</key>
+ <key name="Hankaku">The (Half-Width) Characters key.</key>
+ <key name="ZenkakuHankaku">The Zenkaku/Hankaku (full-width/half-width) toggle 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>
+ <key name="Eisu">The Eisu key. This key may close the IME, but it's purpose is defined by the current IME.</key>
+ </div>
+ </section><!-- keys-composition -->
+
+ <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>
+ and <span class="key">'Soft8'</span> are all valid key values.
+ </p>
+ <div id="key-table-function" 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="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><!-- keys-function -->
+
+ <section id="keys-multimedia">
+ <h4>Multimedia Keys</h4>
+ <p>These are extra keys found on "multimedia" keyboards.</p>
+
+ <div id="key-table-multimedia" class="key-table">
+ <key name="Close">Close the current document or message.</key>
+ <key name="MailForward">Open an editor to forward the current message.</key>
+ <key name="MailReply">Open an editor to reply to the current message.</key>
+ <key name="MailSend">Send the current message.</key>
+ <key name="MediaPlayPause">Toggle media between play and pause states.</key>
+ <key name="MediaSelect">Select media.</key>
+ <key name="MediaStop">Stop media playing, pausing, forwarding, rewinding, or recording, if not already stopped.</key>
+ <key name="MediaTrackNext">Seek to next media or program track.</key>
+ <key name="MediaTrackPrevious">Seek to previous media or program track.</key>
+ <key name="New">Open a new document or message.</key>
+ <key name="Open">Open an existing document or message.</key>
+ <key name="Print">Print the current document or message.</key>
+ <key name="Save">Save the current document or message.</key>
+ <key name="SpellCheck">Spellcheck the current document or selection.</key>
+ <key name="VolumeDown">Decrease audio volume.</key>
+ <key name="VolumeUp">Increase audio volume.</key>
+ <key name="VolumeMute">Toggle between muted state and prior volume level.</key>
+ </div>
+ </section><!-- keys-multimedia -->
+
+ <section id="keys-apps">
+ <h4>Application Keys</h4>
+ <p>The Application Keys are special keys that are assigned to launch a particular application.
+ Additional application key names can be defined by concatenating 'Launch' with the name
+ of the application.
+ </p>
+ <!-- Key tables. Note that all keys must be defined within a <div class="key-table"> -->
+ <div id="key-table-apps" class="key-table">
+ <key name="LaunchCalculator">The 'Calculator' key. This is often the generic 'LaunchApplication' key, as index 2.</key>
+ <key name="LaunchCalendar">The 'Calendar' key.</key>
+ <key name="LaunchMail">The 'Mail' key.</key>
+ <key name="LaunchMediaPlayer">The 'Media Player' key.</key>
+ <key name="LaunchMusicPlayer">The 'Music Player' key.</key>
+ <key name="LaunchMyComputer">The 'My Computer' key. This is often the generic 'LaunchApplication' key, as index 1.</key>
+ <key name="LaunchScreenSaver">The 'Screen Saver' key.</key>
+ <key name="LaunchSpreadsheet">The 'Spreadsheet' key.</key>
+ <key name="LaunchWebBrowser">The 'Web Browser' key.</key>
+ <key name="LaunchWebCam">The 'WebCam' key.</key>
+ <key name="LaunchWordProcessor">The 'Word Processor' key.</key>
+ <!--key name="List">Toggle display listing of currently available content or programs.</key-->
+ </div>
+ </section><!-- keys-apps -->
+
+ <section id="keys-browser">
+ <h4>Browser Keys</h4>
+ <div id="key-table-browser" class="key-table">
+ <key name="BrowserBack">Navigate to previous content or page in current history.</key>
+ <key name="BrowserFavorites">The Browser Favorites key.</key>
+ <key name="BrowserForward">Navigate to next content or page in current history.</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>
+ </div>
+ </section><!-- keys-browser -->
+
+ <section id="keys-media-controller">
+ <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="key-table-media-controller" 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="ClosedCaptionToggle">Toggle the display of Closed Captions. (VK_CC)</key>
+ <key name="Dimmer">Adjust brightness of device, by toggling between or cycling through states. (VK_DIMMER)</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="GuidePreviousDay">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)
+ <p class="note"><strong>Note:</strong> Do not confuse this key value with the Windows' VK_APPS / VK_CONTEXT_MENU key, which is encoded as <code>'ContextMenu'</code>.</p>
+ </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="MediaPause">Pause the currently playing media. (VK_PAUSE)
+ <p class="note"><strong>Note:</strong> Media controller devices should use this value rather than <code>'Pause'</code> for their pause keys.</p>
+ </key>
+ <key name="MediaPlay">Initiate or continue media playback at normal speed, if not currently playing at normal speed. (VK_PLAY)</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="NextFavoriteChannel">Cycle to next favorite channel (in favorites list). (VK_NEXT_FAVORITE_CHANNEL)</key>
+ <key name="NextUserProfile">Cycle to next user profile (if there are multiple user profiles). (VK_USER)</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="RcLowBattery">Not a physical key, but this key code is sent when the remote control battery is low. (VK_RC_LOW_BATTERY)</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. (VK_WINK)</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="key-table-media-controller-dup" class="key-table">
+ <key name="BrowserBack" noid>Navigate to previous content or page in current history. (VK_BACK)</key>
+ <key name="BrowserForward" noid>Navigate to next content or page in current history. (VK_FORWARD)</key>
+ <key name="ContextMenu" noid>Toggle display of the on-screen menu. (VK_MENU)</key>
+ <key name="Eject" noid>Toggle removable media to eject (open) and insert (close) state. (VK_EJECT_TOGGLE)</key>
+ <key name="End" noid>The End key, used with keyboard entry to go to the end of content. (VK_GO_TO_END)</key>
+ <key name="Enter" noid>The Enter key, to activate current selection or accept current input. (VK_SELECT)</key>
+ <key name="Home" noid>The Home key, used with keyboard entry, to go to start of content. (VK_GO_TO_START)</key>
+ <key name="MediaPlayPause" noid>Toggle media between play and pause states. (VK_PLAY_PAUSE)</key>
+ <key name="MediaStop" noid>Stop media playing, pausing, forwarding, rewinding, or recording, if not already stopped. (VK_STOP)</key>
+ <key name="MediaTrackNext" noid>Seek to next media or program track. (VK_TRACK_NEXT)</key>
+ <key name="MediaTrackPrevious" noid>Seek to previous media or program track. (VK_TRACK_PREV)</key>
+ <key name="Power" noid>Toggle power state. (VK_POWER)</key>
+ <key name="Unidentified" noid>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" noid>Decrease audio volume. (VK_VOLUME_DOWN)</key>
+ <key name="VolumeUp" noid>Increase audio volume. (VK_VOLUME_UP)</key>
+ <key name="VolumeMute" noid>Toggle between muted state and prior volume level. (VK_VOLUME_MUTE)</key>
+ </div>
+
+ </section><!-- keys-media-controller -->
+
+ </section> <!-- key-value-tables -->
+
+ </body>
+</html>