Add FPWD (12 Jun 2014) for D3E code spec.
authorGary Kacmarcik <garykac@google.com>
Mon, 09 Jun 2014 17:56:50 -0700
changeset 659 197d78634db0
parent 658 20ce48b92387
child 660 5d09adf3a2fd
Add FPWD (12 Jun 2014) for D3E code spec.
html/WD-D3E-code-20140612.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/html/WD-D3E-code-20140612.html	Mon Jun 09 17:56:50 2014 -0700
@@ -0,0 +1,1392 @@
+<!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">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>DOM Level 3 KeyboardEvent code Values</title>
+	<style type="text/css">/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #2b2; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 1em 1.2em 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><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="key-table-builder.js"></script>
+	<script src="bug-assist.js" type="text/javascript"></script>
+	<script type="text/javascript">
+	var respecConfig = {
+		specStatus: "FPWD",
+		shortName:  "DOM-Level-3-Events-code",
+		editors: [
+			{
+				name: "Gary Kacmarcik", 
+				company: "Google, Inc.",
+				url: "mailto:garykac@google.com?subject=%5BD3E-code%5D%20Spec%20Feedback",
+				companyURL: "http://www.google.com",
+			},
+			{
+				name: "Travis Leithead", 
+				company: "Microsoft Corp.",
+				url: "mailto:travis.leithead@microsoft.com?subject=%5BD3E-code%5D%20Spec%20Feedback",
+				companyURL: "http://www.microsoft.com",
+			},
+		],
+		publishDate:  "2014-06-12",
+		edDraftURI: "https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3Events-code.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>
+<style type="text/css">/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+
+@media print {
+    .removeOnSave {
+        display: none;
+    }
+}
+</style><link type='text/css' rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-WD" />
+<!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]-->
+</head>
+<body class="h-entry" id="respecDocument"><div class="head" id="respecHeader">
+  <p>
+    
+      <a href="http://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C" /></a>
+    
+  </p>
+  <h1 class="title p-name" id="title">DOM Level 3 KeyboardEvent code Values</h1>
+  
+  <h2 id="w3c-first-public-working-draft-12-june-2014"><abbr title="World Wide Web Consortium">W3C</abbr> First Public Working Draft <span class="dt-published time">12 June 2014</span></h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a class="u-url" href="http://www.w3.org/TR/2014/WD-DOM-Level-3-Events-code-20140612/">http://www.w3.org/TR/2014/WD-DOM-Level-3-Events-code-20140612/</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/DOM-Level-3-Events-code/">http://www.w3.org/TR/DOM-Level-3-Events-code/</a></dd>
+    
+    
+      <dt>Latest editor's draft:</dt>
+      <dd><a href="https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3Events-code.html">https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3Events-code.html</a></dd>
+    
+    
+    
+    
+    
+    
+    
+    <dt>Editors:</dt>
+    <dd class="p-author h-card vcard"><span><a class="u-url url p-name fn" rel="foaf:homepage" href="mailto:garykac@google.com?subject=%5BD3E-code%5D%20Spec%20Feedback">Gary Kacmarcik</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.google.com">Google, Inc.</a></span>
+</dd>
+<dd class="p-author h-card vcard"><span><a class="u-url url p-name fn" rel="foaf:homepage" href="mailto:travis.leithead@microsoft.com?subject=%5BD3E-code%5D%20Spec%20Feedback">Travis Leithead</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.microsoft.com">Microsoft Corp.</a></span>
+</dd>
+
+    
+    
+  </dl>
+  
+  
+  
+  
+    
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+        2014
+        
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), 
+        
+        All Rights Reserved.
+        
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        
+          <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
+        
+        rules apply.
+      </p>
+    
+  
+  <hr />
+</div>
+	
+<!-- Section: Abstract ========================================================-->
+
+	<div id="abstract" class="introductory section"><h2 id="h2_abstract">Abstract</h2>
+		<p>This specification defines the values for the 
+			<code>KeyboardEvent.code</code> attribute, which is defined as part of the
+			Document Object Model (DOM) Level 3 Events Specification [<a href="#references-D3E">DOM3 Events</a>].
+			The <code>code</code> value contains information about the key event that
+			can use used identify the physical key being pressed by the user.
+			</p>
+	</div><div id="sotd" class="introductory section"><h2 id="h2_sotd">Status of This Document</h2>
+  
+    
+      
+        <p>
+          <em>This section describes the status of this document at the time of its publication.
+          Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the
+          latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at
+          http://www.w3.org/TR/.</em>
+        </p>
+        
+		<p>This document is a Working Draft of the
+			<em>DOM Level 3 KeyboardEvent <code>code</code> Values</em>
+			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 <abbr title="World Wide Web Consortium">W3C</abbr>
+				<a href="http://www.w3.org/Interaction/">Interaction Domain</a>.
+			It is expected that this document will progress along the <abbr title="World Wide Web Consortium">W3C</abbr>'s Recommendation track.
+			Publication as a Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+			This is a draft document and <em class="rfc2119" title="MAY">MAY</em> 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/DOM3Events-code.html">Editor's Draft</a>
+			of this document in the
+				<a href="https://dvcs.w3.org/hg/"><abbr title="World Wide Web Consortium">W3C</abbr>'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>
+	
+        <p>
+          This document was published by the <a href="http://www.w3.org/2008/webapps/">Web Applications Working Group</a> as a First Public Working Draft.
+          
+            This document is intended to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+          
+          
+            If you wish to make comments regarding this document, please send them to 
+            <a href="mailto:www-dom@w3.org">www-dom@w3.org</a> 
+            (<a href="mailto:www-dom-request@w3.org?subject=subscribe">subscribe</a>,
+            <a href="http://lists.w3.org/Archives/Public/www-dom/">archives</a>).
+          
+          
+          
+          
+            All comments are welcome.
+          
+        </p>
+        
+        
+          <p>
+            Publication as a First Public Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr>
+            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>
+          
+            This document was produced by a group operating under the 
+            <a id="sotd_patent" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent
+            Policy</a>.
+          
+          
+          
+            
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/42538/status" rel="disclosure">public list of any patent
+              disclosures</a> 
+            
+            made in connection with the deliverables of the group; that page also includes
+            instructions for disclosing a patent. An individual who has actual knowledge of a patent
+            which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
+            Claim(s)</a> must disclose the information in accordance with
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+        </p>
+        
+      
+    
+  
+</div><div id="toc" class="section"><h2 class="introductory" id="h2_toc">Table of Contents</h2><ul class="toc" id="respecContents"><li class="tocline"><a href="#keyboard-layout" class="tocxref"><span class="secno">1. </span>Keyboard Layout</a><ul class="toc"><li class="tocline"><a href="#keyboard-common-layouts" class="tocxref"><span class="secno">1.1 </span>Standard Keyboard Layouts</a><ul class="toc"><li class="tocline"><a href="#keyboard-sections" class="tocxref"><span class="secno">1.1.1 </span>Keyboard Sections</a></li><li class="tocline"><a href="#keyboard-101" class="tocxref"><span class="secno">1.1.2 </span>Standard &quot;101&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-101alt" class="tocxref"><span class="secno">1.1.3 </span>Alternate &quot;101&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-102" class="tocxref"><span class="secno">1.1.4 </span>Standard &quot;102&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-103" class="tocxref"><span class="secno">1.1.5 </span>Korean &quot;103&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-104" class="tocxref"><span class="secno">1.1.6 </span>Brazilian &quot;104&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-106" class="tocxref"><span class="secno">1.1.7 </span>Japanese &quot;106&quot; Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-mac" class="tocxref"><span class="secno">1.1.8 </span>Apple Keyboard Layout</a></li><li class="tocline"><a href="#keyboard-laptops" class="tocxref"><span class="secno">1.1.9 </span>Laptop Keyboard Layouts</a></li></ul></li><li class="tocline"><a href="#keyboard-mobile" class="tocxref"><span class="secno">1.2 </span>Mobile Keypads</a></li><li class="tocline"><a href="#remote-control" class="tocxref"><span class="secno">1.3 </span>Media Remote Controls</a></li><li class="tocline"><a href="#keyboard-chording-virtual" class="tocxref"><span class="secno">1.4 </span>Virtual Keyboards and Chording Keyboards</a></li></ul></li><li class="tocline"><a href="#code-value-tables" class="tocxref"><span class="secno">2. </span>Keyboard Event <code>code</code> Value Tables</a><ul class="toc"><li class="tocline"><a href="#keyboard-key-codes" class="tocxref"><span class="secno">2.1 </span>Key Codes for Standard Keyboards</a><ul class="toc"><li class="tocline"><a href="#key-alphanumeric-section" class="tocxref"><span class="secno">2.1.1 </span>Alphanumeric Section</a><ul class="toc"><li class="tocline"><a href="#key-alphanumeric-writing-system" class="tocxref"><span class="secno">2.1.1.1 </span>Writing System Keys</a></li><li class="tocline"><a href="#key-alphanumeric-functional" class="tocxref"><span class="secno">2.1.1.2 </span>Functional Keys</a></li></ul></li><li class="tocline"><a href="#key-controlpad-section" class="tocxref"><span class="secno">2.1.2 </span>Control Pad Section</a></li><li class="tocline"><a href="#key-arrowpad-section" class="tocxref"><span class="secno">2.1.3 </span>Arrow Pad Section</a></li><li class="tocline"><a href="#key-numpad-section" class="tocxref"><span class="secno">2.1.4 </span>Numpad Section</a></li><li class="tocline"><a href="#key-function-section" class="tocxref"><span class="secno">2.1.5 </span>Function Section</a></li><li class="tocline"><a href="#key-media" class="tocxref"><span class="secno">2.1.6 </span>Media Keys</a></li><li class="tocline"><a href="#key-legacy" class="tocxref"><span class="secno">2.1.7 </span>Legacy Keys and Non-Standard Keys</a></li></ul></li></ul></li><li class="tocline"><a href="#acknowledgements-contributors" class="tocxref"><span class="secno">3. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">4. </span>References</a><ul class="toc"><li class="tocline"><a href="#references-References-Normative" class="tocxref"><span class="secno">4.1 </span>Normative References</a></li></ul></li></ul></div>  
+<!-- abstract -->
+
+
+	
+<!-- Section: SOTD ========================================================-->
+
+	  
+<!-- sotd -->
+
+
+	
+<!-- Section 6: Keyboard and key values ========================================================-->
+
+
+	<div id="keyboard-layout" class="section">
+		
+<!--OddPage-->
+<h2 id="h2_keyboard-layout"><span class="secno">1. </span>Keyboard Layout</h2>
+		<p><em>This section is informative</em></p>
+
+		<p>Alphanumeric keyboards are the most common way for users to generate keyboard events.
+			This section provides an overview of standard keyboards and their physical layouts.
+			</p>
+
+		<div id="keyboard-common-layouts" class="section">
+			<h3 id="h3_keyboard-common-layouts"><span class="secno">1.1 </span>Standard Keyboard Layouts</h3>
+
+			<p>This section describes the physical layouts found on commonly available keyboards.
+				</p>
+
+			<div id="keyboard-sections" class="section">
+				<h4 id="h4_keyboard-sections"><span class="secno">1.1.1 </span>Keyboard Sections</h4>
+			
+				<p>When discussing keyboard layouts, it is convenient to divide the standard keyboard into distinct sections
+					and to label each row.
+					</p>
+
+				<div id="figure-keyboard-sections" class="figure">
+					<img src="images/keyboard-sections.svg" width="684" height="225" alt="The five general sections of a standard keyboard" />
+					<div class="figcaption">Fig. <span class="figno">1</span> <span class="fig-title">The five general sections of a standard keyboard</span></div>
+				</div>
+
+				<p>These keyboard sections are:
+					</p>
+
+				<ul>
+					<li>The <em>Alphanumeric</em> section is the main part of the keyboard and is where most of the keyboard variation occurs.
+						When a user selects a keyboard layout, it is the keys in this sections that are most affected.
+						</li>
+					<li>The <em>Control Pad</em> and <em>Arrow Pad</em> sections contain the arrow keys and other editing keys.
+						</li>
+					<li>The <em>Numpad</em> (also known as the &quot;numeric keypad&quot; or &quot;number pad&quot;) contains number and math keys to make it 
+						easier to enter numeric data.
+						</li>
+					<li>And finally, the <em>Function</em> section contains miscellaneous function keys and special keys like Escape.
+						</li>
+				</ul>
+			
+				<p>To make it easier to identify keys, the rows on the keyboard are named starting with &quot;A&quot;
+					for the bottom row up to &quot;E&quot; for the top row. The row of keys in the Function section are considered
+					to be in row &quot;K&quot;.
+					These row names are consistent with those given in the ISO/IEC 9995-1 specification.
+					</p>
+				<p>Note that many keyboards (both modern and legacy) have extra keys that do not fit neatly into the above sections.
+					Some of these keys are covered in the <a href="#key-media">Media Keys</a> section.
+					Keys not covered in this document should be handled in the same manner as described in the
+					<a href="#other-devices">Other Devices</a> section.
+					</p>
+			</div>
+<!-- keyboard-sections -->
+
+
+			<div id="keyboard-101"  class="section">
+				<h4 id="h4_keyboard-101"><span class="secno">1.1.2 </span>Standard &quot;101&quot; Keyboard Layout</h4>
+				<p>The standard &quot;101&quot; keyboard (commonly referred to as the &quot;US layout&quot;) is the only layout that uses the <code class="code">'Backslash'</code> code.
+				   All the other layouts omit this key and expand the <code class="code">'Enter'</code> key to occupy
+				   two-rows.
+				</p>
+
+				<div id="figure-keyboard-101-us" class="figure">
+					<img src="images/keyboard-101-us.svg" width="684" height="225" alt="Standard '101' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">2</span> <span class="fig-title">Standard '101' keyboard layout showing unmodified US key values</span></div>
+				</div>
+
+				<p>Modern standard &quot;101&quot;-layout keyboards actually contain 104 keys: 61 keys in the alphanumeric section
+				   and 43 keys in the numpad, control pad, arrow pad and function sections.
+				   The &quot;101&quot; name for this keyboard layout dates to the time when this standard keyboard did in fact contain
+				   101 keys. The two <code class="glyph">'OS'</code> keys,
+				   and the <code class="glyph">'Menu'</code> key were
+				   added later to bring the total to 104 keys.
+				</p>
+			</div>
+
+			<div id="keyboard-101alt"  class="section">
+				<h4 id="h4_keyboard-101alt"><span class="secno">1.1.3 </span>Alternate &quot;101&quot; Keyboard Layout</h4>
+				<p>The alternate &quot;101&quot; keyboard removes the <code class="code">'Backslash'</code> key to create a
+				   large <code class="code">'Enter'</code> key and shrinks the <code class="code">'Backspace'</code>
+				   key to make room for the <code class="code">'IntlYen'</code> key (The <code class="code">'IntlYen'</code> name comes from the
+				   Japanese layout — in the Russian layout shown above this key maps to a <code class="glyph">'\'</code>.
+				</p>
+
+				<div id="figure-keyboard-101-russian" class="figure">
+					<img src="images/keyboard-101-russian.svg" width="684" height="225" alt="Alternate '101' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">3</span> <span class="fig-title">Alternate '101' keyboard layout showing unmodified Russian key values</span></div>
+				</div>
+
+				<p>Modern alternate &quot;101&quot;-layout keyboards contain 104 keys: 61 keys in the alphanumeric section and 43 keys in the numpad,
+				   control pad, arrow pad and function sections.
+				</p>
+			</div>
+
+			<div id="keyboard-102"  class="section">
+				<h4 id="h4_keyboard-102"><span class="secno">1.1.4 </span>Standard &quot;102&quot; Keyboard Layout</h4>
+				<p>The standard &quot;102&quot; keyboard is common throughout Europe and adds two keys that don't exist on the
+				   &quot;101&quot; layouts:
+				   The <code class="code">'IntlBackslash'</code> key next to the left shift key,
+				   and the <code class="code">'IntlHash'</code> key which is partially tucked under the
+				   <code class="code">'Enter'</code> key.
+				</p>
+
+				<div id="figure-keyboard-102-uk" class="figure">
+					<img src="images/keyboard-102-uk.svg" width="684" height="225" alt="Standard '102' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">4</span> <span class="fig-title">Standard '102' keyboard layout showing unmodified French key values</span></div>
+				</div>
+
+				<p>Modern &quot;102&quot;-layout keyboards contain 105 keys: 62 keys in the alphanumeric section and 43 keys in the numpad,
+				   control pad, arrow pad and function sections.
+				</p>
+			</div>
+
+			<div id="keyboard-103"  class="section">
+				<h4 id="h4_keyboard-103"><span class="secno">1.1.5 </span>Korean &quot;103&quot; Keyboard Layout</h4>
+				<p>The Korean &quot;103&quot; keyboard is based on the alternate 101 layout and adds two additional keys
+				   (one on each side of the spacebar) to handle Korean-specific input modes.
+				   These keys are
+				   <code class="code">'Hanja'</code> (labelled <code class="keycap">한자</code> <span class="phonetic">hanja</span>) and
+				   <code class="code">'HangulMode'</code> (labelled <code class="keycap">한/영</code> <span class="phonetic">han/yeong</span>).
+				</p>
+
+				<div id="figure-keyboard-103-korean" class="figure">
+					<img src="images/keyboard-103-korean.svg" width="684" height="225" alt="Korean '103' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">5</span> <span class="fig-title">Korean '103' keyboard layout showing unmodified Korean key values</span></div>
+				</div>
+
+				<p>Modern &quot;103&quot;-layout keyboards contain 106 keys: 63 keys in the alphanumeric section and 43 keys in the numpad,
+				   control pad, arrow pad and function sections.
+				</p>
+			</div>
+
+			<div id="keyboard-104"  class="section">
+				<h4 id="h4_keyboard-104"><span class="secno">1.1.6 </span>Brazilian &quot;104&quot; Keyboard Layout</h4>
+				<p>The &quot;104&quot; layout used in Brazil adds 4 new keys: the two non-US keys from the &quot;102&quot; layout
+				   (<code class="code">'IntlHash'</code> and <code class="code">'IntlBackslash'</code>)
+				   plus the <code class="code">'IntlRo'</code> key (next to the right shift
+				   key) and an extra key on the numeric keypad. This new keypad key is called 
+				   <code class="code">'KeypadComma'</code> because it represents the thousands separator. On the
+				   Brazilian key layout, this key has a keycap of <code class="keycap">.</code> and the <code class="code">'KeypadPeriod'</code>
+				   key has a keycap of <code class="keycap">,</code>.
+				</p>
+
+				<div id="figure-keyboard-104-brazilian" class="figure">
+					<img src="images/keyboard-104-brazilian.svg" width="684" height="225" alt="Standard '104' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">6</span> <span class="fig-title">Standard '104' keyboard layout showing unmodified Brazilian key values</span></div>
+				</div>
+
+				<p>Modern &quot;104&quot;-layout keyboards contain 107 keys: 63 keys in the alphanumeric section and 44 keys in the numpad,
+				   control pad, arrow pad and function sections. Some Brazilian keyboards lack the extra keypad
+				   key and have only 106 keys.
+				</p>
+			</div>
+
+			<div id="keyboard-106"  class="section">
+				<h4 id="h4_keyboard-106"><span class="secno">1.1.7 </span>Japanese &quot;106&quot; Keyboard Layout</h4>
+				<p>The Japanese &quot;106&quot; keyboard layout adds 3 new keys:
+				   <code class="code">'IntlYen'</code>, 
+				   <code class="code">'IntlHash'</code> and
+				   <code class="code">'IntlRo'</code>.
+				   It also shrinks the <code class="code">'Space'</code> key to make room for 3 input mode keys:
+				   <code class="code">'NonConvert'</code> (labelled <code class="keycap">無変換</code> <span class="phonetic">muhenkan</span>),
+				   <code class="code">'Convert'</code> (labelled <code class="keycap">変換</code> <span class="phonetic">henkan</span>),
+				   <code class="code">'KanaMode'</code> (labelled <code class="keycap">カタカナ/ひらがな/ローマ字</code> <span class="phonetic">katakana/hiragana/romaji</span>).
+				</p>
+
+				<div id="figure-keyboard-106-japanese" class="figure">
+					<img src="images/keyboard-106-japanese.svg" width="684" height="225" alt="Standard '106' keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">7</span> <span class="fig-title">Standard '106' keyboard layout showing unmodified Japanese key values</span></div>
+				</div>
+
+				<p>Modern &quot;106&quot;-layout keyboards contain 109 keys: 66 keys in the alphanumeric section and 43 keys in the numpad,
+				   control pad, arrow pad and function sections.
+				</p>
+			</div>
+
+			<div id="keyboard-mac"  class="section">
+				<h4 id="h4_keyboard-mac"><span class="secno">1.1.8 </span>Apple Keyboard Layout</h4>
+				<p>In general, Apple keyboards follow the same layout as PC keyboards, but there are some differences as
+				   noted in the following figure.
+				</p>
+
+				<div id="figure-keyboard-mac" class="figure">
+					<img src="images/keyboard-mac.svg" width="684" height="225" alt="Apple extended keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">8</span> <span class="fig-title">Apple extended keyboard layout showing unmodified English key values</span></div>
+				</div>
+
+				<p>In this figure, the green keys are those
+				   that have been moved to a new location while the blue keys indicate keys that have been added.
+				</p>
+			</div>
+
+			<div id="keyboard-laptops"  class="section">
+				<h4 id="h4_keyboard-laptops"><span class="secno">1.1.9 </span>Laptop Keyboard Layouts</h4>
+
+				<p>The limited space available on laptop keyboards often means that the physical key layout needs
+					to be adjusted to fit all the required keys. The writing system keys in the Alphanumeric section tend
+					to remain intact, but the other keyboard sections are usually combined with other keys or
+					removed altogether.
+					</p>
+
+				<div id="figure-keyboard-laptop-mac" class="figure">
+					<img src="images/keyboard-laptop-mac.svg" width="420" height="180" alt="Apple laptop keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">9</span> <span class="fig-title">Apple laptop keyboard layout</span></div>
+				</div>
+
+				<p>In this Apple laptop keyboard, the right control key has been removed to make room for half-height
+					arrow keys and a <code class="code">'Fn'</code> key is added on the left.
+					</p>
+
+				<div id="figure-keyboard-laptop" class="figure">
+					<img src="images/keyboard-laptop.svg" width="460" height="180" alt="Sample PC laptop keyboard layout" />
+					<div class="figcaption">Fig. <span class="figno">10</span> <span class="fig-title">Sample PC laptop keyboard layout</span></div>
+				</div>
+
+				<p>PC laptop keyboards vary considerably, but this sample keyboard demonstrates some commonly found aspects.
+					The control pad keys are added along the right-hand side with the arrow keys tucked in along the bottom.
+					The right shift key is often shrunk to make room for the up arrow key and the right OS key
+					is typically removed altogether.
+					</p>
+			</div>  
+<!-- keyboard-laptops -->
+
+
+		</div>
+<!-- keyboard-common-layouts -->
+
+
+		<div id="keyboard-mobile"  class="section">
+			<h3 id="h3_keyboard-mobile"><span class="secno">1.2 </span>Mobile Keypads</h3>
+
+			<p>In the case where a content author wishes to rely on the mechanical layout of a mobile keypad, this specification suggests the keyboard configuration specified
+				in ISO/IEC 9995-8:2006 [<cite><a class="informative" href="#references-ISO-9995-8">ISO-9995-8</a></cite>], which defines a numeric keypad layout and secondary assignment
+				of Unicode characters in the range <code class="char">'\u0061'</code>..<code class="char">'\u007A'</code> to the number keys <code>2</code> through <code>9</code>, as a common layout appropriate to some
+				international uses.</p>
+
+			<div class="note"><div class="note-title" id="h_note_1"><span>Note</span></div><p class=""><strong>Note:</strong> This keypad layout, and in particular the distribution of letters is for English devices, and will not match the keypads
+				or configurations of many users.  Content authors cannot rely upon any particular configuration, and are expected to create content in an internationalized and
+				localizable manner.</p></div>
+
+			<div id="figure-numeric-keypad" class="figure">
+				<img src="images/ISOIEC-9995-8-2006.svg" width="180" height="240" alt="ISO/IEC 9995-8:2006 keypad layout" />
+				<div class="figcaption">Fig. <span class="figno">11</span> <span class="fig-title">A graphical depiction of an ISO standard defining layouts of numeric keypads, with distribution of letters on the keys, ISO/IEC 9995-8:2006.</span></div>
+			</div>
+		</div>  
+<!-- keyboard-mobile -->
+
+
+		<div id="remote-control"  class="section">
+			<h3 id="h3_remote-control"><span class="secno">1.3 </span>Media Remote Controls</h3>
+
+			<p>Many keyboards contain special keys to control media functions.  Increasingly, many media devices, especially televisions, are Web-enabled.  Hybrid keyboard/remote-control
+				devices are becoming more common.  To meet the needs of these hybrid Web/media devices, this specification defines keys that are common as remote control buttons,
+				in addition to traditional keyboard keys.</p>
+
+			<p>Because of the smaller form factor, keys (or buttons) on a remote control will often be modal,
+				with one key performing different functions based on the context of the on-screen content.
+				Additionally, many keys serve as toggles, to change back and forth between two or more states
+				(see toggling keys).
+				These remote control buttons typically do not have modifier states so each button is assigned a
+				single function (like &quot;Play&quot;, &quot;Pause&quot;, &quot;Up&quot;, &quot;Menu&quot; or &quot;Exit&quot;).
+				</p>
+
+			<div id="figure-media-remote-control" class="figure">
+				<img src="images/remote-control.svg" width="102" height="422" alt="A sample media remote control" />
+				<div class="figcaption">Fig. <span class="figno">12</span> <span class="fig-title">A graphical depiction of a media remote control, with buttons mapped to specific keys values.</span></div>
+			</div>
+
+		</div>  
+<!-- remote-control -->
+
+
+		<div id="keyboard-chording-virtual"  class="section">
+			<h3 id="h3_keyboard-chording-virtual"><span class="secno">1.4 </span>Virtual Keyboards and Chording Keyboards</h3>
+
+			<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
+				<em class="rfc2119" title="MAY">MAY</em> present the widest range of characters, including emoticons and other symbols, and <em class="rfc2119" title="MAY">MAY</em> have keys not represented by Unicode [<a href="#references-Unicode">Unicode</a>]
+				or by the <a href="#key-value-tables">key values</a> defined in this specification.  Wherever possible, however, virtual keyboards <em class="rfc2119" title="SHOULD">SHOULD</em> 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,
+				normally to simulate a full range of characters or commands on a reduced set of keys, often for single-handed use.  A chording keyboard <em class="rfc2119" title="MAY">MAY</em> have additional mode
+				keys to switch between key values, and the number and type of keys pressed to produce a key value will vary, but the final key values produced by such keyboards
+				<em class="rfc2119" title="SHOULD">SHOULD</em> match the range of key values described in this specification.</p>
+
+			<p>For these and other alternative modal keyboards, the key values <a href="#key-Alphanumeric"><code class="key">'Alphanumeric'</code></a>, <a href="#key-CapsLock">
+				<code class="key">'CapsLock'</code></a>, <a href="#key-NumLock"><code class="key">'NumLock'</code></a>, and <a href="#key-SymbolLock"><code class="key">
+				'SymbolLock'</code></a> are <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em> for the keys which switch between different modes.</p>
+
+		</div>  
+<!-- keyboard-chording-virtual -->
+
+
+	</div>  
+<!-- keyboard-layout -->
+
+
+	<div id="code-value-tables"  class="section">
+		
+<!--OddPage-->
+<h2 id="h2_code-value-tables"><span class="secno">2. </span>Keyboard Event <code>code</code> Value Tables</h2>
+	
+		<p>This section defines a list of <code>code</code> values which implementations <em class="rfc2119" title="MUST">MUST</em> support.
+			</p>
+
+		<div id="keyboard-key-codes"  class="section">
+			<h3 id="h3_keyboard-key-codes"><span class="secno">2.1 </span>Key Codes for Standard Keyboards</h3>
+			<p>This section describes the various keyboard sections in more detail and defines the <code>code</code>
+			   values that should be used for each key.
+				</p>
+
+			<div id="key-alphanumeric-section"  class="section">
+				<h4 id="h4_key-alphanumeric-section"><span class="secno">2.1.1 </span>Alphanumeric Section</h4>
+				<p>The Alphanumeric section keys fall into two general categories: &quot;writing system&quot; keys whose meaning changes based on
+					the current keyboard layout, and &quot;functional&quot; keys which are (mostly) the same for all layouts.
+					</p>
+				
+				<div id="key-alphanumeric-writing-system" class="section">
+					<h5 id="h5_key-alphanumeric-writing-system"><span class="secno">2.1.1.1 </span>Writing System Keys</h5>
+					
+					<p>The &quot;writing system&quot; keys are those that change meaning based on the current keyboard layout.
+						</p>
+						
+					<div id="figure-keyboard-codes-alphanum1" class="figure">
+						<img src="images/keyboard-codes-alphanum1.svg" width="653" height="225" alt="The writing system keys" />
+						<div class="figcaption">Fig. <span class="figno">13</span> <span class="fig-title">The writing system keys in the alphanumeric section</span></div>
+					</div>
+					
+					<p>This figure shows a hypothetical keyboard that combines all the writing system keys (shown in
+						blue and green) found on the various keyboards.
+						Blue keys are present on all standard keyboards while green keys are only available on some keyboards.
+						</p>
+						
+					<p>The name shown on each key is the <code>code</code> assigned to that key.
+						Wherever possible, the <code>code</code> names are based on the name for the US key
+						in that position (i.e., they are based on the US keyboard layout). For keys that don't
+						exist on the US keyboard, names from the UK or Japanese layouts are used instead.
+						</p>
+					
+					<table id="table-key-code-alphanumeric-writing-system" class="data-table full-width">
+						<caption>List of code values for writing system keys in the Alphanumeric section.</caption>
+						<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+						<tbody>
+							<tr><td><code id="code-Backquote" class="code">'Backquote'</code></td>
+								<td>0x35</td><td><code class="keycap">`</code> and <code class="keycap">~</code> on a US keyboard. This is the <code class="keycap">半角/全角/漢字</code> (<span class="phonetic">hankaku/zenkaku/kanji</span>) key on Japanese keyboards</td></tr>
+							<tr><td><code id="code-Backslash" class="code">'Backslash'</code></td>
+								<td>0x31</td><td><code class="keycap">\</code> and <code class="keycap">|</code> on a US keyboard. Found only on standard 101-key layouts.</td></tr>
+							<tr><td><code id="code-Backspace" class="code">'Backspace'</code></td>
+								<td>0x2a</td><td>Labelled <code class="keycap">Delete</code> on Macintosh keyboards.</td></tr>
+							<tr><td><code id="code-BracketLeft" class="code">'BracketLeft'</code></td>
+								<td>0x2f</td><td><code class="keycap">[</code> and <code class="keycap">{</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-BracketRight" class="code">'BracketRight'</code></td>
+								<td>0x30</td><td><code class="keycap">]</code> and <code class="keycap">}</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Comma" class="code">'Comma'</code></td>
+								<td>0x36</td><td><code class="keycap">,</code> and <code class="keycap">&lt;</code> on a US keyboard.</td></tr>
+
+							<tr><td><code id="code-Digit-0" class="code">'Digit0'</code></td>
+								<td>0x27</td><td><code class="keycap">0</code> and <code class="keycap">)</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-1" class="code">'Digit1'</code></td>
+								<td>0x1e</td><td><code class="keycap">1</code> and <code class="keycap">!</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-2" class="code">'Digit2'</code></td>
+								<td>0x1f</td><td><code class="keycap">2</code> and <code class="keycap">@</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-3" class="code">'Digit3'</code></td>
+								<td>0x20</td><td><code class="keycap">3</code> and <code class="keycap">#</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-4" class="code">'Digit4'</code></td>
+								<td>0x21</td><td><code class="keycap">4</code> and <code class="keycap">$</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-5" class="code">'Digit5'</code></td>
+								<td>0x22</td><td><code class="keycap">5</code> and <code class="keycap">%</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-6" class="code">'Digit6'</code></td>
+								<td>0x23</td><td><code class="keycap">6</code> and <code class="keycap">^</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-7" class="code">'Digit7'</code></td>
+								<td>0x24</td><td><code class="keycap">7</code> and <code class="keycap">&amp;</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-8" class="code">'Digit8'</code></td>
+								<td>0x25</td><td><code class="keycap">8</code> and <code class="keycap">*</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Digit-9" class="code">'Digit9'</code></td>
+								<td>0x26</td><td><code class="keycap">9</code> and <code class="keycap">(</code> on a US keyboard.</td></tr>
+
+							<tr><td><code id="code-Equal" class="code">'Equal'</code></td>
+								<td>0x2e</td><td><code class="keycap">=</code> and <code class="keycap">+</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-IntlBackslash" class="code">'IntlBackslash'</code></td>
+								<td>0x64</td><td>Located between the <code class="code">'ShiftLeft'</code> and <code class="code">'KeyZ'</code> keys. The <code class="keycap">\</code> and <code class="keycap">|</code> key on a UK keyboard.</td></tr>
+							<tr><td><code id="code-IntlHash" class="code">'IntlHash'</code></td>
+								<td>0x32</td><td>Located between the <code class="code">'Quote'</code> and <code class="code">'Enter'</code> keys on row E of the keyboard. The <code class="keycap">#</code> and <code class="keycap">~</code> key on a UK keyboard.</td></tr>
+							<tr><td><code id="code-IntlRo" class="code">'IntlRo'</code></td>
+								<td>0x87</td><td>Located between the <code class="code">'Slash'</code> and <code class="code">'ShiftRight'</code> keys. The <code class="keycap">\</code> and <code class="keycap">ろ</code> (<span class="phonetic">ro</span>) key on a Japanese keyboard.</td></tr>
+							<tr><td><code id="code-IntlYen" class="code">'IntlYen'</code></td>
+								<td>0x89</td><td>Located between the <code class="code">'Equal'</code> and <code class="code">'Backspace'</code> keys. The <code class="keycap">¥</code> (<span class="phonetic">yen</span>) key on a Japanese keyboard. The <code class="keycap">\</code> and <code class="keycap">/</code> key on a Russian keyboard.</td></tr>
+
+							<tr><td><code id="code-KeyA" class="code">'KeyA'</code></td>
+								<td>0x04</td><td><code class="keycap">a</code> on a US keyboard. Labelled <code class="keycap">q</code> on an AZERTY (e.g., French) keyboard.</td></tr>
+							<tr><td><code id="code-KeyB" class="code">'KeyB'</code></td>
+								<td>0x05</td><td><code class="keycap">b</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyC" class="code">'KeyC'</code></td>
+								<td>0x06</td><td><code class="keycap">c</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyD" class="code">'KeyD'</code></td>
+								<td>0x07</td><td><code class="keycap">d</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyE" class="code">'KeyE'</code></td>
+								<td>0x08</td><td><code class="keycap">e</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyF" class="code">'KeyF'</code></td>
+								<td>0x09</td><td><code class="keycap">f</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyG" class="code">'KeyG'</code></td>
+								<td>0x0a</td><td><code class="keycap">g</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyH" class="code">'KeyH'</code></td>
+								<td>0x0b</td><td><code class="keycap">h</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyI" class="code">'KeyI'</code></td>
+								<td>0x0c</td><td><code class="keycap">i</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyJ" class="code">'KeyJ'</code></td>
+								<td>0x0d</td><td><code class="keycap">j</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyK" class="code">'KeyK'</code></td>
+								<td>0x0e</td><td><code class="keycap">k</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyL" class="code">'KeyL'</code></td>
+								<td>0x0f</td><td><code class="keycap">l</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyM" class="code">'KeyM'</code></td>
+								<td>0x10</td><td><code class="keycap">m</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyN" class="code">'KeyN'</code></td>
+								<td>0x11</td><td><code class="keycap">n</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyO" class="code">'KeyO'</code></td>
+								<td>0x12</td><td><code class="keycap">o</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyP" class="code">'KeyP'</code></td>
+								<td>0x13</td><td><code class="keycap">p</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyQ" class="code">'KeyQ'</code></td>
+								<td>0x14</td><td><code class="keycap">q</code> on a US keyboard. Labelled <code class="keycap">a</code> on an AZERTY (e.g., French) keyboard.</td></tr>
+							<tr><td><code id="code-KeyR" class="code">'KeyR'</code></td>
+								<td>0x15</td><td><code class="keycap">r</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyS" class="code">'KeyS'</code></td>
+								<td>0x16</td><td><code class="keycap">s</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyT" class="code">'KeyT'</code></td>
+								<td>0x17</td><td><code class="keycap">t</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyU" class="code">'KeyU'</code></td>
+								<td>0x18</td><td><code class="keycap">u</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyV" class="code">'KeyV'</code></td>
+								<td>0x19</td><td><code class="keycap">v</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyW" class="code">'KeyW'</code></td>
+								<td>0x1a</td><td><code class="keycap">w</code> on a US keyboard. Labelled <code class="keycap">z</code> on an AZERTY (e.g., French) keyboard.</td></tr>
+							<tr><td><code id="code-KeyX" class="code">'KeyX'</code></td>
+								<td>0x1b</td><td><code class="keycap">x</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-KeyY" class="code">'KeyY'</code></td>
+								<td>0x1c</td><td><code class="keycap">y</code> on a US keyboard. Labelled <code class="keycap">z</code> on a QWERTZ (e.g., German) keyboard.</td></tr>
+							<tr><td><code id="code-KeyZ" class="code">'KeyZ'</code></td>
+								<td>0x1d</td><td><code class="keycap">z</code> on a US keyboard. Labelled <code class="keycap">w</code> on an AZERTY (e.g., French) keyboard, and <code class="keycap">y</code> on a QWERTZ (e.g., German) keyboard.</td></tr>
+
+							<tr><td><code id="code-Minus" class="code">'Minus'</code></td>
+								<td>0x2d</td><td><code class="keycap">-</code> and <code class="keycap">_</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Period" class="code">'Period'</code></td>
+								<td>0x37</td><td><code class="keycap">.</code> and <code class="keycap">&gt;</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Quote" class="code">'Quote'</code></td>
+								<td>0x34</td><td><code class="keycap">'</code> and <code class="keycap">&quot;</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Semicolon" class="code">'Semicolon'</code></td>
+								<td>0x33</td><td><code class="keycap">;</code> and <code class="keycap">:</code> on a US keyboard.</td></tr>
+							<tr><td><code id="code-Slash" class="code">'Slash'</code></td>
+								<td>0x38</td><td><code class="keycap">/</code> and <code class="keycap">?</code> on a US keyboard.</td></tr>
+						</tbody>
+					</table>
+				</div>
+
+				<div id="key-alphanumeric-functional"  class="section">
+					<h5 id="h5_key-alphanumeric-functional"><span class="secno">2.1.1.2 </span>Functional Keys</h5>
+					<p>The Functional keys (<em>not to be confused with the
+					   <a href="#key-function-section">Function keys</a> described later</em>) are those
+					   keys in the Alphanumeric section that provide general editing functions that are common to all locales
+					   (like Shift, Tab, Enter and Backspace).
+					   With a few exceptions, these keys do not change meaning based on the current keyboard layout.
+					</p>
+
+					<div id="figure-keyboard-codes-alphanum2" class="figure">
+						<img src="images/keyboard-codes-alphanum2.svg" width="653" height="225" alt="The standard set of functional keys" />
+						<div class="figcaption">Fig. <span class="figno">14</span> <span class="fig-title">The standard set of functional keys in the alphanumeric section</span></div>
+					</div>
+
+					<table id="table-key-code-alphanumeric-functional-1" class="data-table full-width">
+						<caption>List of code values for functional keys in the Alphanumeric section.</caption>
+						<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+						<tbody>
+							<tr><td><code id="code-AltLeft" class="code">'AltLeft'</code></td>
+								<td>0xe2</td><td>Labelled <code class="keycap">Alt</code> or <code class="keycap">Option</code>.</td></tr>
+							<tr><td><code id="code-AltRight" class="code">'AltRight'</code></td>
+								<td>0xe6</td><td>Labelled <code class="keycap">Alt</code> or <code class="keycap">Option</code>. This is the <code class="keycap">AltGr</code> key on many keyboard layouts.</td></tr>
+							<tr><td><code id="code-CapsLock" class="code">'CapsLock'</code></td>
+								<td>0x39</td><td></td></tr>
+							<tr><td><code id="code-ContextMenu" class="code">'ContextMenu'</code></td>
+								<td>0x65</td><td>The application context menu key, which is typically found between the right OS key and the right Control key.</td></tr>
+							<tr><td><code id="code-ControlLeft" class="code">'ControlLeft'</code></td>
+								<td>0xe0</td><td></td></tr>
+							<tr><td><code id="code-ControlRight" class="code">'ControlRight'</code></td>
+								<td>0xe4</td><td></td></tr>
+							<tr><td><code id="code-Enter" class="code">'Enter'</code></td>
+								<td>0x28</td><td>Labelled <code class="keycap">Enter</code> and <code class="keycap">Return</code> on Macintosh keyboards.</td></tr>
+							<tr><td><code id="code-OSLeft" class="code">'OSLeft'</code></td>
+								<td>0xe3</td><td>The Windows, <code class="keycap">⌘</code>, <code class="keycap">Command</code> or other OS symbol key.</td></tr>
+							<tr><td><code id="code-OSRight" class="code">'OSRight'</code></td>
+								<td>0xe7</td><td>The Windows, <code class="keycap">⌘</code>, <code class="keycap">Command</code> or other OS symbol key.</td></tr>
+							<tr><td><code id="code-ShiftLeft" class="code">'ShiftLeft'</code></td>
+								<td>0xe1</td><td></td></tr>
+							<tr><td><code id="code-ShiftRight" class="code">'ShiftRight'</code></td>
+								<td>0xe5</td><td></td></tr>
+							<tr><td><code id="code-Space" class="code">'Space'</code></td>
+								<td>0x2c</td><td>The <code class="keycap"> </code> key.</td></tr>
+							<tr><td><code id="code-Tab" class="code">'Tab'</code></td>
+								<td>0x2b</td><td></td></tr>
+						</tbody>
+					</table>
+					<p>On some keyboards (notably Japanese and Korean) the spacebar is reduced in size to make room
+					   for extra keys on the bottom row. These keys typically allow the users to change the current input
+					   mode. Note that even though some of these Japanese and Korean keys occupy the same physical location on the
+					   keyboard, they use different <code>code</code> values.
+					</p>
+					
+					<div id="figure-function-row-a" class="figure">
+						<img src="images/functional-row-a.svg" width="700" height="160" alt="Comparison of the lower row of functional keys" />
+						<div class="figcaption">Fig. <span class="figno">15</span> <span class="fig-title">Comparison of the lower row of functional keys on different keyboards</span></div>
+					</div>
+					
+					<table id="table-key-code-alphanumeric-functional-2" class="data-table full-width">
+						<caption>List of code values for functional keys found on Japanese and Korean keyboards.</caption>
+						<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+						<tbody>
+							<tr><td><code id="code-Convert" class="code">'Convert'</code></td>
+								<td>0x8a</td><td>Japanese: <code class="keycap">変換</code> (<span class="phonetic">henkan</span>)</td></tr>
+							<tr><td><code id="code-KanaMode" class="code">'KanaMode'</code></td>
+								<td>0x88</td><td>Japanese: <code class="keycap">カタカナ/ひらがな/ローマ字</code> (<span class="phonetic">katakana/hiragana/romaji</span>)</td></tr>
+							<tr><td><code id="code-Lang1" class="code">'Lang1'</code></td>
+								<td>0x90</td>
+								<td>Korean: <code class="keycap">한/영</code> (<span class="phonetic">han/yeong</span>)<br />
+									Japanese (Mac keyboard): <code class="keycap">かな</code> (<span class="phonetic">kana</span>)
+									</td></tr>
+							<tr><td><code id="code-Lang2" class="code">'Lang2'</code></td>
+								<td>0x91</td>
+								<td>Korean: <code class="keycap">한자</code> (<span class="phonetic">hanja</span>)<br />
+									Japanese (Mac keyboard): <code class="keycap">英数</code> (<span class="phonetic">eisu</span>)
+									</td></tr>
+							<tr><td><code id="code-Lang3" class="code">'Lang3'</code></td>
+								<td>0x92</td>
+								<td>Japanese (word-processing keyboard): Katakana
+									</td></tr>
+							<tr><td><code id="code-Lang4" class="code">'Lang4'</code></td>
+								<td>0x93</td>
+								<td>Japanese (word-processing keyboard): Hiragana
+									</td></tr>
+							<tr><td><code id="code-Lang5" class="code">'Lang5'</code></td>
+								<td>0x94</td>
+								<td>Japanese (word-processing keyboard): Zenkaku/Hankaku
+									</td></tr>
+							<tr><td><code id="code-NonConvert" class="code">'NonConvert'</code></td>
+								<td>0x8b</td><td>Japanese: <code class="keycap">無変換</code> (<span class="phonetic">muhenkan</span>)</td></tr>
+						</tbody>
+					</table>
+					<p>On Apple keyboards, some keys on the bottom row are omitted and others are arranged in
+					   a different order.
+					</p>
+				</div>
+			</div>
+
+			<div id="key-controlpad-section"  class="section">
+				<h4 id="h4_key-controlpad-section"><span class="secno">2.1.2 </span>Control Pad Section</h4>
+				<p>The Control Pad contains keys for navigating and editing documents.
+				</p>
+				
+				<div id="figure-control-pad" class="figure">
+					<img src="images/control-pad.svg" width="495" height="135" alt="Standard Control Pad layouts" />
+					<div class="figcaption">Fig. <span class="figno">16</span> <span class="fig-title">Standard Control Pad layouts</span></div>
+				</div>
+				
+				<table id="table-key-code-controlpad" class="data-table full-width">
+					<caption>List of code values for keys in the ControlPad section.</caption>
+					<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Delete" class="code">'Delete'</code></td>
+							<td>0x4c</td><td></td></tr>
+						<tr><td><code id="code-End" class="code">'End'</code></td>
+							<td>0x4d</td><td></td></tr>
+						<tr><td><code id="code-Help" class="code">'Help'</code></td>
+							<td>0x75</td><td>Not present on standard PC keyboards.</td></tr>
+						<tr><td><code id="code-Home" class="code">'Home'</code></td>
+							<td>0x4a</td><td></td></tr>
+						<tr><td><code id="code-Insert" class="code">'Insert'</code></td>
+							<td>0x49</td><td>Not present on Apple keyboards.</td></tr>
+						<tr><td><code id="code-PageUp" class="code">'PageDown'</code></td>
+							<td>0x4e</td><td></td></tr>
+						<tr><td><code id="code-PageDown" class="code">'PageUp'</code></td>
+							<td>0x4b</td><td></td></tr>
+					</tbody>
+				</table>
+				<p>Note: The <code>code</code> for the <code class="code">'Fn'</code> key (found on
+				   some Apple keyboards) is defined below in the Function Section.
+				</p>
+			</div>
+
+			<div id="key-arrowpad-section" class="section">
+				<h4 id="h4_key-arrowpad-section"><span class="secno">2.1.3 </span>Arrow Pad Section</h4>
+				<p>The Arrow Pad section contains the 4 arrow keys.
+				</p>
+				
+				<div id="figure-arrow-pad" class="figure">
+					<img src="images/arrow-pad.svg" width="160" height="115" alt="Standard Arrow Pad layout" />
+					<div class="figcaption">Fig. <span class="figno">17</span> <span class="fig-title">Standard Arrow Pad layout</span></div>
+				</div>
+				
+				<table id="table-key-code-arrowpad" class="data-table full-width">
+					<caption>List of code values for keys in the ArrowPad section.</caption>
+					<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-ArrowDown" class="code">'ArrowDown'</code></td>
+							<td>0x51</td><td></td></tr>
+						<tr><td><code id="code-ArrowLeft" class="code">'ArrowLeft'</code></td>
+							<td>0x50</td><td></td></tr>
+						<tr><td><code id="code-ArrowRight" class="code">'ArrowRight'</code></td>
+							<td>0x4f</td><td></td></tr>
+						<tr><td><code id="code-ArrowUp" class="code">'ArrowUp'</code></td>
+							<td>0x52</td><td></td></tr>
+					</tbody>
+				</table>
+			</div>
+
+			<div id="key-numpad-section" class="section">
+				<h4 id="h4_key-numpad-section"><span class="secno">2.1.4 </span>Numpad Section</h4>
+				<p>The Numpad Section contains numeric and mathematical operator keys arranged in a calculator-grid
+				   to facilitate numeric data entry.
+				</p>
+				
+				<div id="figure-numpad" class="figure">
+					<img src="images/numpad.svg" width="606" height="247" alt="Standard Numpad layouts" />
+					<div class="figcaption">Fig. <span class="figno">18</span> <span class="fig-title">Standard Numpad layouts</span></div>
+				</div>
+				
+				<p>The standard Numpad is sometimes extended with additional keys for parentheses, operators,
+				   hexadecimal symbols, or calculator functions (like backspace). Some of the commonly added keys are
+				   listed in the table below.
+				</p>
+				<table id="table-key-code-numpad" class="data-table full-width">
+					<caption>List of code values for keys in the Numpad section.</caption>
+					<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-NumLock" class="code">'NumLock'</code></td>
+							<td>0x53</td><td>On the Mac, the <code class="code">'NumLock'</code> code should be used for the numpad <code class="glyph">'Clear'</code> key.</td></tr>
+						<tr><td><code id="code-Numpad0" class="code">'Numpad0'</code></td>
+							<td>0x62</td><td><code class="keycap">0</code> and <code class="keycap">Insert</code></td></tr>
+						<tr><td><code id="code-Numpad1" class="code">'Numpad1'</code></td>
+							<td>0x59</td><td><code class="keycap">1</code> and <code class="keycap">End</code></td></tr>
+						<tr><td><code id="code-Numpad2" class="code">'Numpad2'</code></td>
+							<td>0x5a</td><td><code class="keycap">2</code> and <code class="keycap">ArrowDown</code></td></tr>
+						<tr><td><code id="code-Numpad3" class="code">'Numpad3'</code></td>
+							<td>0x5b</td><td><code class="keycap">3</code> and <code class="keycap">PageDown</code></td></tr>
+						<tr><td><code id="code-Numpad4" class="code">'Numpad4'</code></td>
+							<td>0x5c</td><td><code class="keycap">4</code> and <code class="keycap">ArrowLeft</code></td></tr>
+						<tr><td><code id="code-Numpad5" class="code">'Numpad5'</code></td>
+							<td>0x5d</td><td><code class="keycap">5</code></td></tr>
+						<tr><td><code id="code-Numpad6" class="code">'Numpad6'</code></td>
+							<td>0x5e</td><td><code class="keycap">6</code> and <code class="keycap">ArrowRight</code></td></tr>
+						<tr><td><code id="code-Numpad7" class="code">'Numpad7'</code></td>
+							<td>0x5f</td><td><code class="keycap">7</code> and <code class="keycap">Home</code></td></tr>
+						<tr><td><code id="code-Numpad8" class="code">'Numpad8'</code></td>
+							<td>0x60</td><td><code class="keycap">8</code> and <code class="keycap">ArrowUp</code></td></tr>
+						<tr><td><code id="code-Numpad9" class="code">'Numpad9'</code></td>
+							<td>0x61</td><td><code class="keycap">9</code> and <code class="keycap">PageUp</code></td></tr>
+						<tr><td><code id="code-NumpadAdd" class="code">'NumpadAdd'</code></td>
+							<td>0x57</td><td><code class="keycap">+</code></td></tr>
+						<tr><td><code id="code-NumpadBackspace" class="code">'NumpadBackspace'</code></td>
+							<td>0xbb</td><td>Found on the Microsoft Natural Keyboard.</td></tr>
+						<tr><td><code id="code-NumpadClear" class="code">'NumpadClear'</code></td>
+							<td>0xd8</td><td>For use with numpads that have a <code class="glyph">'Clear'</code> key that is separate from the <code class="glyph">'NumLock'</code> key.
+								On the Mac, the numpad <code class="glyph">'Clear'</code> key should always be encoded as <code class="code">'NumLock'</code>.</td></tr>
+						<tr><td><code id="code-NumpadClearEntry" class="code">'NumpadClearEntry'</code></td>
+							<td>0xd9</td><td></td></tr>
+						<tr><td><code id="code-NumpadComma" class="code">'NumpadComma'</code></td>
+							<td>0x85</td><td><code class="keycap">,</code> (thousands separator). For locales where the thousands separator is a <code class="glyph">'.'</code> (e.g., Brazil), this key may generate a <code class="glyph">'.'</code>.</td></tr>
+						<tr><td><code id="code-NumpadDecimal" class="code">'NumpadDecimal'</code></td>
+							<td>0x63</td><td><code class="keycap">.</code> (decimal separator) and <code class="keycap">Delete</code>. For locales where the decimal separator is <code class="glyph">','</code> (e.g., Brazil), this key may generate a <code class="glyph">','</code>.</td></tr>
+						<tr><td><code id="code-NumpadDivide" class="code">'NumpadDivide'</code></td>
+							<td>0x54</td><td><code class="keycap">/</code></td></tr>
+						<tr><td><code id="code-NumpadEnter" class="code">'NumpadEnter'</code></td>
+							<td>0x58</td><td></td></tr>
+						<tr><td><code id="code-NumpadEqual" class="code">'NumpadEqual'</code></td>
+							<td>0x67</td><td><code class="keycap">=</code></td></tr>
+						<tr><td><code id="code-NumpadMemoryAdd" class="code">'NumpadMemoryAdd'</code></td>
+							<td>0xd3</td><td></td></tr>
+						<tr><td><code id="code-NumpadMemoryClear" class="code">'NumpadMemoryClear'</code></td>
+							<td>0xd2</td><td></td></tr>
+						<tr><td><code id="code-NumpadMemoryRecall" class="code">'NumpadMemoryRecall'</code></td>
+							<td>0xd1</td><td></td></tr>
+						<tr><td><code id="code-NumpadMemoryStore" class="code">'NumpadMemoryStore'</code></td>
+							<td>0xd0</td><td></td></tr>
+						<tr><td><code id="code-NumpadMemorySubtract" class="code">'NumpadMemorySubtract'</code></td>
+							<td>0xd4</td><td></td></tr>
+						<tr><td><code id="code-NumpadMultiply" class="code">'NumpadMultiply'</code></td>
+							<td>0x55</td><td><code class="keycap">*</code></td></tr>
+						<tr><td><code id="code-NumpadParenLeft" class="code">'NumpadParenLeft'</code></td>
+							<td>0xb6</td><td><code class="keycap">(</code> Found on the Microsoft Natural Keyboard.</td></tr>
+						<tr><td><code id="code-NumpadParenRight" class="code">'NumpadParenRight'</code></td>
+							<td>0xb7</td><td><code class="keycap">)</code> Found on the Microsoft Natural Keyboard.</td></tr>
+						<tr><td><code id="code-NumpadSubtract" class="code">'NumpadSubtract'</code></td>
+							<td>0x56</td><td><code class="keycap">-</code></td></tr>
+					</tbody>
+				</table>
+				<p>For Numpads that provide keys not listed here, a <code>code</code> value string should be created by
+				   starting with 'Numpad' and appending an appropriate description of the key.
+				</p>
+			</div>
+
+			<div id="key-function-section"  class="section">
+				<h4 id="h4_key-function-section"><span class="secno">2.1.5 </span>Function Section</h4>
+				<p>The Function section runs along the top of the keyboard and contains the function keys and
+				   a few additional special keys (for example, <code class="code">'Escape'</code> and
+				   <code class="code">'PrintScreen'</code>).
+				</p>
+				<p>On some keyboards (especially those found on laptops or other portable computers), the function keys
+				   (<code class="code">'F1'</code> ... <code class="code">'F12'</code>)
+				   are defined to have other primary functions (like controlling display brightness or
+				   audio volume) and require that a separate <code class="code">'Fn'</code> key
+				   be pressed to make them act as function keys.
+				   Unfortunately, the primary functions assigned to these keys varies widely from one manufacturer to the next.
+				   Because of this, the <code>code</code> is always set to the function key name.
+				</p>
+				<table id="table-key-code-function" class="data-table full-width">
+					<caption>List of code values for keys in the Function section.</caption>
+					<thead><tr><th>Code Value</th><th>USB Usage ID<br />Page 0x07<br />(Informative)</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Escape" class="code">'Escape'</code></td>
+							<td>0x29</td><td></td></tr>
+						<tr><td><code id="code-F1" class="code">'F1'</code></td>
+							<td>0x3a</td><td></td></tr>
+						<tr><td><code id="code-F2" class="code">'F2'</code></td>
+							<td>0x3b</td><td></td></tr>
+						<tr><td><code id="code-F3" class="code">'F3'</code></td>
+							<td>0x3c</td><td></td></tr>
+						<tr><td><code id="code-F4" class="code">'F4'</code></td>
+							<td>0x3d</td><td></td></tr>
+						<tr><td><code id="code-F5" class="code">'F5'</code></td>
+							<td>0x3e</td><td></td></tr>
+						<tr><td><code id="code-F6" class="code">'F6'</code></td>
+							<td>0x3f</td><td></td></tr>
+						<tr><td><code id="code-F7" class="code">'F7'</code></td>
+							<td>0x40</td><td></td></tr>
+						<tr><td><code id="code-F8" class="code">'F8'</code></td>
+							<td>0x41</td><td></td></tr>
+						<tr><td><code id="code-F9" class="code">'F9'</code></td>
+							<td>0x42</td><td></td></tr>
+						<tr><td><code id="code-F10" class="code">'F10'</code></td>
+							<td>0x43</td><td></td></tr>
+						<tr><td><code id="code-F11" class="code">'F11'</code></td>
+							<td>0x44</td><td></td></tr>
+						<tr><td><code id="code-F12" class="code">'F12'</code></td>
+							<td>0x45</td><td></td></tr>
+						<tr><td><code id="code-Fn" class="code">'Fn'</code></td>
+							<td></td><td>This is typically a hardware key that does not generate a separate code. Most keyboards do not place this key in the Function section, but it is included here to keep with related keys.</td></tr>
+						<tr><td><code id="code-FLock" class="code">'FLock'</code></td>
+							<td></td><td>Found on the Microsoft Natural Keyboard.</td></tr>
+						<tr><td><code id="code-PrintScreen" class="code">'PrintScreen'</code></td>
+							<td>0x46</td><td><code class="keycap">PrintScreen</code> and <code class="keycap">SysReq</code></td></tr>
+						<tr><td><code id="code-ScrollLock" class="code">'ScrollLock'</code></td>
+							<td>0x47</td><td></td></tr>
+						<tr><td><code id="code-Pause" class="code">'Pause'</code></td>
+							<td>0x48</td><td><code class="keycap">Pause</code> and <code class="keycap">Break</code></td></tr>
+					</tbody>
+				</table>
+				<p>For keyboards that provide more than 12 function keys, the <code>code</code> value follows the pattern
+				   shown above with 'F' followed by the function key number - <code class="code">'F13'</code>, <code class="code">'F14'</code>,
+				   <code class="code">'F15'</code>, and so on.
+				</p>
+				<p>Note: Apple keyboards may have <code class="code">'Eject'</code> or <code class="code">'Power'</code>
+				   keys in the Function section. The <code>code</code> values
+				   for these keys are defined in the Media Keys section.
+				</p>
+			</div>
+
+			<div id="key-media"  class="section">
+				<h4 id="h4_key-media"><span class="secno">2.1.6 </span>Media Keys</h4>
+				<p>Keys that fall outside the sections listed above are referred to as &quot;media keys&quot; since
+				   they commonly provide &quot;media&quot; functions like play, pause or volume control.
+				</p>
+				<p>These are extra keys that many keyboard manufacturers add, but do not have a consistent location.
+				   These keys are often distinct from normal typing keys in appearance and may be recessed in the
+				   keyboard.
+				</p>
+				<p>On laptop keyboards, these keys are often merged with the Function keys, with the &quot;media&quot; interpretation
+				   being the primary function of the key and the &quot;function key&quot; interpretation requiring the
+				   <code class="code">'Fn'</code> key to be pressed at the same time. In this configuration the
+				   <code>code</code> should be set to match the function key (<code class="code">'F1'</code> ...
+				   <code class="code">'F12'</code>). When the keys are merged in this fashion, the <code>code</code>
+				   values are taken from the function key value since the &quot;media&quot; value is not consistent across
+				   keyboards.
+				</p>
+				<table id="table-key-code-media" class="data-table full-width">
+					<caption>List of code values for media keys.</caption>
+					<thead><tr><th>Code Value</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-BrowserBack" class="code">'BrowserBack'</code></td>
+							<td>Some laptops place this key to the left of the <code class="code">'ArrowUp'</code> key.</td></tr>
+						<tr><td><code id="code-BrowserFavorites" class="code">'BrowserFavorites'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-BrowserForward" class="code">'BrowserForward'</code></td>
+							<td>Some laptops place this key to the right of the <code class="code">'ArrowUp'</code> key.</td></tr>
+						<tr><td><code id="code-BrowserHome" class="code">'BrowserHome'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-BrowserRefresh" class="code">'BrowserRefresh'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-BrowserSearch" class="code">'BrowserSearch'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-BrowserStop" class="code">'BrowserStop'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Eject" class="code">'Eject'</code></td>
+							<td>This key is placed in the Function section on some Apple keyboards.</td></tr>
+						<tr><td><code id="code-LaunchApp1" class="code">'LaunchApp1'</code></td>
+							<td>Sometimes labelled <code class="keycap">My Computer</code> on the keyboard</td></tr>
+						<tr><td><code id="code-LaunchApp2" class="code">'LaunchApp2'</code></td>
+							<td>Sometimes labelled <code class="keycap">Calculator</code> on the keyboard</td></tr>
+						<tr><td><code id="code-LaunchMail" class="code">'LaunchMail'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-MediaPlayPause" class="code">'MediaPlayPause'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-MediaSelect" class="code">'MediaSelect'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-MediaStop" class="code">'MediaStop'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-MediaTrackNext" class="code">'MediaTrackNext'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-MediaTrackPrevious" class="code">'MediaTrackPrevious'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Power" class="code">'Power'</code></td>
+							<td>This key is placed in the Function section on some Apple keyboards, replacing the <code class="code">'Eject'</code> key.</td></tr>
+						<tr><td><code id="code-Sleep" class="code">'Sleep'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-VolumeDown" class="code">'VolumeDown'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-VolumeMute" class="code">'VolumeMute'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-VolumeUp" class="code">'VolumeUp'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-WakeUp" class="code">'WakeUp'</code></td>
+							<td></td></tr>
+					</tbody>
+				</table>
+			</div>
+
+			<div id="key-legacy"  class="section">
+				<h4 id="h4_key-legacy"><span class="secno">2.1.7 </span>Legacy Keys and Non-Standard Keys</h4>
+
+				<p>These keys are not found on modern standard keyboards.
+				   They are listed here for reference purposes.
+					</p>
+
+				<table id="table-key-code-legacy-modifier" class="data-table full-width">
+					<caption>List of code values for legacy modifier keys.</caption>
+					<thead><tr><th>Code Value</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Hyper" class="code">'Hyper'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Super" class="code">'Super'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Turbo" class="code">'Turbo'</code></td>
+							<td></td></tr>
+					</tbody>
+				</table>
+
+				<p></p>
+
+				<table id="table-key-code-legacy-process" class="data-table full-width">
+					<caption>List of code values for legacy process control keys.</caption>
+					<thead><tr><th>Code Value</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Abort" class="code">'Abort'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Resume" class="code">'Resume'</code></td>
+							<td></td></tr>
+						<tr><td><code id="code-Suspend" class="code">'Suspend'</code></td>
+							<td></td></tr>
+					</tbody>
+				</table>
+				
+				<p></p>
+
+				<table id="table-key-code-legacy-editing" class="data-table full-width">
+					<caption>List of code values for legacy editing keys.</caption>
+					<thead><tr><th>Code Value</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Again" class="code">'Again'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Copy" class="code">'Copy'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Cut" class="code">'Cut'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Find" class="code">'Find'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Open" class="code">'Open'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Paste" class="code">'Paste'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Props" class="code">'Props'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Select" class="code">'Select'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+						<tr><td><code id="code-Undo" class="code">'Undo'</code></td>
+							<td>Found on Sun's USB keyboard.</td></tr>
+					</tbody>
+				</table>
+
+				<p>The following keys may be found on non-standard international keyboards.
+					</p>
+
+				<table id="table-key-code-international" class="data-table full-width">
+					<caption>List of code values for keys found on international keyboards.</caption>
+					<thead><tr><th>Code Value</th><th>Notes (Informative)</th></tr></thead>
+					<tbody>
+						<tr><td><code id="code-Hiragana" class="code">'Hiragana'</code></td>
+							<td>Use for dedicated <code class="keycap">ひらがな</code> key found on some Japanese word processing keyboards.</td></tr>
+						<tr><td><code id="code-Katakana" class="code">'Katakana'</code></td>
+							<td>Use for dedicated <code class="keycap">カタカナ</code> key found on some Japanese word processing keyboards.</td></tr>
+					</tbody>
+				</table>
+
+			</div>
+
+		</div>
+<!-- keyboard-key-codes -->
+
+	
+	</div>  
+<!-- code-value-tables -->
+
+		
+	
+<!-- Appendix G: Acknowledgements ========================================================-->
+
+	<div id="acknowledgements-contributors"  class="section">
+		
+<!--OddPage-->
+<h2 id="h2_acknowledgements-contributors"><span class="secno">3. </span>Acknowledgements</h2>
+
+		<p class="1st">Considerable thanks are due to the following participants of the
+			WebApps Working Group for providing substantial material contributions
+			in the process of developing this specification.
+			</p>
+
+		<p>Gary Kacmarcik (Google), Masayuki Nakano (Mozilla)
+			</p>
+
+	</div>  
+<!-- acknowledgements-contributors -->
+
+
+	
+<!-- Appendix H: References ========================================================-->
+
+	<div id="references"  class="section">
+		
+<!--OddPage-->
+<h2 id="h2_references"><span class="secno">4. </span>References</h2>
+
+		<p>For the latest version of any <abbr title="World Wide Web Consortium">W3C</abbr> specification please consult the list of
+			<a class="normative" href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> Technical Reports</a>
+			available at http://www.w3.org/TR/.
+			</p>
+
+		<div id="references-References-Normative"  class="section">
+			<h3 id="h3_references-References-Normative"><span class="secno">4.1 </span>Normative References</h3>
+
+			<dl>
+				<dt id="references-D3E"><strong>[DOM3 Events]</strong></dt>
+				<dd><cite><a href="https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html">Document Object Model (DOM) Level 3 Events Specification</a></cite>,<br />
+					G. Kacmarcik, T. Leithead, Editors.<br />
+					World Wide Web Consortium, April 2014.<br />
+					This version of the Document Object Model Level 3 Events Specification is https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html.<br />
+					The <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Events/">latest version of Document Object Model Level 3 Events</a>
+					is available at http://www.w3.org/TR/DOM-Level-3-Events/.
+					</dd>
+
+				<dt id="references-ISO-9995-2-3"><strong>[ISO9995-2/3]</strong></dt>
+				<dd><cite><a href="http://www.iso.org/iso/search.htm?qt=9995&amp;published=on">ISO/IEC 9995, Information technology
+					-- Keyboard layouts for text and office systems
+					-- Part 2: Alphanumeric Section and Part 3: Complementary layouts of the alphanumeric zone of the alphanumeric section.</a></cite>
+					</dd>
+
+				<dt id="references-ISO-9995-8"><strong>[ISO9995-8]</strong></dt>
+				<dd><cite><a href="http://www.iso.org/iso/search.htm?qt=9995&amp;published=on">ISO/IEC 9995-8:2006, Information technology
+					-- Keyboard layouts for text and office systems
+					-- Part 8: Allocation of letters to the keys of a numeric keypad.</a></cite>
+					</dd>
+
+				<dt id="references-Unicode"><strong>[Unicode]</strong></dt>
+				<dd><cite>The Unicode Standard, Version 5.0</cite>,<br />
+					ISBN 0-321-48091-0, as updated periodically by the publication of new versions.<br />
+					See also <a class="normative" href="http://www.unicode.org/standard/versions/">Versions of the Unicode Standard</a>,
+					available at http://www.unicode.org/standard/versions/ for
+					latest version and additional information on versions of the standard and of the Unicode Character Database.
+					</dd>
+			</dl>
+		</div>
+	</div>  
+<!-- references -->
+
+
+  
+
+<form action="http://www.w3.org/Bugs/Public/enter_bug.cgi" target="_blank" style="position: fixed; padding: 5px; top: 1em; right: 2em; font-family: sans-serif; font-size: 0.8em; border: 1px solid rgb(255, 0, 0); background-color: rgb(255, 255, 255);">Select text and <input type="submit" accesskey="f" value="file a bug" style="display: block;" /><input type="hidden" name="comment" value="" /><input type="hidden" name="product" value="WebAppsWG" /><input type="hidden" name="component" value="DOM3 Events" /><input type="hidden" name="short_desc" value="[D3E-code]: " /></form></body></html>
\ No newline at end of file