reiterated key identifier order, fixed key event examples with char values, added styling for keyid defintion terms, added DOM_KEY_FORMAT_ENTITY for convertKeyIdentifier, and corrected references to ISO/IEC 9995
authorschepers
Tue, 22 Sep 2009 10:41:23 +0900
changeset 205 fbc7cbfeea1c
parent 204 a0f1ff02e58c
child 206 0a35d21c54ab
reiterated key identifier order, fixed key event examples with char values, added styling for keyid defintion terms, added DOM_KEY_FORMAT_ENTITY for convertKeyIdentifier, and corrected references to ISO/IEC 9995
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Mon Sep 21 16:57:29 2009 +0900
+++ b/html/DOM3-Events.html	Tue Sep 22 10:41:23 2009 +0900
@@ -81,7 +81,26 @@
       a.eventtype code {
         font-size: 1.13em;
       }
-
+      
+      .charval {
+        color: #191970;
+        background-color: #98fb98;
+      }
+
+      .keyname {
+        color: #191970;
+        background-color: #b0e0e6;
+      }
+      
+      .codepoint {
+        color: #191970;
+        background-color: #ffe4b5;
+      }
+      
+      dl#key-id-set dt {
+        display: inline;
+      }
+      
       a.def {
         color: inherit;
         text-decoration: inherit;
@@ -171,7 +190,7 @@
       <dl>
         <dt>This version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.90">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.90</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.91">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.91</a>
         </dd>
         <dt>Latest stable version:</dt>
         <dd>
@@ -179,7 +198,7 @@
         </dd>
         <dt>Previous version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.89">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.89</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.90">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.90</a>
         </dd>
         <dt>Editor's Draft:</dt>
         <dd>
@@ -466,7 +485,7 @@
                 <a href="#keyset-cancelable_keys">6.2.5 Default actions and cancelable keyboard events</a>
               </li>
               <li>
-                <a href="#keyset-Guide">6.2.6 Guidelines for defining key identifiers</a>
+                <a href="#keyset-Guide">6.2.6 Guidelines for selecting and defining key identifiers</a>
               </li>
               <li>
                 <a href="#keyset-key-identifiers">6.2.7 Key Identifiers Set</a>
@@ -1391,8 +1410,9 @@
   // Introduced in DOM Level 3:
   // KeyIdentifierFormatCode
   const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_CHARACTER">DOM_KEY_FORMAT_CHARACTER</a>      = 0x00;
-  const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_NAME">DOM_KEY_FORMAT_NAME</a>          = 0x01;
-  const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_UNICODE">DOM_KEY_FORMAT_UNICODE</a>         = 0x02;
+  const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_NAME">DOM_KEY_FORMAT_NAME</a>           = 0x01;
+  const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_UNICODE">DOM_KEY_FORMAT_UNICODE</a>        = 0x02;
+  const unsigned long       <a class="noxref" href="#events-DOM_KEY_FORMAT_ENTITY">DOM_KEY_FORMAT_ENTITY</a>         = 0x03;
 
   <a class="noxref" href="#events-Events-Event">Event</a>              <a class="noxref" href="#events-Events-DocumentEvent-createEvent">createEvent</a>(in DOMString eventType)
                                         raises(DOMException);
@@ -1428,7 +1448,7 @@
                             <code class="constant-name">DOM_KEY_FORMAT_CHARACTER</code>
                           </a>
                         </dt>
-                        <dd>The format to which the key identifier must be converted is a character.</dd>
+                        <dd>The format to which the key identifier must be converted is a <a class="def" href="#glossary-character-value">character value</a>.</dd>
                         <dt>
                           <a id="events-DOM_KEY_FORMAT_NAME">
                             <code class="constant-name">DOM_KEY_FORMAT_NAME</code>
@@ -1441,6 +1461,12 @@
                           </a>
                         </dt>
                         <dd>The format to which the key identifier must be converted is a <a class="def" href="#glossary-unicode-code-point">Unicode code point</a>.</dd>
+                        <dt>
+                          <a id="events-DOM_KEY_FORMAT_ENTITY">
+                            <code class="constant-name">DOM_KEY_FORMAT_ENTITY</code>
+                          </a>
+                        </dt>
+                        <dd>The format to which the key identifier must be converted is a numberic entity reference representing the <a class="def" href="#glossary-unicode-code-point">Unicode code point</a> for that character.  For example, the <a class="def" href="#glossary-character-value">character value</a> <code class="value">'é'</code> must be converted to the entity string <code class="value">'&amp;#xE9;'</code>.</dd>                        
                       </dl>
                     </dd>
                   </dl>
@@ -3601,7 +3627,7 @@
           </dd>
         </dl>
         
-        <p class="warning" id="keycode-charcode"><strong>Warning:</strong>  Legacy keyboard event implementations may include two additional attributes, <code>keyCode</code> and <code>charCode</code>.  The <code>keyCode</code> attribute indicates a numeric value associated with a particular key on a computer keyboard, while the <code>charCode</code> attribute indicates the <acronym title="American Standard Code for Information Interchange">ASCII</acronym> value of the character associated with that key (which may or may not be the same as the <code>keyCode</code> value) and is applicable only to keys that produce a character value.  In practice, <code>keyCode</code> and <code>charCode</code> are inconsistent across platforms and even the same implementation on different operating systems or using different localizations.  Both <code>keyCode</code> and <code>charCode</code> are considered <a class="def" href="#glossary-obsolete">obsolete</a> in DOM Level 3 Events, and this specification does not define behavior for them; authors should use <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> instead.  <em>For more information, see the informative table in <a href="#keyset-keyCode-charCode">Key identifiers, keyCode, and charCode</a>.</em></p>
+        <p class="warning" id="keycode-charcode"><strong>Warning:</strong>  Legacy keyboard event implementations may include two additional attributes, <code>keyCode</code> and <code>charCode</code>.  The <code>keyCode</code> attribute indicates a numeric value associated with a particular key on a computer keyboard, while the <code>charCode</code> attribute indicates the <acronym title="American Standard Code for Information Interchange">ASCII</acronym> value of the character associated with that key (which may or may not be the same as the <code>keyCode</code> value) and is applicable only to keys that produce a <a class="def" href="#glossary-character-value">character value</a>.  In practice, <code>keyCode</code> and <code>charCode</code> are inconsistent across platforms and even the same implementation on different operating systems or using different localizations.  Both <code>keyCode</code> and <code>charCode</code> are considered <a class="def" href="#glossary-obsolete">obsolete</a> in DOM Level 3 Events, and this specification does not define behavior for them; authors should use <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> instead.  <em>For more information, see the informative table in <a href="#keyset-keyCode-charCode">Key identifiers, keyCode, and charCode</a>.</em></p>
         
         <p><a class="def" href="#glossary-obsolete">obsolete</a></p>
         
@@ -4254,15 +4280,15 @@
         <p class="note"><strong>Note:</strong> Key identifiers should not be confused with <em>scan codes</em>, which are the low-level hexadecimal signals produced for each key by the keyboard driver software, and which are mapped at the operating system to a <acronym title="Virtual Key">VK</acronym> ("virtual key"), which in turn may be mapped to the user-defined key configuration.  Key identifiers are a high-level abstraction of that final mapping.</p>
 
         <h5 class="adiv2"><a id="keyboard-desktop" href="#keyboard-desktop">6.1.1.1 Desktop and Laptop Keyboards</a></h5>
-        <p>In the case where an author wishes to rely on the mechanical layout of a desktop or laptop keyboard, this specification suggests the keyboard configuration specified in ISO/IEC 9995-3-FCD:2009A [<cite><a class="noxref informative" href="#references-ISO-9995-3">ISO-9995-3</a></cite>], which defines a common layout for primary, secondary, and auxiliary key mappings on a typical alphanumeric keyboard, as a common layout appropriate to some international uses.</p>
+        <p>In the case where an author wishes to rely on the mechanical layout of a desktop or laptop keyboard, this specification suggests the keyboard configuration specified in ISO/IEC 9995, parts 2 and 3 [<cite><a class="noxref informative" href="#references-ISO-9995-2-3">ISO-9995-2/3</a></cite>], which defines a common layout for primary, secondary, and auxiliary key mappings on a typical alphanumeric keyboard, as a common layout appropriate to some international uses.</p>
 
         <p class="note"><strong>Note:</strong> This keyboard layout is still, in essence, a <a class="def" href="#glossary-qwerty">QWERTY</a> keyboard, and will not match the keyboards or configurations of many users.  Authors cannot rely upon any particular configuration, and should create content in an internationalized and localizable manner.</p>
 
         <div class="figure" style="text-align: center">
           <object type="image/svg+xml" data="images/ISOIEC-9995-3-FCD-2009A.svg" width="900" height="300">
-            <img src="images/ISOIEC-9995-3-FCD-2009A.png" alt="A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A"/>
+            <img src="images/ISOIEC-9995-3-FCD-2009A.png" alt="A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995, parts 2 and 3"/>
           </object>
-          <p style="text-align:left"><em>Figure 3: A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO/IEC 9995-3:2009A</em></p>
+          <p style="text-align:left"><em>Figure 3: A graphical depiction of an ISO standard defining layouts of computer keyboards, ISO 9995, parts 2 and 3</em></p>
         </div>
 
         <h5 class="adiv2"><a id="keyboard-mobile" href="#keyboard-mobile">6.1.1.2 Mobile Keypads</a></h5>
@@ -4287,6 +4313,8 @@
         <p>Key identifiers can be used to detect the value of a key which has been pressed, using the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute.  Authors can retrieve the <a class="def" href="#glossary-character-value">character value</a> of upper- or lower-case letters, number, symbols, or other character-producing keys, and also the <a class="def" href="#glossary-key-name">key name</a> of control keys, modifier keys, function keys, or other keys that do not generate characters; these values can be used for monitoring particular input strings, for detecting and acting on modifier key input in combination with other inputs (such as a mouse), for creating virtual keyboards, or for any number of other purposes.</p>  
         
         <p>Key identifiers can also be used by authors in string comparisons, as values for markup attributes (such as the HTML <code>accesskey</code>) in conforming <a class="def" href="#glossary-host-language">host languages</a>, or for other related purposes.   A conforming <a class="def" href="#glossary-host-language">host language</a> should allow authors to use any of the three equivalent string values for a key identifier: the <a class="def" href="#glossary-character-value">character value</a>, the <a class="def" href="#glossary-key-name">key name</a>, or the <a class="def" href="#glossary-unicode-code-point">Unicode code point</a>.</p>
+    		<p class="issue">@@ mention that author should use case-insensitive matching to capture both "t" and "T" for hotkeys, etc.?</p>
+
         
         <p class="note"><strong>Note:</strong> While implementations are recommended to use the most relevant identifier for a key independently of the platform or keyboard layout mappings, authors should not make assumption on the ability of keyboard devices to generate them.  When using keyboard events and key idetifiers for shortcut-key combinations, authors should <q>consider using numbers and function keys (F4, F5, and so on) instead of letters</q> ([<cite><a class="noxref informative" href="#references-DWW95">DWW95</a></cite>]) given that most keyboard layouts will provide keys for those.</p>
         <!-- , and where the key used should default to the most appropriate key for the function, language, operating system, device, and other environmental factors (such as <code>ctrl+c</code> for copy operations) -->
@@ -4296,7 +4324,7 @@
         
         <p>It is also important to note that there is not a one-to-one relationship between key event states and key identifiers.  A particular key identifier may be associated with multiple keys; for example, many standard keyboards contain more than one key with the <code class="value">'Shift'</code> key identifier (normally distinguished by the <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a> values <a href="#events-DOM_KEY_LOCATION_LEFT"><code class="constant-name">DOM_KEY_LOCATION_LEFT</code></a> and <a href="#events-DOM_KEY_LOCATION_RIGHT"><code class="constant-name">DOM_KEY_LOCATION_RIGHT</code></a>) or <code class="value">'8'</code> key identifier (normally distinguished by the <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a> values <a href="#events-DOM_KEY_LOCATION_STANDARD"><code class="constant-name">DOM_KEY_LOCATION_STANDARD</code></a> and <a href="#events-DOM_KEY_LOCATION_NUMPAD"><code class="constant-name">DOM_KEY_LOCATION_NUMPAD</code></a>), and user-configured custom keyboard layouts may duplicate any key identifier in multiple key-state scenarios (note that <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a> is intended for standard keyboard layouts, and cannot always indicate a meaningful distinction).  Similarly, a given key event state may have multiple key identifiers: the key identifier name; the Unicode value; and the character representation itself.  For example, the question mark key has the following key identifiers: <code>'?'</code> (the character); <code>'QuestionMark'</code> (the name); and <code>'U+003F'</code> (the Unicode value).  Note that not all keys will have all these identifiers; for example, the horizontal tabulation (tab) key has a name (<code class="value">'Tab'</code>) and a Unicode value (<code class="value">'U+0009'</code>) but no character representation, the <code>A</code> key has a character representation (<code class="value">'A'</code>) and a Unicode value (<code class="value">'U+0041'</code>) but no name, and the volume mute key has only a name, <code class="value">'VolumeMute'</code>. <span class="issue">@@ Should there always be a name for a key?  The Unicode name for <code class="value">'A'</code> is "LATIN CAPITAL LETTER A"... should the name be the case-insensitive (or camelcased) Unicode name with no spaces (<code class="value">'LatinCapitalLetterA'</code>) or just the character (<code class="value">'A'</code>)?</span></p>
 
-        <p>The value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute of the <a href="#events-Events-KeyboardEvent">KeyboardEvent</a> interface event types (e.g. <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>, <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>, and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>) must default to the character itself; if the key identifier does not have a character representation, the value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute must be the Unicode value; if no Unicode value for the key identifier exists, the value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute must be the key identifier name.  The author may use the <a href="#events-Events-DocumentEvent-convertKeyIdentifier"><code>DocumentEvent.convertKeyIdentifier</code></a> method to find either the <a class="def" href="#glossary-character-value">character value</a>, the <a class="def" href="#glossary-key-name">key name</a>, or <a class="def" href="#glossary-unicode-code-point">Unicode code point</a> of any given key identifier.</p>
+        <p>The value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute of the <a href="#events-Events-KeyboardEvent">KeyboardEvent</a> interface event types (e.g. <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>, <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>, and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>) must default to the <a class="def" href="#glossary-character-value">character value</a> itself; if the key identifier does not have a character representation, the value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute must be the <a class="def" href="#glossary-key-name">key name</a>; if no name for the key identifier exists, the value of the <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute must be the <a class="def" href="#glossary-unicode-code-point">Unicode code point</a>.  The author may use the <a href="#events-Events-DocumentEvent-convertKeyIdentifier"><code>DocumentEvent.convertKeyIdentifier</code></a> method to find either the <a class="def" href="#glossary-character-value">character value</a>, the <a class="def" href="#glossary-key-name">key name</a>, or <a class="def" href="#glossary-unicode-code-point">Unicode code point</a> of any given key identifier.</p>
 
         <p>The meaning of any given character representation is context-dependent and complex.  For example, in some contexts, the asterisk (star) glyph (<code class="value">'*'</code>) represents a footnote or emphasis (when bracketing a passage of text); however, in some documents or executable programs it is equivalent to the mathematical multiplication operation, while in other documents or executable programs, that function is reserved for the multiplication symbol (<code class="value">'×'</code>, Unicode value <code class="value">'U+00D7'</code>) or the miniscule letter <code class="value">'x'</code> (because of that lack of a multiplication key on many keyboard and the superficial resemblance of the glyphs <code class="value">'×'</code> and <code class="value">'x'</code>).  Thus, the semantic meaning or function of character representations is outside the scope of this specification.</p>
 
@@ -4355,19 +4383,30 @@
         <div class="div3">
           <h4 class="adiv3"><a id="keyset-Modifiers" href="#keyset-Modifiers">6.2.2 Modifier keys</a></h4>
           <p>Keyboard input uses modifier keys to change the normal behavior of a key.  Like other keys, modifier keys generate <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> events, as shown in the example below. Some modifiers are activated while the key is being pressed down or maintained pressed such as <code class="value">'Alt'</code>, <code class="value">'Control'</code>, <code class="value">'Shift'</code>, <code class="value">'AltGraph'</code>, or <code class="value">'Meta'</code>. Others modifiers are activated depending on their state such as <code class="value">'CapsLock'</code>, <code class="value">'NumLock'</code>, or <code class="value">'Scroll'</code>. Change in the state happens when the modifier key is being pressed down. The <a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a> interface provides convenient attributes for some common modifiers keys: <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>. Some operating systems simulate the <code class="value">'AltGraph'</code> modifier key with the combination of the <code>"Alt</code> and <code class="value">'Control'</code> modifier keys. Implementations are encouraged to use the <code class="value">'AltGraph'</code> modifier key.</p>
-          <p>The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
+
+          <p>The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q, <a class="def" href="#glossary-unicode-code-point">Unicode code point</a> <code class="value">'U+0051'</code>) on a PC/AT US keyboard using a US mapping:</p>
           <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, shiftKey</li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0051'</code> (Latin Capital Letter Q key), shiftKey</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
             <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'Q'</code></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0051'</code>, shiftKey</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
             <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Shift'</code></li>
           </ol>
+
+          <p>The following example describes an alternate sequence of keys to the example above, where the <code class="value">'Shift'</code> key is released before the <code class="value">'Q'</code> key.  The key identifier for the key labeled <code class="value">'Q'</code> will revert to its unshifted value for the <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event, after the production of the <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event, thus:</p>
+          <ol>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'Q'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Shift'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'q'</code> (<code class="value">'U+0071'</code>, Latin Miniscule Letter Q key)</li>
+          </ol>
+
           <p>The following example describes a possible sequence of keys that does not generate a Unicode character (using the same configuration):</p>
           <ol>
             <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Control'</code>, ctrlKey</li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0056'</code> (Latin Capital Letter V key), ctrlKey</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0056'</code>, ctrlKey</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'v'</code> (<code class="value">'U+0076'</code>, Latin Miniscule Letter V key), ctrlKey</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>:  <code class="value">'v'</code> (<code class="value">'U+0076'</code>, Latin Miniscule Letter V key), ctrlKey</li>
             <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Control'</code></li>
           </ol>
           <p>In some cases, modifier keys change the key identifier value for a key event.  For example, on some MacOS keyboards, the  key labeled <code class="value">'delete'</code> functions the same as the <code class="value">'Backspace'</code> key on the Windows OS when unmodified, but when modified by the <code class="value">'Fn'</code> key, acts as the <code class="value">'Del'</code> key, and the value of the key identifier must match the most appropriate function of the key in its current modified state.</p>
@@ -4379,27 +4418,27 @@
           
           <p>Some keyboard input uses <a class="def" href="#glossary-dead-key">dead keys</a> for the input of composed character sequences. Unlike the handwriting sequence, in which users enter the base character first, keyboard input requires to enter a special state when a <a class="def" href="#glossary-dead-key">dead key</a> is pressed and emit the character(s) only when one of a limited number of "legal" base character is entered.  (NOTE: the MacOS and Linux operating systems use input methods to process <a class="def" href="#glossary-dead-key">dead keys</a>.)
                           </p>
-          <p>The <a class="def" href="#glossary-dead-key">dead keys</a> are represented in the key identifiers set using combining diacritical marks. The sequence of keystrokes "U+0302" (Combining Circumflex Accent key) and "U+0045" (Latin Capital Letter E key) will likely produce (on a PC/AT french keyboard using a french mapping and without any modifier activated) the Unicode character &#xEA; (Latin Small Letter E With Circumflex), as preferred by the Unicode Normalization Form <em>NFC</em>:</p>
+          <p>The <a class="def" href="#glossary-dead-key">dead keys</a> are represented in the key identifiers set using combining diacritical marks. The sequence of keystrokes "U+0302" (Combining Circumflex Accent key) and "U+0065" (Latin Miniscule Letter E key) will likely produce (on a PC/AT french keyboard using a french mapping and without any modifier activated) the Unicode character &#xEA; (Latin Small Letter E With Circumflex), as preferred by the Unicode Normalization Form <em>NFC</em>:</p>
           <ol>
             <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
             <li><a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>: <code class="value">''</code></li>
             <li><a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>: <code class="value">''</code><span class="issue">@@ (value undefined - to be discussed)</span></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code></li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0045'</code> (Latin Capital Letter E key)</li>
-            <li><a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a>: <code class="value">'&#xE9;'</code><span class="issue">@@ should compositionend come before or after textInput</span></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'e'</code> (<code class="value">'U+0065'</code>, Latin Miniscule Letter E key) <span class="issue">@@ shouldn't this be <code class="value">'&#xE9;'</code>?</span></li>
+            <li><a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a>: <code class="value">'&#xE9;'</code></li>
             <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'&#xE9;'</code> (<code>"inputMode"</code>: <code class="value">'DOM_INPUT_METHOD_IME'</code>)</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0045'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'e'</code> (<code class="value">'U+0065'</code>, Latin Miniscule Letter E key)</li>
           </ol>
           <p>This process may be aborted when a user types an unsupported base character (that is, a base character for which the which the active diacritical mark is not available) after pressing a <a class="def" href="#glossary-dead-key">dead key</a>:</p>
           <ol>
             <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
             <li><a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>: <code class="value">''</code></li>
             <li><a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>: <code class="value">''</code><span class="issue">@@ (undefined - to be discussed)</span></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code></li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0051'</code> (Latin Capital Letter Q key)</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'q'</code> (<code class="value">'U+0071'</code>, The Latin Miniscule Letter Q key)</li>
             <li><a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a>: <code class="value">''</code></li>
             <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'q'</code> (<code>"inputMode"</code>: <code class="value">'DOM_INPUT_METHOD_KEYBOARD'</code>)</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0051'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'q'</code> (<code class="value">'U+0071'</code>, The Latin Miniscule Letter Q key)</li>
           </ol>
         </div>
     <!-- div3 DeadKeys -->
@@ -4411,11 +4450,11 @@
           <p>Keyboard events correspond to the events generated by the input device after the keyboard layout mapping but before the processing of the input method editor.</p>
           <p>The following example describes a possible sequence of keys to generate the Unicode character &#x5E02; (Kanji character, part of CJK Unified Ideographs) using Japanese input methods. This example assumes that the input method editor is activated and in the Japanese-Romaji input mode. The keys <code class="value">'Convert'</code> and <code class="value">'Accept'</code> may be replaced by others depending on the input device in use and the configuration of the IME, e.g. it could be respectively <code class="value">'U+0020'</code> (Space key) and <code class="value">'Enter'</code>.</p>
           <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0053'</code> (Latin Capital Letter S key)</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'s'</code> (<code class="value">'U+0073'</code>, Latin Miniscule Letter S key)</li></li>
             <li><a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>: <code class="value">''</code></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0053'</code> (Latin Capital Letter S key)</li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0049'</code> (Latin Capital Letter I key)</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0049'</code> (Latin Capital Letter I key)</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'s'</code> (<code class="value">'U+0073'</code>, Latin Miniscule Letter S key)</li></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'i'</code> (<code class="value">'U+0069'</code>, Latin Miniscule Letter I key)</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'i'</code> (<code class="value">'U+0069'</code>, Latin Miniscule Letter I key)</li>
             <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Convert'</code></li>
             <li><a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>: <code class="value">'&#x8A69;'</code></li>
             <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Convert'</code></li>
@@ -4429,11 +4468,11 @@
           </ol>
           <p>IME composition may also be canceled as in the following example, with conditions identical to the previous example.  The key "Cancel" may also be replaced by others depending on the input device in use and the configuration of the IME, e.g. it could be "U+001B" (Escape key).</p>
           <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0053'</code> (Latin Capital Letter S key)</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'s'</code> (<code class="value">'U+0073'</code>, Latin Miniscule Letter S key)</li></li>
             <li><a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>: <code class="value">''</code></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0053'</code> (Latin Capital Letter S key)</li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0049'</code> (Latin Capital Letter I key)</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0049'</code> (Latin Capital Letter I key)</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'s'</code> (<code class="value">'U+0073'</code>, Latin Miniscule Letter S key)</li></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'i'</code> (<code class="value">'U+0069'</code>, Latin Miniscule Letter I key)</li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'i'</code> (<code class="value">'U+0069'</code>, Latin Miniscule Letter I key)</li>
             <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Convert'</code></li>
             <li><a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>: <code class="value">'&#x8A69;'</code></li>
             <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Convert'</code></li>
@@ -4460,40 +4499,57 @@
           
           <p>Canceling the <a class="def" href="#glossary-default-action">default action</a> of a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event must not affect its respective <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event, but it must prevent the respective <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event from being generated. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
           <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0051'</code> (Latin Capital Letter Q key), shiftKey<br />
-                the <a class="def" href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object.</li>
-            <li>No <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> shall be generated.</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0051'</code>, shiftKey</li>
-          </ol>
-          <p>If the key is a modifier key, the keystroke shall be taken into account for the modifiers states. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
-          <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, shiftKey<br />
-                the <a class="def" href="#glossary-default-action">default action</a> of the keydown event shall be prevented.</li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0051'</code> (Latin Capital Letter Q key), shiftKey</li>
-            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'Q'</code></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0051'</code>, shiftKey</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><em>The <a class="def" href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object</em></li>
+            <li><em>No <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event is generated</em></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
             <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Shift'</code></li>
           </ol>
-          <p>If the key is part of a sequence of several keystrokes, whether it is a <a class="def" href="#glossary-dead-key">dead key</a> or it is contributing to an Input Method Editor sequence, the keystroke shall be ignored (not taken into account) only if the <a class="def" href="#glossary-default-action">default action</a> is canceled on the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event. Canceling a <a class="def" href="#glossary-dead-key">dead key</a> on a <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event has not effect on <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> events. The following example uses the keystrokes <code class="value">'U+0302'</code> (Combining Circumflex Accent key) and <code class="value">'U+0045'</code> (Latin Capital Letter E key) (on a PC/AT french keyboard using a french mapping and without any modifier activated):</p>
+
+          <p>If the key is a modifier key, the keystroke must still be taken into account for the modifiers states. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
           <ol>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)<br />
-                the <a class="def" href="#glossary-default-action">default action</a> of the keydown event shall be prevented</li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code></li>
-            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0045'</code> (Latin Capital Letter E key)</li>
-            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'a'</code></li>
-            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0045'</code></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><em>The <a class="def" href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object</em></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'Q'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Q'</code> (<code class="value">'U+0051'</code>, Latin Capital Letter Q key), <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Shift'</code></li>
+          </ol>
+          
+          <p class="issue">@@ does this make sense? shouldn't the shift modifier attribute be canceled? needs testing...</p>
+
+          <!-- <p>If the key is a modifier key, the keystroke must not be taken into account for the modifiers states. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
+          <ol>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'Shift'</code>, <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><em>The <a class="def" href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object</em></li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'q'</code> (<code class="value">'U+0071'</code>, Latin Miniscule Letter Q key), no <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'q'</code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'q'</code> (<code class="value">'U+0071'</code>, Latin Miniscule Letter Q key), no <code class="attribute-name"><a href="#events-Events-MouseEvent-shiftKey">shiftKey</a></code></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'Shift'</code></li>
+          </ol> -->
+
+          <p>If the key is part of a sequence of several keystrokes, whether it is a <a class="def" href="#glossary-dead-key">dead key</a> or it is contributing to an Input Method Editor sequence, the keystroke shall be ignored (not taken into account) only if the <a class="def" href="#glossary-default-action">default action</a> is canceled on the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event. Canceling a <a class="def" href="#glossary-dead-key">dead key</a> on a <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event has no effect on <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> events. The following example uses the keystrokes <code class="value">'U+0302'</code> (Combining Circumflex Accent key) and <code class="value">'e'</code> (<code class="value">'U+0065'</code>, Latin Miniscule Letter E key) (on a PC/AT french keyboard using a french mapping and without any modifier activated):</p>
+          <ol>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
+                <li><em>The <a class="def" href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object</em></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'U+0302'</code> (Combining Circumflex Accent key)</li>
+            <li><a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>: <code class="value">'e'</code> (<code class="value">'U+0065'</code>, Latin Miniscule Letter E key) <span class="issue">@@ shouldn't this be <code class="value">'&#xE9;'</code>?</span></li>
+            <li><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>: <code class="value">'a'</code> <span class="issue">@@ shouldn't this be <code class="value">'&#xE9;'</code>?</span></li>
+            <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>: <code class="value">'e'</code> (<code class="value">'U+0065'</code>, Latin Miniscule Letter E key) <span class="issue">@@ shouldn't this be <code class="value">'&#xE9;'</code>?</span></li>
           </ol>
         </div>
     <!-- div3 cancelable_keys -->
-
+    
         <div class="div3">
-          <h4 class="adiv3"><a id="keyset-Guide" href="#keyset-Guide">6.2.6 Guidelines for defining key identifiers</a></h4>
+          <h4 class="adiv3"><a id="keyset-Guide" href="#keyset-Guide">6.2.6 Guidelines for selecting and defining key identifiers</a></h4>
 
   		    <p class="note"><strong>Note:</strong> This section is normative.</p>
           <p>The list of key identifiers contained in this specification is not exhaustive and input devices may have to define their own key identifiers. Here is a algorithm to determine which key identifier to use:</p>  
 
         	<ol>
-        		<li>Consider the primary function of the key (i.e., without modifiers), taking into consideration the keyboard layout mapping in use, to determine if a corresponding Unicode character exists from which a key identifier may be derived.  If multiple Unicode characters exist which correspond to the primary function of the key, the Unicode character with the lowest codepoint must be used. 
+        		<li>Consider the primary function of the key (i.e., without modifiers), taking into consideration the keyboard layout mapping in use, to determine if a corresponding Unicode character exists from which a key identifier may be derived.  
+        		  If multiple Unicode characters exist which correspond to the primary function of the key, the Unicode character with the lowest codepoint must be used. <span class="issue">@@ won't this be a problem for detecting the range for that character, if it's intended to be from a particular language? is there some way for the implementation to detect which language or code block the code point is from?</span>
         			<ol>
         				<li>If the primary function of the key is to generate a character, and that character is in one of the <a class="def" href="#glossary-Unicode-character-categories">Unicode character categories</a>, then the key identifier shall be a string consisting of just that character.  <!-- If the primary function of the key is to generate a character in class <abbr title="Letter, Lowercase">Ll</abbr> for which there exists an equivalent, single character in class <abbr title="Letter, Uppercase">Lu</abbr>, the uppercase character should be used instead. <br/><span class="issue">Is this necessary?  Why can't we simply allow lowercase letters as well?  If a script author wishes to do a comparison, they can cast the output to upper or lower case as needed.  See <a href="http://www.w3.org/2008/webapps/track/issues/23" title="ISSUE-23 - Web Applications Working Group Tracker">ISSUE-23</a>.</span> --></li>
         				<li> If the primary function of the key is to generate a character that is not in one of the above general categories, or if the primary function of the key is a function for which there exists a corresponding Unicode character that is not in one of the above general categories, then: 
@@ -4520,7 +4576,7 @@
         <div>
           <h4 class="adiv3"><a id="keyset-key-identifiers" href="#keyset-key-identifiers">6.2.7 Key Identifiers Set</a></h4>
           
-          <p>This section defines a list of key identifiers which implementations must support, at a minimum; implementations may support additional key identifiers, in a manner conforming to the <a href="#keyset-Guide">guidelines for defining key identifiers</a>.  Each key identifier defines one or more of the following: a <a class="def" href="#glossary-character-value">character value</a>, a <a class="def" href="#glossary-key-name">key name</a>, and a <a class="def" href="#glossary-unicode-code-point">Unicode code point</a>.  Future versions of this specification may include key identifiers not included here, which have become common since the publication of this specification.</p>
+          <p>This section defines a list of key identifiers which implementations must support, at a minimum; implementations may support additional key identifiers, in a manner conforming to the <a href="#keyset-Guide">guidelines for selecting and defining key identifiers</a>.  Each key identifier defines one or more of the following: a <a class="def" href="#glossary-character-value">character value</a>, a <a class="def" href="#glossary-key-name">key name</a>, and a <a class="def" href="#glossary-unicode-code-point">Unicode code point</a>.  Future versions of this specification may include key identifiers not included here, which have become common since the publication of this specification.  The <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> attribute of an event must always be the most author-friendly of these available, in the following order: <a class="def charval" href="#glossary-character-value">character value</a>, <a class="def keyname" href="#glossary-key-name">key name</a>, or <a class="def codepoint" href="#glossary-unicode-code-point">Unicode code point</a>.</p>
           
           <p>The <a class="def" href="#glossary-key-name">key names</a> defined in this specification are based 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="noxref 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="noxref informative" href="#references-Keys">Keys enumeration for .Net</a></cite>].  The <a class="def" href="#glossary-character-value">character values</a> and a <a class="def" href="#glossary-unicode-code-point">Unicode code points</a> defined in this specification are derived from the Unicode standard [<a id="references-Unicode">Unicode</a>].</p>
       	  
@@ -4528,882 +4584,880 @@
 
       		<p class="issue">@@ Add a <code class="value">'power'</code> key?</p>
 
-      		<p class="issue">@@ In the case of markup and attribute values, should the Key Identifiers for character keys be case-insensitive?</p>
-
-          <dl>
-            <dt><a id="keyset-key-Accept"><code class="value">'Accept'</code></a></dt>
+          <dl id="key-id-set">
+            <dt><a id="keyset-key-Accept"><code class="value keyname">'Accept'</code></a></dt>
             <dd>The Accept (Commit, OK) key.</dd>
 
-            <dt><a id="keyset-key-Add"><code class="value">'Add'</code></a></dt>
+            <dt><a id="keyset-key-Add"><code class="value keyname">'Add'</code></a></dt>
             <dd>The Add key.</dd>
 
-            <dt><a id="keyset-key-Again"><code class="value">'Again'</code></a></dt>
+            <dt><a id="keyset-key-Again"><code class="value keyname">'Again'</code></a></dt>
             <dd>The Again key.</dd>
 
-            <dt><a id="keyset-key-AllCandidates"><code class="value">'AllCandidates'</code></a></dt>
+            <dt><a id="keyset-key-AllCandidates"><code class="value keyname">'AllCandidates'</code></a></dt>
             <dd>The All Candidates key.</dd>
 
-            <dt><a id="keyset-key-Alphanumeric"><code class="value">'Alphanumeric'</code></a></dt>
+            <dt><a id="keyset-key-Alphanumeric"><code class="value keyname">'Alphanumeric'</code></a></dt>
             <dd>The Alphanumeric key.</dd>
 
-            <dt><a id="keyset-key-Alt"><code class="value">'Alt'</code></a></dt>
+            <dt><a id="keyset-key-Alt"><code class="value keyname">'Alt'</code></a></dt>
             <dd>The Alt (Menu) key.</dd>
 
-            <dt><a id="keyset-key-AltGraph"><code class="value">'AltGraph'</code></a></dt>
+            <dt><a id="keyset-key-AltGraph"><code class="value keyname">'AltGraph'</code></a></dt>
             <dd>The Alt-Graph key.</dd>
 
-            <dt><a id="keyset-key-Apps"><code class="value">'Apps'</code></a></dt>
+            <dt><a id="keyset-key-Apps"><code class="value keyname">'Apps'</code></a></dt>
             <dd>The Application key.</dd>
 
-            <dt><a id="keyset-key-Attn"><code class="value">'Attn'</code></a></dt>
+            <dt><a id="keyset-key-Attn"><code class="value keyname">'Attn'</code></a></dt>
             <dd>The ATTN key.</dd>
 
-            <dt><a id="keyset-key-BrowserBack"><code class="value">'BrowserBack'</code></a></dt>
+            <dt><a id="keyset-key-BrowserBack"><code class="value keyname">'BrowserBack'</code></a></dt>
             <dd>The Browser Back key.</dd>
 
-            <dt><a id="keyset-key-BrowserFavorites"><code class="value">'BrowserFavorites'</code></a></dt>
+            <dt><a id="keyset-key-BrowserFavorites"><code class="value keyname">'BrowserFavorites'</code></a></dt>
             <dd>The Browser Favorites key.</dd>
 
-            <dt><a id="keyset-key-BrowserForward"><code class="value">'BrowserForward'</code></a></dt>
+            <dt><a id="keyset-key-BrowserForward"><code class="value keyname">'BrowserForward'</code></a></dt>
             <dd>The Browser Forward key.</dd>
 
-            <dt><a id="keyset-key-BrowserHome"><code class="value">'BrowserHome'</code></a></dt>
+            <dt><a id="keyset-key-BrowserHome"><code class="value keyname">'BrowserHome'</code></a></dt>
             <dd>The Browser Home key.</dd>
 
-            <dt><a id="keyset-key-BrowserRefresh"><code class="value">'BrowserRefresh'</code></a></dt>
+            <dt><a id="keyset-key-BrowserRefresh"><code class="value keyname">'BrowserRefresh'</code></a></dt>
             <dd>The Browser Refresh key.</dd>
 
-            <dt><a id="keyset-key-BrowserSearch"><code class="value">'BrowserSearch'</code></a></dt>
+            <dt><a id="keyset-key-BrowserSearch"><code class="value keyname">'BrowserSearch'</code></a></dt>
             <dd>The Browser Search key.</dd>
 
-            <dt><a id="keyset-key-BrowserStop"><code class="value">'BrowserStop'</code></a></dt>
+            <dt><a id="keyset-key-BrowserStop"><code class="value keyname">'BrowserStop'</code></a></dt>
             <dd>The Browser Stop key.</dd>
 
-            <dt><a id="keyset-key-CapsLock"><code class="value">'CapsLock'</code></a></dt>
+            <dt><a id="keyset-key-CapsLock"><code class="value keyname">'CapsLock'</code></a></dt>
             <dd>The Caps Lock (Capital) key.</dd>
 
-            <dt><a id="keyset-key-Clear"><code class="value">'Clear'</code></a></dt>
+            <dt><a id="keyset-key-Clear"><code class="value keyname">'Clear'</code></a></dt>
             <dd>The Clear key.</dd>
 
-            <dt><a id="keyset-key-CodeInput"><code class="value">'CodeInput'</code></a></dt>
+            <dt><a id="keyset-key-CodeInput"><code class="value keyname">'CodeInput'</code></a></dt>
             <dd>The Code Input key.</dd>
 
-            <dt><a id="keyset-key-Compose"><code class="value">'Compose'</code></a></dt>
+            <dt><a id="keyset-key-Compose"><code class="value keyname">'Compose'</code></a></dt>
             <dd>The Compose key.</dd>
 
-            <dt><a id="keyset-key-Control"><code class="value">'Control'</code></a></dt>
+            <dt><a id="keyset-key-Control"><code class="value keyname">'Control'</code></a></dt>
             <dd>The Control (Ctrl) key.</dd>
 
-            <dt><a id="keyset-key-Crsel"><code class="value">'Crsel'</code></a></dt>
+            <dt><a id="keyset-key-Crsel"><code class="value keyname">'Crsel'</code></a></dt>
             <dd>The Crsel key.</dd>
 
-            <dt><a id="keyset-key-Convert"><code class="value">'Convert'</code></a></dt>
+            <dt><a id="keyset-key-Convert"><code class="value keyname">'Convert'</code></a></dt>
             <dd>The Convert key.</dd>
 
-            <dt><a id="keyset-key-Copy"><code class="value">'Copy'</code></a></dt>
+            <dt><a id="keyset-key-Copy"><code class="value keyname">'Copy'</code></a></dt>
             <dd>The Copy key.</dd>
 
-            <dt><a id="keyset-key-Cut"><code class="value">'Cut'</code></a></dt>
+            <dt><a id="keyset-key-Cut"><code class="value keyname">'Cut'</code></a></dt>
             <dd>The Cut key.</dd>
 
-            <dt><a id="keyset-key-Decimal"><code class="value">'Decimal'</code></a></dt>
+            <dt><a id="keyset-key-Decimal"><code class="value keyname">'Decimal'</code></a></dt>
             <dd>The Decimal key.</dd>
 
-            <dt><a id="keyset-key-Divide"><code class="value">'Divide'</code></a></dt>
+            <dt><a id="keyset-key-Divide"><code class="value keyname">'Divide'</code></a></dt>
             <dd>The Divide key.</dd>
 
-            <dt><a id="keyset-key-Down"><code class="value">'Down'</code></a></dt>
+            <dt><a id="keyset-key-Down"><code class="value keyname">'Down'</code></a></dt>
             <dd>The Down Arrow key.</dd>
 
-            <dt><a id="keyset-key-DownLeft"><code class="value">'DownLeft'</code></a></dt>
+            <dt><a id="keyset-key-DownLeft"><code class="value keyname">'DownLeft'</code></a></dt>
             <dd>The diagonal Down-Left Arrow key.</dd>
 
-            <dt><a id="keyset-key-DownRight"><code class="value">'DownRight'</code></a></dt>
+            <dt><a id="keyset-key-DownRight"><code class="value keyname">'DownRight'</code></a></dt>
             <dd>The diagonal Down-Right Arrow key.</dd>
 
-            <dt><a id="keyset-key-End"><code class="value">'End'</code></a></dt>
+            <dt><a id="keyset-key-End"><code class="value keyname">'End'</code></a></dt>
             <dd>The End key.</dd>
 
-            <dt><a id="keyset-key-Enter"><code class="value">'Enter'</code></a></dt>
+            <dt><a id="keyset-key-Enter"><code class="value keyname">'Enter'</code></a></dt>
             <dd>The Enter key.
              <span class="note"><strong>Note:</strong> This key identifier shall be also used for the Return (Macintosh numpad) key.</span>
             </dd>
 
-            <dt><a id="keyset-key-EraseEof"><code class="value">'EraseEof'</code></a></dt>
+            <dt><a id="keyset-key-EraseEof"><code class="value keyname">'EraseEof'</code></a></dt>
             <dd>The Erase EOF key.</dd>
 
-            <dt><a id="keyset-key-Execute"><code class="value">'Execute'</code></a></dt>
+            <dt><a id="keyset-key-Execute"><code class="value keyname">'Execute'</code></a></dt>
             <dd>The Execute key.</dd>
 
-            <dt><a id="keyset-key-Exsel"><code class="value">'Exsel'</code></a></dt>
+            <dt><a id="keyset-key-Exsel"><code class="value keyname">'Exsel'</code></a></dt>
             <dd>The Exsel key.</dd>
 
-            <dt><a id="keyset-key-Fn"><code class="value">'Fn'</code></a></dt>
+            <dt><a id="keyset-key-Fn"><code class="value keyname">'Fn'</code></a></dt>
             <dd>The Function switch key.</dd>
 
-            <dt><a id="keyset-key-F1"><code class="value">'F1'</code></a></dt>
+            <dt><a id="keyset-key-F1"><code class="value keyname">'F1'</code></a></dt>
             <dd>The F1 key.</dd>
 
-            <dt><a id="keyset-key-F2"><code class="value">'F2'</code></a></dt>
+            <dt><a id="keyset-key-F2"><code class="value keyname">'F2'</code></a></dt>
             <dd>The F2 key.</dd>
 
-            <dt><a id="keyset-key-F3"><code class="value">'F3'</code></a></dt>
+            <dt><a id="keyset-key-F3"><code class="value keyname">'F3'</code></a></dt>
             <dd>The F3 key.</dd>
 
-            <dt><a id="keyset-key-F4"><code class="value">'F4'</code></a></dt>
+            <dt><a id="keyset-key-F4"><code class="value keyname">'F4'</code></a></dt>
             <dd>The F4 key.</dd>
 
-            <dt><a id="keyset-key-F5"><code class="value">'F5'</code></a></dt>
+            <dt><a id="keyset-key-F5"><code class="value keyname">'F5'</code></a></dt>
             <dd>The F5 key.</dd>
 
-            <dt><a id="keyset-key-F6"><code class="value">'F6'</code></a></dt>
+            <dt><a id="keyset-key-F6"><code class="value keyname">'F6'</code></a></dt>
             <dd>The F6 key.</dd>
 
-            <dt><a id="keyset-key-F7"><code class="value">'F7'</code></a></dt>
+            <dt><a id="keyset-key-F7"><code class="value keyname">'F7'</code></a></dt>
             <dd>The F7 key.</dd>
 
-            <dt><a id="keyset-key-F8"><code class="value">'F8'</code></a></dt>
+            <dt><a id="keyset-key-F8"><code class="value keyname">'F8'</code></a></dt>
             <dd>The F8 key.</dd>
 
-            <dt><a id="keyset-key-F9"><code class="value">'F9'</code></a></dt>
+            <dt><a id="keyset-key-F9"><code class="value keyname">'F9'</code></a></dt>
             <dd>The F9 key.</dd>
 
-            <dt><a id="keyset-key-F10"><code class="value">'F10'</code></a></dt>
+            <dt><a id="keyset-key-F10"><code class="value keyname">'F10'</code></a></dt>
             <dd>The F10 key.</dd>
 
-            <dt><a id="keyset-key-F11"><code class="value">'F11'</code></a></dt>
+            <dt><a id="keyset-key-F11"><code class="value keyname">'F11'</code></a></dt>
             <dd>The F11 key.</dd>
 
-            <dt><a id="keyset-key-F12"><code class="value">'F12'</code></a></dt>
+            <dt><a id="keyset-key-F12"><code class="value keyname">'F12'</code></a></dt>
             <dd>The F12 key.</dd>
 
-            <dt><a id="keyset-key-F13"><code class="value">'F13'</code></a></dt>
+            <dt><a id="keyset-key-F13"><code class="value keyname">'F13'</code></a></dt>
             <dd>The F13 key.</dd>
 
-            <dt><a id="keyset-key-F14"><code class="value">'F14'</code></a></dt>
+            <dt><a id="keyset-key-F14"><code class="value keyname">'F14'</code></a></dt>
             <dd>The F14 key.</dd>
 
-            <dt><a id="keyset-key-F15"><code class="value">'F15'</code></a></dt>
+            <dt><a id="keyset-key-F15"><code class="value keyname">'F15'</code></a></dt>
             <dd>The F15 key.</dd>
 
-            <dt><a id="keyset-key-F16"><code class="value">'F16'</code></a></dt>
+            <dt><a id="keyset-key-F16"><code class="value keyname">'F16'</code></a></dt>
             <dd>The F16 key.</dd>
 
-            <dt><a id="keyset-key-F17"><code class="value">'F17'</code></a></dt>
+            <dt><a id="keyset-key-F17"><code class="value keyname">'F17'</code></a></dt>
             <dd>The F17 key.</dd>
 
-            <dt><a id="keyset-key-F18"><code class="value">'F18'</code></a></dt>
+            <dt><a id="keyset-key-F18"><code class="value keyname">'F18'</code></a></dt>
             <dd>The F18 key.</dd>
 
-            <dt><a id="keyset-key-F19"><code class="value">'F19'</code></a></dt>
+            <dt><a id="keyset-key-F19"><code class="value keyname">'F19'</code></a></dt>
             <dd>The F19 key.</dd>
 
-            <dt><a id="keyset-key-F20"><code class="value">'F20'</code></a></dt>
+            <dt><a id="keyset-key-F20"><code class="value keyname">'F20'</code></a></dt>
             <dd>The F20 key.</dd>
 
-            <dt><a id="keyset-key-F21"><code class="value">'F21'</code></a></dt>
+            <dt><a id="keyset-key-F21"><code class="value keyname">'F21'</code></a></dt>
             <dd>The F21 key.</dd>
 
-            <dt><a id="keyset-key-F22"><code class="value">'F22'</code></a></dt>
+            <dt><a id="keyset-key-F22"><code class="value keyname">'F22'</code></a></dt>
             <dd>The F22 key.</dd>
 
-            <dt><a id="keyset-key-F23"><code class="value">'F23'</code></a></dt>
+            <dt><a id="keyset-key-F23"><code class="value keyname">'F23'</code></a></dt>
             <dd>The F23 key.</dd>
 
-            <dt><a id="keyset-key-F24"><code class="value">'F24'</code></a></dt>
+            <dt><a id="keyset-key-F24"><code class="value keyname">'F24'</code></a></dt>
             <dd>The F24 key.</dd>
 
-            <dt><a id="keyset-key-FinalMode"><code class="value">'FinalMode'</code></a></dt>
+            <dt><a id="keyset-key-FinalMode"><code class="value keyname">'FinalMode'</code></a></dt>
             <dd>The Final Mode (Final) key used on some asian keyboards.</dd>
 
-            <dt><a id="keyset-key-Find"><code class="value">'Find'</code></a></dt>
+            <dt><a id="keyset-key-Find"><code class="value keyname">'Find'</code></a></dt>
             <dd>The Find key.</dd>
 
-            <dt><a id="keyset-key-FullWidth"><code class="value">'FullWidth'</code></a></dt>
+            <dt><a id="keyset-key-FullWidth"><code class="value keyname">'FullWidth'</code></a></dt>
             <dd>The Full-Width Characters key.</dd>
 
-            <dt><a id="keyset-key-HalfWidth"><code class="value">'HalfWidth'</code></a></dt>
+            <dt><a id="keyset-key-HalfWidth"><code class="value keyname">'HalfWidth'</code></a></dt>
             <dd>The Half-Width Characters key.</dd>
 
-            <dt><a id="keyset-key-HangulMode"><code class="value">'HangulMode'</code></a></dt>
+            <dt><a id="keyset-key-HangulMode"><code class="value keyname">'HangulMode'</code></a></dt>
             <dd>The Hangul (Korean characters) Mode key.</dd>
 
-            <dt><a id="keyset-key-HanjaMode"><code class="value">'HanjaMode'</code></a></dt>
+            <dt><a id="keyset-key-HanjaMode"><code class="value keyname">'HanjaMode'</code></a></dt>
             <dd>The Hanja (Korean characters) Mode key.</dd>
 
-            <dt><a id="keyset-key-Help"><code class="value">'Help'</code></a></dt>
+            <dt><a id="keyset-key-Help"><code class="value keyname">'Help'</code></a></dt>
             <dd>The Help key.</dd>
 
-            <dt><a id="keyset-key-Hiragana"><code class="value">'Hiragana'</code></a></dt>
+            <dt><a id="keyset-key-Hiragana"><code class="value keyname">'Hiragana'</code></a></dt>
             <dd>The Hiragana (Japanese Kana characters) key.</dd>
 
-            <dt><a id="keyset-key-Home"><code class="value">'Home'</code></a></dt>
+            <dt><a id="keyset-key-Home"><code class="value keyname">'Home'</code></a></dt>
             <dd>The Home key.</dd>
 
-            <dt><a id="keyset-key-Insert"><code class="value">'Insert'</code></a></dt>
+            <dt><a id="keyset-key-Insert"><code class="value keyname">'Insert'</code></a></dt>
             <dd>The Insert (Ins) key.</dd>
 
-            <dt><a id="keyset-key-JapaneseHiragana"><code class="value">'JapaneseHiragana'</code></a></dt>
+            <dt><a id="keyset-key-JapaneseHiragana"><code class="value keyname">'JapaneseHiragana'</code></a></dt>
             <dd>The Japanese-Hiragana key.</dd>
 
-            <dt><a id="keyset-key-JapaneseKatakana"><code class="value">'JapaneseKatakana'</code></a></dt>
+            <dt><a id="keyset-key-JapaneseKatakana"><code class="value keyname">'JapaneseKatakana'</code></a></dt>
             <dd>The Japanese-Katakana key.</dd>
 
-            <dt><a id="keyset-key-JapaneseRomaji"><code class="value">'JapaneseRomaji'</code></a></dt>
+            <dt><a id="keyset-key-JapaneseRomaji"><code class="value keyname">'JapaneseRomaji'</code></a></dt>
             <dd>The Japanese-Romaji key.</dd>
 
-            <dt><a id="keyset-key-JunjaMode"><code class="value">'JunjaMode'</code></a></dt>
+            <dt><a id="keyset-key-JunjaMode"><code class="value keyname">'JunjaMode'</code></a></dt>
             <dd>The Junja Mode key.</dd>
 
-            <dt><a id="keyset-key-KanaMode"><code class="value">'KanaMode'</code></a></dt>
+            <dt><a id="keyset-key-KanaMode"><code class="value keyname">'KanaMode'</code></a></dt>
             <dd>The Kana Mode (Kana Lock) key.</dd>
 
-            <dt><a id="keyset-key-KanjiMode"><code class="value">'KanjiMode'</code></a></dt>
+            <dt><a id="keyset-key-KanjiMode"><code class="value keyname">'KanjiMode'</code></a></dt>
             <dd>The Kanji (Japanese name for ideographic characters of Chinese origin) Mode key.</dd>
 
-            <dt><a id="keyset-key-Katakana"><code class="value">'Katakana'</code></a></dt>
+            <dt><a id="keyset-key-Katakana"><code class="value keyname">'Katakana'</code></a></dt>
             <dd>The Katakana (Japanese Kana characters) key.</dd>
 
-            <dt><a id="keyset-key-LaunchApplication1"><code class="value">'LaunchApplication1'</code></a></dt>
+            <dt><a id="keyset-key-LaunchApplication1"><code class="value keyname">'LaunchApplication1'</code></a></dt>
             <dd>The Start Application One key.</dd>
 
-            <dt><a id="keyset-key-LaunchApplication2"><code class="value">'LaunchApplication2'</code></a></dt>
+            <dt><a id="keyset-key-LaunchApplication2"><code class="value keyname">'LaunchApplication2'</code></a></dt>
             <dd>The Start Application Two key.</dd>
 
-            <dt><a id="keyset-key-LaunchMail"><code class="value">'LaunchMail'</code></a></dt>
+            <dt><a id="keyset-key-LaunchMail"><code class="value keyname">'LaunchMail'</code></a></dt>
             <dd>The Start Mail key.</dd>
 
-            <dt><a id="keyset-key-Left"><code class="value">'Left'</code></a></dt>
+            <dt><a id="keyset-key-Left"><code class="value keyname">'Left'</code></a></dt>
             <dd>The Left Arrow key.</dd>
 
-            <dt><a id="keyset-key-Menu"><code class="value">'Menu'</code></a></dt>
+            <dt><a id="keyset-key-Menu"><code class="value keyname">'Menu'</code></a></dt>
             <dd>The Menu key.</dd>
 
-            <dt><a id="keyset-key-Meta"><code class="value">'Meta'</code></a></dt>
+            <dt><a id="keyset-key-Meta"><code class="value keyname">'Meta'</code></a></dt>
             <dd>The Meta key.</dd>
 
-            <dt><a id="keyset-key-MediaNextTrack"><code class="value">'MediaNextTrack'</code></a></dt>
+            <dt><a id="keyset-key-MediaNextTrack"><code class="value keyname">'MediaNextTrack'</code></a></dt>
             <dd>The Media Next Track key.</dd>
 
-            <dt><a id="keyset-key-MediaPlayPause"><code class="value">'MediaPlayPause'</code></a></dt>
+            <dt><a id="keyset-key-MediaPlayPause"><code class="value keyname">'MediaPlayPause'</code></a></dt>
             <dd>The Media Play Pause key.</dd>
 
-            <dt><a id="keyset-key-MediaPreviousTrack"><code class="value">'MediaPreviousTrack'</code></a></dt>
+            <dt><a id="keyset-key-MediaPreviousTrack"><code class="value keyname">'MediaPreviousTrack'</code></a></dt>
             <dd>The Media Previous Track key.</dd>
 
-            <dt><a id="keyset-key-MediaStop"><code class="value">'MediaStop'</code></a></dt>
+            <dt><a id="keyset-key-MediaStop"><code class="value keyname">'MediaStop'</code></a></dt>
             <dd>The Media Stop key.</dd>
 
-            <dt><a id="keyset-key-ModeChange"><code class="value">'ModeChange'</code></a></dt>
+            <dt><a id="keyset-key-ModeChange"><code class="value keyname">'ModeChange'</code></a></dt>
             <dd>The Mode Change key.</dd>
 
-            <dt><a id="keyset-key-MultiplyChar"><code class="value">'×'</code></a></dt>
-            <dt><a id="keyset-key-Multiply"><code class="value">'Multiply'</code></a></dt>
-            <dt><a id="keyset-key-U-00D7"><code class="value">'U+00D7'</code></a></dt>
+            <dt><a id="keyset-key-MultiplyChar"><code class="value charval">'×'</code></a></dt>
+            <dt><a id="keyset-key-Multiply"><code class="value keyname">'Multiply'</code></a></dt>
+            <dt><a id="keyset-key-U-00D7"><code class="value codepoint">'U+00D7'</code></a></dt>
             <dd>The Multiply key.</dd>
 
-            <dt><a id="keyset-key-NextCandidate"><code class="value">'NextCandidate'</code></a></dt>
+            <dt><a id="keyset-key-NextCandidate"><code class="value keyname">'NextCandidate'</code></a></dt>
             <dd>The Next Candidate function key.</dd>
 
-            <dt><a id="keyset-key-Nonconvert"><code class="value">'Nonconvert'</code></a></dt>
+            <dt><a id="keyset-key-Nonconvert"><code class="value keyname">'Nonconvert'</code></a></dt>
             <dd>The Nonconvert (Don't Convert) key.</dd>
 
-            <dt><a id="keyset-key-NumLock"><code class="value">'NumLock'</code></a></dt>
+            <dt><a id="keyset-key-NumLock"><code class="value keyname">'NumLock'</code></a></dt>
             <dd>The Number Lock key.</dd>
 
-            <dt><a id="keyset-key-PageDown"><code class="value">'PageDown'</code></a></dt>
+            <dt><a id="keyset-key-PageDown"><code class="value keyname">'PageDown'</code></a></dt>
             <dd>The Page Down (Next) key.</dd>
 
-            <dt><a id="keyset-key-PageUp"><code class="value">'PageUp'</code></a></dt>
+            <dt><a id="keyset-key-PageUp"><code class="value keyname">'PageUp'</code></a></dt>
             <dd>The Page Up key.</dd>
 
-            <dt><a id="keyset-key-Paste"><code class="value">'Paste'</code></a></dt>
+            <dt><a id="keyset-key-Paste"><code class="value keyname">'Paste'</code></a></dt>
             <dd>The Paste key.</dd>
 
-            <dt><a id="keyset-key-Pause"><code class="value">'Pause'</code></a></dt>
+            <dt><a id="keyset-key-Pause"><code class="value keyname">'Pause'</code></a></dt>
             <dd>The Pause key.</dd>
 
-            <dt><a id="keyset-key-Play"><code class="value">'Play'</code></a></dt>
+            <dt><a id="keyset-key-Play"><code class="value keyname">'Play'</code></a></dt>
             <dd>The Play key.</dd>
 
-            <dt><a id="keyset-key-PreviousCandidate"><code class="value">'PreviousCandidate'</code></a></dt>
+            <dt><a id="keyset-key-PreviousCandidate"><code class="value keyname">'PreviousCandidate'</code></a></dt>
             <dd>The Previous Candidate function key.</dd>
 
-            <dt><a id="keyset-key-PrintScreen"><code class="value">'PrintScreen'</code></a></dt>
+            <dt><a id="keyset-key-PrintScreen"><code class="value keyname">'PrintScreen'</code></a></dt>
             <dd>The Print Screen (PrintScrn, SnapShot) key.</dd>
 
-            <dt><a id="keyset-key-Process"><code class="value">'Process'</code></a></dt>
+            <dt><a id="keyset-key-Process"><code class="value keyname">'Process'</code></a></dt>
             <dd>The Process key.</dd>
 
-            <dt><a id="keyset-key-Props"><code class="value">'Props'</code></a></dt>
+            <dt><a id="keyset-key-Props"><code class="value keyname">'Props'</code></a></dt>
             <dd>The Props key.</dd>
 
-            <dt><a id="keyset-key-Right"><code class="value">'Right'</code></a></dt>
+            <dt><a id="keyset-key-Right"><code class="value keyname">'Right'</code></a></dt>
             <dd>The Right Arrow key.</dd>
 
-            <dt><a id="keyset-key-RomanCharacters"><code class="value">'RomanCharacters'</code></a></dt>
+            <dt><a id="keyset-key-RomanCharacters"><code class="value keyname">'RomanCharacters'</code></a></dt>
             <dd>The Roman Characters function key.</dd>
 
-            <dt><a id="keyset-key-Scroll"><code class="value">'Scroll'</code></a></dt>
+            <dt><a id="keyset-key-Scroll"><code class="value keyname">'Scroll'</code></a></dt>
             <dd>The Scroll Lock key.</dd>
 
-            <dt><a id="keyset-key-Select"><code class="value">'Select'</code></a></dt>
+            <dt><a id="keyset-key-Select"><code class="value keyname">'Select'</code></a></dt>
             <dd>The Select key.</dd>
 
-            <dt><a id="keyset-key-SelectMedia"><code class="value">'SelectMedia'</code></a></dt>
+            <dt><a id="keyset-key-SelectMedia"><code class="value keyname">'SelectMedia'</code></a></dt>
             <dd>The Select Media key.</dd>
 
-            <dt><a id="keyset-key-Separator"><code class="value">'Separator'</code></a></dt>
+            <dt><a id="keyset-key-Separator"><code class="value keyname">'Separator'</code></a></dt>
             <dd>The Separator key.</dd>
 
-            <dt><a id="keyset-key-Shift"><code class="value">'Shift'</code></a></dt>
+            <dt><a id="keyset-key-Shift"><code class="value keyname">'Shift'</code></a></dt>
             <dd>The Shift key.</dd>
 
-            <dt><a id="keyset-key-Soft1"><code class="value">'Soft1'</code></a></dt>
+            <dt><a id="keyset-key-Soft1"><code class="value keyname">'Soft1'</code></a></dt>
             <dd>The Soft1 key.</dd>
 
-            <dt><a id="keyset-key-Soft2"><code class="value">'Soft2'</code></a></dt>
+            <dt><a id="keyset-key-Soft2"><code class="value keyname">'Soft2'</code></a></dt>
             <dd>The Soft2 key.</dd>
 
-            <dt><a id="keyset-key-Soft3"><code class="value">'Soft3'</code></a></dt>
+            <dt><a id="keyset-key-Soft3"><code class="value keyname">'Soft3'</code></a></dt>
             <dd>The Soft3 key.</dd>
 
-            <dt><a id="keyset-key-Soft4"><code class="value">'Soft4'</code></a></dt>
+            <dt><a id="keyset-key-Soft4"><code class="value keyname">'Soft4'</code></a></dt>
             <dd>The Soft4 key.</dd>
 
-            <dt><a id="keyset-key-Stop"><code class="value">'Stop'</code></a></dt>
+            <dt><a id="keyset-key-Stop"><code class="value keyname">'Stop'</code></a></dt>
             <dd>The Stop key.</dd>
 
-            <dt><a id="keyset-key-Subtract"><code class="value">'Subtract'</code></a></dt>
+            <dt><a id="keyset-key-Subtract"><code class="value keyname">'Subtract'</code></a></dt>
             <dd>The Subtract key.</dd>
 
-            <dt><a id="keyset-key-Up"><code class="value">'Up'</code></a></dt>
+            <dt><a id="keyset-key-Up"><code class="value keyname">'Up'</code></a></dt>
             <dd>The Up Arrow key.</dd>
 
-            <dt><a id="keyset-key-UpLeft"><code class="value">'UpLeft'</code></a></dt>
+            <dt><a id="keyset-key-UpLeft"><code class="value keyname">'UpLeft'</code></a></dt>
             <dd>The diagonal Up-Left Arrow key.</dd>
 
-            <dt><a id="keyset-key-UpRight"><code class="value">'UpRight'</code></a></dt>
+            <dt><a id="keyset-key-UpRight"><code class="value keyname">'UpRight'</code></a></dt>
             <dd>The diagonal Up-Right Arrow key.</dd>
 
-            <dt><a id="keyset-key-Undo"><code class="value">'Undo'</code></a></dt>
+            <dt><a id="keyset-key-Undo"><code class="value keyname">'Undo'</code></a></dt>
             <dd>The Undo key.</dd>
 
-            <dt><a id="keyset-key-VolumeDown"><code class="value">'VolumeDown'</code></a></dt>
+            <dt><a id="keyset-key-VolumeDown"><code class="value keyname">'VolumeDown'</code></a></dt>
             <dd>The Volume Down key.</dd>
 
-            <dt><a id="keyset-key-VolumeMute"><code class="value">'VolumeMute'</code></a></dt>
+            <dt><a id="keyset-key-VolumeMute"><code class="value keyname">'VolumeMute'</code></a></dt>
             <dd>The Volume Mute key.</dd>
 
-            <dt><a id="keyset-key-VolumeUp"><code class="value">'VolumeUp'</code></a></dt>
+            <dt><a id="keyset-key-VolumeUp"><code class="value keyname">'VolumeUp'</code></a></dt>
             <dd>The Volume Up key.</dd>
 
-            <dt><a id="keyset-key-Win"><code class="value">'Win'</code></a></dt>
+            <dt><a id="keyset-key-Win"><code class="value keyname">'Win'</code></a></dt>
             <dd>The Windows Logo key.</dd>
 
-            <dt><a id="keyset-key-Zoom"><code class="value">'Zoom'</code></a></dt>
+            <dt><a id="keyset-key-Zoom"><code class="value keyname">'Zoom'</code></a></dt>
             <dd>The Zoom key.</dd>
 
-            <dt><a id="keyset-key-Backspace"><code class="value">'Backspace'</code></a></dt>
-            <dt><a id="keyset-key-U-0008"><code class="value">'U+0008'</code></a></dt>
+            <dt><a id="keyset-key-Backspace"><code class="value keyname">'Backspace'</code></a></dt>
+            <dt><a id="keyset-key-U-0008"><code class="value codepoint">'U+0008'</code></a></dt>
             <dd>The Backspace (Back) key.
              <span class="note"><strong>Note:</strong> This key identifier shall be also used for the key labeled <code class="value">'delete'</code> MacOS keyboards when not modified by the <code class="value">'Fn'</code> key.</span>
             </dd>
 
-            <dt><a id="keyset-key-Tab"><code class="value">'Tab'</code></a></dt>
-            <dt><a id="keyset-key-U-0009"><code class="value">'U+0009'</code></a></dt>
+            <dt><a id="keyset-key-Tab"><code class="value keyname">'Tab'</code></a></dt>
+            <dt><a id="keyset-key-U-0009"><code class="value codepoint">'U+0009'</code></a></dt>
             <dd>The Horizontal Tabulation (Tab) key.</dd>
 
-            <dt><a id="keyset-key-Cancel"><code class="value">'Cancel'</code></a></dt>
-            <dt><a id="keyset-key-U-0018"><code class="value">'U+0018'</code></a></dt>
+            <dt><a id="keyset-key-Cancel"><code class="value keyname">'Cancel'</code></a></dt>
+            <dt><a id="keyset-key-U-0018"><code class="value codepoint">'U+0018'</code></a></dt>
             <dd>The Cancel key.</dd>
 
-            <dt><a id="keyset-key-Esc"><code class="value">'Esc'</code></a></dt>
-            <dt><a id="keyset-key-U-001B"><code class="value">'U+001B'</code></a></dt>
+            <dt><a id="keyset-key-Esc"><code class="value keyname">'Esc'</code></a></dt>
+            <dt><a id="keyset-key-U-001B"><code class="value codepoint">'U+001B'</code></a></dt>
             <dd>The Escape (Esc) key.</dd>
 
-            <dt><a id="keyset-key-Spacebar"><code class="value">'Spacebar'</code></a></dt>
-            <dt><a id="keyset-key-U-0020"><code class="value">'U+0020'</code></a></dt>
+            <dt><a id="keyset-key-Spacebar"><code class="value keyname">'Spacebar'</code></a></dt>
+            <dt><a id="keyset-key-U-0020"><code class="value codepoint">'U+0020'</code></a></dt>
             <dd>The Space (Spacebar) key.</dd>
 
-            <dt><a id="keyset-key-ExclamationChar"><code class="value">'!'</code></a></dt>
-            <dt><a id="keyset-key-Exclamation"><code class="value">'Exclamation'</code></a></dt>
-            <dt><a id="keyset-key-U-0021"><code class="value">'U+0021'</code></a></dt>
+            <dt><a id="keyset-key-ExclamationChar"><code class="value charval">'!'</code></a></dt>
+            <dt><a id="keyset-key-Exclamation"><code class="value keyname">'Exclamation'</code></a></dt>
+            <dt><a id="keyset-key-U-0021"><code class="value codepoint">'U+0021'</code></a></dt>
             <dd>The Exclamation Mark (Factorial, Bang) key (!).</dd>
 
-            <dt><a id="keyset-key-DoubleQuote"><code class="value">'DoubleQuote'</code></a></dt>
-            <dt><a id="keyset-key-U-0022"><code class="value">'U+0022'</code></a></dt>
+            <dt><a id="keyset-key-DoubleQuote"><code class="value keyname">'DoubleQuote'</code></a></dt>
+            <dt><a id="keyset-key-U-0022"><code class="value codepoint">'U+0022'</code></a></dt>
             <dd>The Quotation Mark (Quote Double) key (").</dd>
 
-            <dt><a id="keyset-key-HashChar"><code class="value">'#'</code></a></dt>
-            <dt><a id="keyset-key-Hash"><code class="value">'Hash'</code></a></dt>
-            <dt><a id="keyset-key-U-0023"><code class="value">'U+0023'</code></a></dt>
+            <dt><a id="keyset-key-HashChar"><code class="value charval">'#'</code></a></dt>
+            <dt><a id="keyset-key-Hash"><code class="value keyname">'Hash'</code></a></dt>
+            <dt><a id="keyset-key-U-0023"><code class="value codepoint">'U+0023'</code></a></dt>
             <dd>The Number Sign (Pound Sign, Hash, Crosshatch, Octothorpe) key (#).</dd>
 
-            <dt><a id="keyset-key-DollarChar"><code class="value">'$'</code></a></dt>
-            <dt><a id="keyset-key-Dollar"><code class="value">'Dollar'</code></a></dt>
-            <dt><a id="keyset-key-U-0024"><code class="value">'U+0024'</code></a></dt>
+            <dt><a id="keyset-key-DollarChar"><code class="value charval">'$'</code></a></dt>
+            <dt><a id="keyset-key-Dollar"><code class="value keyname">'Dollar'</code></a></dt>
+            <dt><a id="keyset-key-U-0024"><code class="value codepoint">'U+0024'</code></a></dt>
             <dd>The Dollar Sign (milreis, escudo) key ($).</dd>
 
-            <dt><a id="keyset-key-AmpersandChar"><code class="value">'&amp;'</code></a></dt>
-            <dt><a id="keyset-key-Ampersand"><code class="value">'Ampersand'</code></a></dt>
-            <dt><a id="keyset-key-U-0026"><code class="value">'U+0026'</code></a></dt>
+            <dt><a id="keyset-key-AmpersandChar"><code class="value charval">'&amp;'</code></a></dt>
+            <dt><a id="keyset-key-Ampersand"><code class="value keyname">'Ampersand'</code></a></dt>
+            <dt><a id="keyset-key-U-0026"><code class="value codepoint">'U+0026'</code></a></dt>
             <dd>The Ampersand key (&amp;).</dd>
 
-            <dt><a id="keyset-key-Apostrophe"><code class="value">'Apostrophe'</code></a></dt>
-            <dt><a id="keyset-key-U-0027"><code class="value">'U+0027'</code></a></dt>
+            <dt><a id="keyset-key-Apostrophe"><code class="value keyname">'Apostrophe'</code></a></dt>
+            <dt><a id="keyset-key-U-0027"><code class="value codepoint">'U+0027'</code></a></dt>
             <dd>The Apostrophe (Apostrophe-Quote, APL Quote) key (').</dd>
 
-            <dt><a id="keyset-key-LeftParenChar"><code class="value">'('</code></a></dt>
-            <dt><a id="keyset-key-LeftParen"><code class="value">'LeftParen'</code></a></dt>
-            <dt><a id="keyset-key-U-0028"><code class="value">'U+0028'</code></a></dt>
+            <dt><a id="keyset-key-LeftParenChar"><code class="value charval">'('</code></a></dt>
+            <dt><a id="keyset-key-LeftParen"><code class="value keyname">'LeftParen'</code></a></dt>
+            <dt><a id="keyset-key-U-0028"><code class="value codepoint">'U+0028'</code></a></dt>
             <dd>The Left Parenthesis (Opening Parenthesis) key (().</dd>
 
-            <dt><a id="keyset-key-RightParenChar"><code class="value">')'</code></a></dt>
-            <dt><a id="keyset-key-RightParen"><code class="value">'RightParen'</code></a></dt>
-            <dt><a id="keyset-key-U-0029"><code class="value">'U+0029'</code></a></dt>
+            <dt><a id="keyset-key-RightParenChar"><code class="value charval">')'</code></a></dt>
+            <dt><a id="keyset-key-RightParen"><code class="value keyname">'RightParen'</code></a></dt>
+            <dt><a id="keyset-key-U-0029"><code class="value codepoint">'U+0029'</code></a></dt>
             <dd>The Right Parenthesis (Closing Parenthesis) key ()).</dd>
 
-            <dt><a id="keyset-key-AsteriskChar"><code class="value">'*'</code></a></dt>
-            <dt><a id="keyset-key-Asterisk"><code class="value">'Asterisk'</code></a></dt>
-            <dt><a id="keyset-key-U-002A"><code class="value">'U+002A'</code></a></dt>
+            <dt><a id="keyset-key-AsteriskChar"><code class="value charval">'*'</code></a></dt>
+            <dt><a id="keyset-key-Asterisk"><code class="value keyname">'Asterisk'</code></a></dt>
+            <dt><a id="keyset-key-U-002A"><code class="value codepoint">'U+002A'</code></a></dt>
             <dd>The Asterisk (Star) key (*).</dd>
 
-            <dt><a id="keyset-key-PlusChar"><code class="value">'+'</code></a></dt>
-            <dt><a id="keyset-key-Plus"><code class="value">'Plus'</code></a></dt>
-            <dt><a id="keyset-key-U-002B"><code class="value">'U+002B'</code></a></dt>
+            <dt><a id="keyset-key-PlusChar"><code class="value charval">'+'</code></a></dt>
+            <dt><a id="keyset-key-Plus"><code class="value keyname">'Plus'</code></a></dt>
+            <dt><a id="keyset-key-U-002B"><code class="value codepoint">'U+002B'</code></a></dt>
             <dd>The Plus Sign (Plus) key (+).</dd>
 
-            <dt><a id="keyset-key-PercentChar"><code class="value">'%'</code></a></dt>
-            <dt><a id="keyset-key-Percent"><code class="value">'Percent'</code></a></dt>
-            <dt><a id="keyset-key-U-0025"><code class="value">'U+0025'</code></a></dt>
+            <dt><a id="keyset-key-PercentChar"><code class="value charval">'%'</code></a></dt>
+            <dt><a id="keyset-key-Percent"><code class="value keyname">'Percent'</code></a></dt>
+            <dt><a id="keyset-key-U-0025"><code class="value codepoint">'U+0025'</code></a></dt>
             <dd>The Percent Sign (Percent) key (+).</dd>
 
-            <dt><a id="keyset-key-CommaChar"><code class="value">','</code></a></dt>
-            <dt><a id="keyset-key-Comma"><code class="value">'Comma'</code></a></dt>
-            <dt><a id="keyset-key-U-002C"><code class="value">'U+002C'</code></a></dt>
+            <dt><a id="keyset-key-CommaChar"><code class="value charval">','</code></a></dt>
+            <dt><a id="keyset-key-Comma"><code class="value keyname">'Comma'</code></a></dt>
+            <dt><a id="keyset-key-U-002C"><code class="value codepoint">'U+002C'</code></a></dt>
             <dd>The Comma (decimal separator) sign key (,).</dd>
 
-            <dt><a id="keyset-key-HyphenMinusChar"><code class="value">'-'</code></a></dt>
-            <dt><a id="keyset-key-HyphenMinus"><code class="value">'HyphenMinus'</code></a></dt>
-            <dt><a id="keyset-key-U-002D"><code class="value">'U+002D'</code></a></dt>
+            <dt><a id="keyset-key-HyphenMinusChar"><code class="value charval">'-'</code></a></dt>
+            <dt><a id="keyset-key-HyphenMinus"><code class="value keyname">'HyphenMinus'</code></a></dt>
+            <dt><a id="keyset-key-U-002D"><code class="value codepoint">'U+002D'</code></a></dt>
             <dd>The Hyphen-minus (hyphen or minus sign) key (-).</dd>
 
-            <dt><a id="keyset-key-PeriodChar"><code class="value">'.'</code></a></dt>
-            <dt><a id="keyset-key-Period"><code class="value">'Period'</code></a></dt>
-            <dt><a id="keyset-key-U-002E"><code class="value">'U+002E'</code></a></dt>
+            <dt><a id="keyset-key-PeriodChar"><code class="value charval">'.'</code></a></dt>
+            <dt><a id="keyset-key-Period"><code class="value keyname">'Period'</code></a></dt>
+            <dt><a id="keyset-key-U-002E"><code class="value codepoint">'U+002E'</code></a></dt>
             <dd>The Full Stop (period, dot, decimal point) key (.).</dd>
 
-            <dt><a id="keyset-key-SolidusChar"><code class="value">'/'</code></a></dt>
-            <dt><a id="keyset-key-Solidus"><code class="value">'Solidus'</code></a></dt>
-            <dt><a id="keyset-key-U-002F"><code class="value">'U+002F'</code></a></dt>
+            <dt><a id="keyset-key-SolidusChar"><code class="value charval">'/'</code></a></dt>
+            <dt><a id="keyset-key-Solidus"><code class="value keyname">'Solidus'</code></a></dt>
+            <dt><a id="keyset-key-U-002F"><code class="value codepoint">'U+002F'</code></a></dt>
             <dd>The Solidus (slash, virgule, shilling) key (/).</dd>
 
-            <dt><a id="keyset-key-0"><code class="value">'0'</code></a></dt>
-            <dt><a id="keyset-key-U-0030"><code class="value">'U+0030'</code></a></dt>
+            <dt><a id="keyset-key-0"><code class="value keyname">'0'</code></a></dt>
+            <dt><a id="keyset-key-U-0030"><code class="value codepoint">'U+0030'</code></a></dt>
             <dd>The Digit Zero key (0).</dd>
 
-            <dt><a id="keyset-key-1"><code class="value">'1'</code></a></dt>
-            <dt><a id="keyset-key-U-0031"><code class="value">'U+0031'</code></a></dt>
+            <dt><a id="keyset-key-1"><code class="value keyname">'1'</code></a></dt>
+            <dt><a id="keyset-key-U-0031"><code class="value codepoint">'U+0031'</code></a></dt>
             <dd>The Digit One key (1).</dd>
 
-            <dt><a id="keyset-key-2"><code class="value">'2'</code></a></dt>
-            <dt><a id="keyset-key-U-0032"><code class="value">'U+0032'</code></a></dt>
+            <dt><a id="keyset-key-2"><code class="value keyname">'2'</code></a></dt>
+            <dt><a id="keyset-key-U-0032"><code class="value codepoint">'U+0032'</code></a></dt>
             <dd>The Digit Two key (2).</dd>
 
-            <dt><a id="keyset-key-3"><code class="value">'3'</code></a></dt>
-            <dt><a id="keyset-key-U-0033"><code class="value">'U+0033'</code></a></dt>
+            <dt><a id="keyset-key-3"><code class="value keyname">'3'</code></a></dt>
+            <dt><a id="keyset-key-U-0033"><code class="value codepoint">'U+0033'</code></a></dt>
             <dd>The Digit Three key (3).</dd>
 
-            <dt><a id="keyset-key-4"><code class="value">'4'</code></a></dt>
-            <dt><a id="keyset-key-U-0034"><code class="value">'U+0034'</code></a></dt>
+            <dt><a id="keyset-key-4"><code class="value keyname">'4'</code></a></dt>
+            <dt><a id="keyset-key-U-0034"><code class="value codepoint">'U+0034'</code></a></dt>
             <dd>The Digit Four key (4).</dd>
 
-            <dt><a id="keyset-key-5"><code class="value">'5'</code></a></dt>
-            <dt><a id="keyset-key-U-0035"><code class="value">'U+0035'</code></a></dt>
+            <dt><a id="keyset-key-5"><code class="value keyname">'5'</code></a></dt>
+            <dt><a id="keyset-key-U-0035"><code class="value codepoint">'U+0035'</code></a></dt>
             <dd>The Digit Five key (5).</dd>
 
-            <dt><a id="keyset-key-6"><code class="value">'6'</code></a></dt>
-            <dt><a id="keyset-key-U-0036"><code class="value">'U+0036'</code></a></dt>
+            <dt><a id="keyset-key-6"><code class="value keyname">'6'</code></a></dt>
+            <dt><a id="keyset-key-U-0036"><code class="value codepoint">'U+0036'</code></a></dt>
             <dd>The Digit Six key (6).</dd>
 
-            <dt><a id="keyset-key-7"><code class="value">'7'</code></a></dt>
-            <dt><a id="keyset-key-U-0037"><code class="value">'U+0037'</code></a></dt>
+            <dt><a id="keyset-key-7"><code class="value keyname">'7'</code></a></dt>
+            <dt><a id="keyset-key-U-0037"><code class="value codepoint">'U+0037'</code></a></dt>
             <dd>The Digit Seven key (7).</dd>
 
-            <dt><a id="keyset-key-8"><code class="value">'8'</code></a></dt>
-            <dt><a id="keyset-key-U-0038"><code class="value">'U+0038'</code></a></dt>
+            <dt><a id="keyset-key-8"><code class="value keyname">'8'</code></a></dt>
+            <dt><a id="keyset-key-U-0038"><code class="value codepoint">'U+0038'</code></a></dt>
             <dd>The Digit Eight key (8).</dd>
 
-            <dt><a id="keyset-key-9"><code class="value">'9'</code></a></dt>
-            <dt><a id="keyset-key-U-0039"><code class="value">'U+0039'</code></a></dt>
+            <dt><a id="keyset-key-9"><code class="value keyname">'9'</code></a></dt>
+            <dt><a id="keyset-key-U-0039"><code class="value codepoint">'U+0039'</code></a></dt>
             <dd>The Digit Nine key (9).</dd>
 
-            <dt><a id="keyset-key-ColonChar"><code class="value">':'</code></a></dt>
-            <dt><a id="keyset-key-Colon"><code class="value">'Colon'</code></a></dt>
-            <dt><a id="keyset-key-U-003A"><code class="value">'U+003A'</code></a></dt>
+            <dt><a id="keyset-key-ColonChar"><code class="value charval">':'</code></a></dt>
+            <dt><a id="keyset-key-Colon"><code class="value keyname">'Colon'</code></a></dt>
+            <dt><a id="keyset-key-U-003A"><code class="value codepoint">'U+003A'</code></a></dt>
             <dd>The Colon key (:).</dd>
 
-            <dt><a id="keyset-key-SemicolonChar"><code class="value">';'</code></a></dt>
-            <dt><a id="keyset-key-Semicolon"><code class="value">'Semicolon'</code></a></dt>
-            <dt><a id="keyset-key-U-003B"><code class="value">'U+003B'</code></a></dt>
+            <dt><a id="keyset-key-SemicolonChar"><code class="value charval">';'</code></a></dt>
+            <dt><a id="keyset-key-Semicolon"><code class="value keyname">'Semicolon'</code></a></dt>
+            <dt><a id="keyset-key-U-003B"><code class="value codepoint">'U+003B'</code></a></dt>
             <dd>The Semicolon key (;).</dd>
 
-            <dt><a id="keyset-key-LessThan"><code class="value">'LessThan'</code></a></dt>
-            <dt><a id="keyset-key-U-003C"><code class="value">'U+003C'</code></a></dt>
+            <dt><a id="keyset-key-LessThan"><code class="value keyname">'LessThan'</code></a></dt>
+            <dt><a id="keyset-key-U-003C"><code class="value codepoint">'U+003C'</code></a></dt>
             <dd>The Less-Than Sign key (&lt;).</dd>
 
-            <dt><a id="keyset-key-EqualsChar"><code class="value">'='</code></a></dt>
-            <dt><a id="keyset-key-Equals"><code class="value">'Equals'</code></a></dt>
-            <dt><a id="keyset-key-U-003D"><code class="value">'U+003D'</code></a></dt>
+            <dt><a id="keyset-key-EqualsChar"><code class="value charval">'='</code></a></dt>
+            <dt><a id="keyset-key-Equals"><code class="value keyname">'Equals'</code></a></dt>
+            <dt><a id="keyset-key-U-003D"><code class="value codepoint">'U+003D'</code></a></dt>
             <dd>The Equals Sign key (=).</dd>
 
-            <dt><a id="keyset-key-"><code class="value">'GreaterThan'</code></a></dt>
-            <dt><a id="keyset-key-U-003E"><code class="value">'U+003E'</code></a></dt>
+            <dt><a id="keyset-key-"><code class="value keyname">'GreaterThan'</code></a></dt>
+            <dt><a id="keyset-key-U-003E"><code class="value codepoint">'U+003E'</code></a></dt>
             <dd>The Greater-Than Sign key (&gt;).</dd>
 
-            <dt><a id="keyset-key-QuestionMarkChar"><code class="value">'?'</code></a></dt>
-            <dt><a id="keyset-key-QuestionMark"><code class="value">'QuestionMark'</code></a></dt>
-            <dt><a id="keyset-key-U-003F"><code class="value">'U+003F'</code></a></dt>
+            <dt><a id="keyset-key-QuestionMarkChar"><code class="value charval">'?'</code></a></dt>
+            <dt><a id="keyset-key-QuestionMark"><code class="value keyname">'QuestionMark'</code></a></dt>
+            <dt><a id="keyset-key-U-003F"><code class="value codepoint">'U+003F'</code></a></dt>
             <dd>The Question Mark key (?).</dd>
 
-            <dt><a id="keyset-key-AtChar"><code class="value">'@'</code></a></dt>
-            <dt><a id="keyset-key-At"><code class="value">'At'</code></a></dt>
-            <dt><a id="keyset-key-U-0040"><code class="value">'U+0040'</code></a></dt>
+            <dt><a id="keyset-key-AtChar"><code class="value charval">'@'</code></a></dt>
+            <dt><a id="keyset-key-At"><code class="value keyname">'At'</code></a></dt>
+            <dt><a id="keyset-key-U-0040"><code class="value codepoint">'U+0040'</code></a></dt>
             <dd>The Commercial At (@) key.</dd>
 
-            <dt><a id="keyset-key-A"><code class="value">'A'</code></a></dt>
-            <dt><a id="keyset-key-U-0041"><code class="value">'U+0041'</code></a></dt>
+            <dt><a id="keyset-key-A"><code class="value keyname">'A'</code></a></dt>
+            <dt><a id="keyset-key-U-0041"><code class="value codepoint">'U+0041'</code></a></dt>
             <dd>The Latin Capital Letter A key (A).</dd>
 
-            <dt><a id="keyset-key-B"><code class="value">'B'</code></a></dt>
-            <dt><a id="keyset-key-U-0042"><code class="value">'U+0042'</code></a></dt>
+            <dt><a id="keyset-key-B"><code class="value keyname">'B'</code></a></dt>
+            <dt><a id="keyset-key-U-0042"><code class="value codepoint">'U+0042'</code></a></dt>
             <dd>The Latin Capital Letter B key (B).</dd>
 
-            <dt><a id="keyset-key-C"><code class="value">'C'</code></a></dt>
-            <dt><a id="keyset-key-U-0043"><code class="value">'U+0043'</code></a></dt>
+            <dt><a id="keyset-key-C"><code class="value keyname">'C'</code></a></dt>
+            <dt><a id="keyset-key-U-0043"><code class="value codepoint">'U+0043'</code></a></dt>
             <dd>The Latin Capital Letter C key (C).</dd>
 
-            <dt><a id="keyset-key-D"><code class="value">'D'</code></a></dt>
-            <dt><a id="keyset-key-U-0044"><code class="value">'U+0044'</code></a></dt>
+            <dt><a id="keyset-key-D"><code class="value keyname">'D'</code></a></dt>
+            <dt><a id="keyset-key-U-0044"><code class="value codepoint">'U+0044'</code></a></dt>
             <dd>The Latin Capital Letter D key (D).</dd>
 
-            <dt><a id="keyset-key-E"><code class="value">'E'</code></a></dt>
-            <dt><a id="keyset-key-U-0045"><code class="value">'U+0045'</code></a></dt>
+            <dt><a id="keyset-key-E"><code class="value keyname">'E'</code></a></dt>
+            <dt><a id="keyset-key-U-0045"><code class="value codepoint">'U+0045'</code></a></dt>
             <dd>The Latin Capital Letter E key (E).</dd>
 
-            <dt><a id="keyset-key-F"><code class="value">'F'</code></a></dt>
-            <dt><a id="keyset-key-U-0046"><code class="value">'U+0046'</code></a></dt>
+            <dt><a id="keyset-key-F"><code class="value keyname">'F'</code></a></dt>
+            <dt><a id="keyset-key-U-0046"><code class="value codepoint">'U+0046'</code></a></dt>
             <dd>The Latin Capital Letter F key (F).</dd>
 
-            <dt><a id="keyset-key-G"><code class="value">'G'</code></a></dt>
-            <dt><a id="keyset-key-U-0047"><code class="value">'U+0047'</code></a></dt>
+            <dt><a id="keyset-key-G"><code class="value keyname">'G'</code></a></dt>
+            <dt><a id="keyset-key-U-0047"><code class="value codepoint">'U+0047'</code></a></dt>
             <dd>The Latin Capital Letter G key (G).</dd>
 
-            <dt><a id="keyset-key-H"><code class="value">'H'</code></a></dt>
-            <dt><a id="keyset-key-U-0048"><code class="value">'U+0048'</code></a></dt>
+            <dt><a id="keyset-key-H"><code class="value keyname">'H'</code></a></dt>
+            <dt><a id="keyset-key-U-0048"><code class="value codepoint">'U+0048'</code></a></dt>
             <dd>The Latin Capital Letter H key (H).</dd>
 
-            <dt><a id="keyset-key-I"><code class="value">'I'</code></a></dt>
-            <dt><a id="keyset-key-U-0049"><code class="value">'U+0049'</code></a></dt>
+            <dt><a id="keyset-key-I"><code class="value keyname">'I'</code></a></dt>
+            <dt><a id="keyset-key-U-0049"><code class="value codepoint">'U+0049'</code></a></dt>
             <dd>The Latin Capital Letter I key (I).</dd>
 
-            <dt><a id="keyset-key-J"><code class="value">'J'</code></a></dt>
-            <dt><a id="keyset-key-U-004A"><code class="value">'U+004A'</code></a></dt>
+            <dt><a id="keyset-key-J"><code class="value keyname">'J'</code></a></dt>
+            <dt><a id="keyset-key-U-004A"><code class="value codepoint">'U+004A'</code></a></dt>
             <dd>The Latin Capital Letter J key (J).</dd>
 
-            <dt><a id="keyset-key-K"><code class="value">'K'</code></a></dt>
-            <dt><a id="keyset-key-U-004B"><code class="value">'U+004B'</code></a></dt>
+            <dt><a id="keyset-key-K"><code class="value keyname">'K'</code></a></dt>
+            <dt><a id="keyset-key-U-004B"><code class="value codepoint">'U+004B'</code></a></dt>
             <dd>The Latin Capital Letter K key (K).</dd>
 
-            <dt><a id="keyset-key-L"><code class="value">'L'</code></a></dt>
-            <dt><a id="keyset-key-U-004C"><code class="value">'U+004C'</code></a></dt>
+            <dt><a id="keyset-key-L"><code class="value keyname">'L'</code></a></dt>
+            <dt><a id="keyset-key-U-004C"><code class="value codepoint">'U+004C'</code></a></dt>
             <dd>The Latin Capital Letter L key (L).</dd>
 
-            <dt><a id="keyset-key-M"><code class="value">'M'</code></a></dt>
-            <dt><a id="keyset-key-U-004D"><code class="value">'U+004D'</code></a></dt>
+            <dt><a id="keyset-key-M"><code class="value keyname">'M'</code></a></dt>
+            <dt><a id="keyset-key-U-004D"><code class="value codepoint">'U+004D'</code></a></dt>
             <dd>The Latin Capital Letter M key (M).</dd>
 
-            <dt><a id="keyset-key-N"><code class="value">'N'</code></a></dt>
-            <dt><a id="keyset-key-U-004E"><code class="value">'U+004E'</code></a></dt>
+            <dt><a id="keyset-key-N"><code class="value keyname">'N'</code></a></dt>
+            <dt><a id="keyset-key-U-004E"><code class="value codepoint">'U+004E'</code></a></dt>
             <dd>The Latin Capital Letter N key (N).</dd>
 
-            <dt><a id="keyset-key-O"><code class="value">'O'</code></a></dt>
-            <dt><a id="keyset-key-U-004F"><code class="value">'U+004F'</code></a></dt>
+            <dt><a id="keyset-key-O"><code class="value keyname">'O'</code></a></dt>
+            <dt><a id="keyset-key-U-004F"><code class="value codepoint">'U+004F'</code></a></dt>
             <dd>The Latin Capital Letter O key (O).</dd>
 
-            <dt><a id="keyset-key-P"><code class="value">'P'</code></a></dt>
-            <dt><a id="keyset-key-U-0050"><code class="value">'U+0050'</code></a></dt>
+            <dt><a id="keyset-key-P"><code class="value keyname">'P'</code></a></dt>
+            <dt><a id="keyset-key-U-0050"><code class="value codepoint">'U+0050'</code></a></dt>
             <dd>The Latin Capital Letter P key (P).</dd>
 
-            <dt><a id="keyset-key-Q"><code class="value">'Q'</code></a></dt>
-            <dt><a id="keyset-key-U-0051"><code class="value">'U+0051'</code></a></dt>
+            <dt><a id="keyset-key-Q"><code class="value keyname">'Q'</code></a></dt>
+            <dt><a id="keyset-key-U-0051"><code class="value codepoint">'U+0051'</code></a></dt>
             <dd>The Latin Capital Letter Q key (Q).</dd>
 
-            <dt><a id="keyset-key-R"><code class="value">'R'</code></a></dt>
-            <dt><a id="keyset-key-U-0052"><code class="value">'U+0052'</code></a></dt>
+            <dt><a id="keyset-key-R"><code class="value keyname">'R'</code></a></dt>
+            <dt><a id="keyset-key-U-0052"><code class="value codepoint">'U+0052'</code></a></dt>
             <dd>The Latin Capital Letter R key (R).</dd>
 
-            <dt><a id="keyset-key-S"><code class="value">'S'</code></a></dt>
-            <dt><a id="keyset-key-U-0053"><code class="value">'U+0053'</code></a></dt>
+            <dt><a id="keyset-key-S"><code class="value keyname">'S'</code></a></dt>
+            <dt><a id="keyset-key-U-0053"><code class="value codepoint">'U+0053'</code></a></dt>
             <dd>The Latin Capital Letter S key (S).</dd>
 
-            <dt><a id="keyset-key-T"><code class="value">'T'</code></a></dt>
-            <dt><a id="keyset-key-U-0054"><code class="value">'U+0054'</code></a></dt>
+            <dt><a id="keyset-key-T"><code class="value keyname">'T'</code></a></dt>
+            <dt><a id="keyset-key-U-0054"><code class="value codepoint">'U+0054'</code></a></dt>
             <dd>The Latin Capital Letter T key (T).</dd>
 
-            <dt><a id="keyset-key-U"><code class="value">'U'</code></a></dt>
-            <dt><a id="keyset-key-U-0055"><code class="value">'U+0055'</code></a></dt>
+            <dt><a id="keyset-key-U"><code class="value keyname">'U'</code></a></dt>
+            <dt><a id="keyset-key-U-0055"><code class="value codepoint">'U+0055'</code></a></dt>
             <dd>The Latin Capital Letter U key (U).</dd>
 
-            <dt><a id="keyset-key-V"><code class="value">'V'</code></a></dt>
-            <dt><a id="keyset-key-U-0056"><code class="value">'U+0056'</code></a></dt>
+            <dt><a id="keyset-key-V"><code class="value keyname">'V'</code></a></dt>
+            <dt><a id="keyset-key-U-0056"><code class="value codepoint">'U+0056'</code></a></dt>
             <dd>The Latin Capital Letter V key (V).</dd>
 
-            <dt><a id="keyset-key-W"><code class="value">'W'</code></a></dt>
-            <dt><a id="keyset-key-U-0057"><code class="value">'U+0057'</code></a></dt>
+            <dt><a id="keyset-key-W"><code class="value keyname">'W'</code></a></dt>
+            <dt><a id="keyset-key-U-0057"><code class="value codepoint">'U+0057'</code></a></dt>
             <dd>The Latin Capital Letter W key (W).</dd>
 
-            <dt><a id="keyset-key-X"><code class="value">'X'</code></a></dt>
-            <dt><a id="keyset-key-U-0058"><code class="value">'U+0058'</code></a></dt>
+            <dt><a id="keyset-key-X"><code class="value keyname">'X'</code></a></dt>
+            <dt><a id="keyset-key-U-0058"><code class="value codepoint">'U+0058'</code></a></dt>
             <dd>The Latin Capital Letter X key (X).</dd>
 
-            <dt><a id="keyset-key-Y"><code class="value">'Y'</code></a></dt>
-            <dt><a id="keyset-key-U-0059"><code class="value">'U+0059'</code></a></dt>
+            <dt><a id="keyset-key-Y"><code class="value keyname">'Y'</code></a></dt>
+            <dt><a id="keyset-key-U-0059"><code class="value codepoint">'U+0059'</code></a></dt>
             <dd>The Latin Capital Letter Y key (Y).</dd>
 
-            <dt><a id="keyset-key-Z"><code class="value">'Z'</code></a></dt>
-            <dt><a id="keyset-key-U-005A"><code class="value">'U+005A'</code></a></dt>
+            <dt><a id="keyset-key-Z"><code class="value keyname">'Z'</code></a></dt>
+            <dt><a id="keyset-key-U-005A"><code class="value codepoint">'U+005A'</code></a></dt>
             <dd>The Latin Capital Letter Z key (Z).</dd>
 
-            <dt><a id="keyset-key-a"><code class="value">'a'</code></a></dt>
-            <dt><a id="keyset-key-U-0061"><code class="value">'U+0061'</code></a></dt>
+            <dt><a id="keyset-key-a"><code class="value keyname">'a'</code></a></dt>
+            <dt><a id="keyset-key-U-0061"><code class="value codepoint">'U+0061'</code></a></dt>
             <dd>The Latin Miniscule Letter a key.</dd>
 
-            <dt><a id="keyset-key-b"><code class="value">'b'</code></a></dt>
-            <dt><a id="keyset-key-U-0062"><code class="value">'U+0062'</code></a></dt>
+            <dt><a id="keyset-key-b"><code class="value keyname">'b'</code></a></dt>
+            <dt><a id="keyset-key-U-0062"><code class="value codepoint">'U+0062'</code></a></dt>
             <dd>The Latin Miniscule Letter b key.</dd>
 
-            <dt><a id="keyset-key-c"><code class="value">'c'</code></a></dt>
-            <dt><a id="keyset-key-U-0063"><code class="value">'U+0063'</code></a></dt>
+            <dt><a id="keyset-key-c"><code class="value keyname">'c'</code></a></dt>
+            <dt><a id="keyset-key-U-0063"><code class="value codepoint">'U+0063'</code></a></dt>
             <dd>The Latin Miniscule Letter c key.</dd>
 
-            <dt><a id="keyset-key-d"><code class="value">'d'</code></a></dt>
-            <dt><a id="keyset-key-U-0064"><code class="value">'U+0064'</code></a></dt>
+            <dt><a id="keyset-key-d"><code class="value keyname">'d'</code></a></dt>
+            <dt><a id="keyset-key-U-0064"><code class="value codepoint">'U+0064'</code></a></dt>
             <dd>The Latin Miniscule Letter d key.</dd>
 
-            <dt><a id="keyset-key-e"><code class="value">'e'</code></a></dt>
-            <dt><a id="keyset-key-U-0065"><code class="value">'U+0065'</code></a></dt>
+            <dt><a id="keyset-key-e"><code class="value keyname">'e'</code></a></dt>
+            <dt><a id="keyset-key-U-0065"><code class="value codepoint">'U+0065'</code></a></dt>
             <dd>The Latin Miniscule Letter e key.</dd>
 
-            <dt><a id="keyset-key-f"><code class="value">'f'</code></a></dt>
-            <dt><a id="keyset-key-U-0066"><code class="value">'U+0066'</code></a></dt>
+            <dt><a id="keyset-key-f"><code class="value keyname">'f'</code></a></dt>
+            <dt><a id="keyset-key-U-0066"><code class="value codepoint">'U+0066'</code></a></dt>
             <dd>The Latin Miniscule Letter f key.</dd>
 
-            <dt><a id="keyset-key-g"><code class="value">'g'</code></a></dt>
-            <dt><a id="keyset-key-U-0067"><code class="value">'U+0067'</code></a></dt>
+            <dt><a id="keyset-key-g"><code class="value keyname">'g'</code></a></dt>
+            <dt><a id="keyset-key-U-0067"><code class="value codepoint">'U+0067'</code></a></dt>
             <dd>The Latin Miniscule Letter g key.</dd>
 
-            <dt><a id="keyset-key-h"><code class="value">'h'</code></a></dt>
-            <dt><a id="keyset-key-U-0068"><code class="value">'U+0068'</code></a></dt>
+            <dt><a id="keyset-key-h"><code class="value keyname">'h'</code></a></dt>
+            <dt><a id="keyset-key-U-0068"><code class="value codepoint">'U+0068'</code></a></dt>
             <dd>The Latin Miniscule Letter h key.</dd>
 
-            <dt><a id="keyset-key-i"><code class="value">'i'</code></a></dt>
-            <dt><a id="keyset-key-U-0069"><code class="value">'U+0069'</code></a></dt>
+            <dt><a id="keyset-key-i"><code class="value keyname">'i'</code></a></dt>
+            <dt><a id="keyset-key-U-0069"><code class="value codepoint">'U+0069'</code></a></dt>
             <dd>The Latin Miniscule Letter i key.</dd>
 
-            <dt><a id="keyset-key-j"><code class="value">'j'</code></a></dt>
-            <dt><a id="keyset-key-U-006A"><code class="value">'U+006A'</code></a></dt>
+            <dt><a id="keyset-key-j"><code class="value keyname">'j'</code></a></dt>
+            <dt><a id="keyset-key-U-006A"><code class="value codepoint">'U+006A'</code></a></dt>
             <dd>The Latin Miniscule Letter j key.</dd>
 
-            <dt><a id="keyset-key-k"><code class="value">'k'</code></a></dt>
-            <dt><a id="keyset-key-U-006B"><code class="value">'U+006B'</code></a></dt>
+            <dt><a id="keyset-key-k"><code class="value keyname">'k'</code></a></dt>
+            <dt><a id="keyset-key-U-006B"><code class="value codepoint">'U+006B'</code></a></dt>
             <dd>The Latin Miniscule Letter k key.</dd>
 
-            <dt><a id="keyset-key-l"><code class="value">'l'</code></a></dt>
-            <dt><a id="keyset-key-U-006C"><code class="value">'U+006C'</code></a></dt>
+            <dt><a id="keyset-key-l"><code class="value keyname">'l'</code></a></dt>
+            <dt><a id="keyset-key-U-006C"><code class="value codepoint">'U+006C'</code></a></dt>
             <dd>The Latin Miniscule Letter l key.</dd>
 
-            <dt><a id="keyset-key-m"><code class="value">'m'</code></a></dt>
-            <dt><a id="keyset-key-U-006D"><code class="value">'U+006D'</code></a></dt>
+            <dt><a id="keyset-key-m"><code class="value keyname">'m'</code></a></dt>
+            <dt><a id="keyset-key-U-006D"><code class="value codepoint">'U+006D'</code></a></dt>
             <dd>The Latin Miniscule Letter m key.</dd>
 
-            <dt><a id="keyset-key-n"><code class="value">'n'</code></a></dt>
-            <dt><a id="keyset-key-U-006E"><code class="value">'U+006E'</code></a></dt>
+            <dt><a id="keyset-key-n"><code class="value keyname">'n'</code></a></dt>
+            <dt><a id="keyset-key-U-006E"><code class="value codepoint">'U+006E'</code></a></dt>
             <dd>The Latin Miniscule Letter n key.</dd>
 
-            <dt><a id="keyset-key-o"><code class="value">'o'</code></a></dt>
-            <dt><a id="keyset-key-U-006F"><code class="value">'U+006F'</code></a></dt>
+            <dt><a id="keyset-key-o"><code class="value keyname">'o'</code></a></dt>
+            <dt><a id="keyset-key-U-006F"><code class="value codepoint">'U+006F'</code></a></dt>
             <dd>The Latin Miniscule Letter o key.</dd>
 
-            <dt><a id="keyset-key-p"><code class="value">'p'</code></a></dt>
-            <dt><a id="keyset-key-U-0070"><code class="value">'U+0070'</code></a></dt>
+            <dt><a id="keyset-key-p"><code class="value keyname">'p'</code></a></dt>
+            <dt><a id="keyset-key-U-0070"><code class="value codepoint">'U+0070'</code></a></dt>
             <dd>The Latin Miniscule Letter p key.</dd>
 
-            <dt><a id="keyset-key-q"><code class="value">'q'</code></a></dt>
-            <dt><a id="keyset-key-U-0071"><code class="value">'U+0071'</code></a></dt>
+            <dt><a id="keyset-key-q"><code class="value keyname">'q'</code></a></dt>
+            <dt><a id="keyset-key-U-0071"><code class="value codepoint">'U+0071'</code></a></dt>
             <dd>The Latin Miniscule Letter q key.</dd>
 
-            <dt><a id="keyset-key-r"><code class="value">'r'</code></a></dt>
-            <dt><a id="keyset-key-U-0072"><code class="value">'U+0072'</code></a></dt>
+            <dt><a id="keyset-key-r"><code class="value keyname">'r'</code></a></dt>
+            <dt><a id="keyset-key-U-0072"><code class="value codepoint">'U+0072'</code></a></dt>
             <dd>The Latin Miniscule Letter r key.</dd>
 
-            <dt><a id="keyset-key-s"><code class="value">'s'</code></a></dt>
-            <dt><a id="keyset-key-U-0073"><code class="value">'U+0073'</code></a></dt>
+            <dt><a id="keyset-key-s"><code class="value keyname">'s'</code></a></dt>
+            <dt><a id="keyset-key-U-0073"><code class="value codepoint">'U+0073'</code></a></dt>
             <dd>The Latin Miniscule Letter s key.</dd>
 
-            <dt><a id="keyset-key-t"><code class="value">'t'</code></a></dt>
-            <dt><a id="keyset-key-U-0074"><code class="value">'U+0074'</code></a></dt>
+            <dt><a id="keyset-key-t"><code class="value keyname">'t'</code></a></dt>
+            <dt><a id="keyset-key-U-0074"><code class="value codepoint">'U+0074'</code></a></dt>
             <dd>The Latin Miniscule Letter t key.</dd>
 
-            <dt><a id="keyset-key-u"><code class="value">'u'</code></a></dt>
-            <dt><a id="keyset-key-U-0075"><code class="value">'U+0075'</code></a></dt>
+            <dt><a id="keyset-key-u"><code class="value keyname">'u'</code></a></dt>
+            <dt><a id="keyset-key-U-0075"><code class="value codepoint">'U+0075'</code></a></dt>
             <dd>The Latin Miniscule Letter u key.</dd>
 
-            <dt><a id="keyset-key-v"><code class="value">'v'</code></a></dt>
-            <dt><a id="keyset-key-U-0076"><code class="value">'U+0076'</code></a></dt>
+            <dt><a id="keyset-key-v"><code class="value keyname">'v'</code></a></dt>
+            <dt><a id="keyset-key-U-0076"><code class="value codepoint">'U+0076'</code></a></dt>
             <dd>The Latin Miniscule Letter v key.</dd>
 
-            <dt><a id="keyset-key-w"><code class="value">'w'</code></a></dt>
-            <dt><a id="keyset-key-U-0077"><code class="value">'U+0077'</code></a></dt>
+            <dt><a id="keyset-key-w"><code class="value keyname">'w'</code></a></dt>
+            <dt><a id="keyset-key-U-0077"><code class="value codepoint">'U+0077'</code></a></dt>
             <dd>The Latin Miniscule Letter w key.</dd>
 
-            <dt><a id="keyset-key-x"><code class="value">'x'</code></a></dt>
-            <dt><a id="keyset-key-U-0078"><code class="value">'U+0078'</code></a></dt>
+            <dt><a id="keyset-key-x"><code class="value keyname">'x'</code></a></dt>
+            <dt><a id="keyset-key-U-0078"><code class="value codepoint">'U+0078'</code></a></dt>
             <dd>The Latin Miniscule Letter x key.</dd>
 
-            <dt><a id="keyset-key-y"><code class="value">'y'</code></a></dt>
-            <dt><a id="keyset-key-U-0079"><code class="value">'U+0079'</code></a></dt>
+            <dt><a id="keyset-key-y"><code class="value keyname">'y'</code></a></dt>
+            <dt><a id="keyset-key-U-0079"><code class="value codepoint">'U+0079'</code></a></dt>
             <dd>The Latin Miniscule Letter y key.</dd>
 
-            <dt><a id="keyset-key-z"><code class="value">'z'</code></a></dt>
-            <dt><a id="keyset-key-U-007A"><code class="value">'U+007A'</code></a></dt>
+            <dt><a id="keyset-key-z"><code class="value keyname">'z'</code></a></dt>
+            <dt><a id="keyset-key-U-007A"><code class="value codepoint">'U+007A'</code></a></dt>
             <dd>The Latin Miniscule Letter z key.</dd>
 
 
-            <dt><a id="keyset-key-LeftSquareBracketChar"><code class="value">'['</code></a></dt>
-            <dt><a id="keyset-key-LeftSquareBracket"><code class="value">'LeftSquareBracket'</code></a></dt>
-            <dt><a id="keyset-key-U-005B"><code class="value">'U+005B'</code></a></dt>
+            <dt><a id="keyset-key-LeftSquareBracketChar"><code class="value charval">'['</code></a></dt>
+            <dt><a id="keyset-key-LeftSquareBracket"><code class="value keyname">'LeftSquareBracket'</code></a></dt>
+            <dt><a id="keyset-key-U-005B"><code class="value codepoint">'U+005B'</code></a></dt>
             <dd>The Left Square Bracket (Opening Square Bracket) key ([).</dd>
 
-            <dt><a id="keyset-key-BackslashChar"><code class="value">'\'</code></a></dt>
-            <dt><a id="keyset-key-Backslash"><code class="value">'Backslash'</code></a></dt>
-            <dt><a id="keyset-key-U-005C"><code class="value">'U+005C'</code></a></dt>
+            <dt><a id="keyset-key-BackslashChar"><code class="value charval">'\'</code></a></dt>
+            <dt><a id="keyset-key-Backslash"><code class="value keyname">'Backslash'</code></a></dt>
+            <dt><a id="keyset-key-U-005C"><code class="value codepoint">'U+005C'</code></a></dt>
             <dd>The Reverse Solidus (Backslash) key (\).</dd>
 
-            <dt><a id="keyset-key-RightSquareBracketChar"><code class="value">']'</code></a></dt>
-            <dt><a id="keyset-key-RightSquareBracket"><code class="value">'RightSquareBracket'</code></a></dt>
-            <dt><a id="keyset-key-U-005D"><code class="value">'U+005D'</code></a></dt>
+            <dt><a id="keyset-key-RightSquareBracketChar"><code class="value charval">']'</code></a></dt>
+            <dt><a id="keyset-key-RightSquareBracket"><code class="value keyname">'RightSquareBracket'</code></a></dt>
+            <dt><a id="keyset-key-U-005D"><code class="value codepoint">'U+005D'</code></a></dt>
             <dd>The Right Square Bracket (Closing Square Bracket) key (]).</dd>
 
-            <dt><a id="keyset-key-CircumflexChar"><code class="value">'^'</code></a></dt>
-            <dt><a id="keyset-key-Circumflex"><code class="value">'Circumflex'</code></a></dt>
-            <dt><a id="keyset-key-U-005E"><code class="value">'U+005E'</code></a></dt>
+            <dt><a id="keyset-key-CircumflexChar"><code class="value charval">'^'</code></a></dt>
+            <dt><a id="keyset-key-Circumflex"><code class="value keyname">'Circumflex'</code></a></dt>
+            <dt><a id="keyset-key-U-005E"><code class="value codepoint">'U+005E'</code></a></dt>
             <dd>The Circumflex Accent key (^).</dd>
 
-            <dt><a id="keyset-key-UnderscoreChar"><code class="value">'_'</code></a></dt>
-            <dt><a id="keyset-key-Underscore"><code class="value">'Underscore'</code></a></dt>
-            <dt><a id="keyset-key-U-005F"><code class="value">'U+005F'</code></a></dt>
+            <dt><a id="keyset-key-UnderscoreChar"><code class="value charval">'_'</code></a></dt>
+            <dt><a id="keyset-key-Underscore"><code class="value keyname">'Underscore'</code></a></dt>
+            <dt><a id="keyset-key-U-005F"><code class="value codepoint">'U+005F'</code></a></dt>
             <dd>The Low Sign (Spacing Underscore, Underscore) key (_).</dd>
 
-            <dt><a id="keyset-key-GraveChar"><code class="value">'`'</code></a></dt>
-            <dt><a id="keyset-key-Grave"><code class="value">'Grave'</code></a></dt>
-            <dt><a id="keyset-key-U-0060"><code class="value">'U+0060'</code></a></dt>
+            <dt><a id="keyset-key-GraveChar"><code class="value charval">'`'</code></a></dt>
+            <dt><a id="keyset-key-Grave"><code class="value keyname">'Grave'</code></a></dt>
+            <dt><a id="keyset-key-U-0060"><code class="value codepoint">'U+0060'</code></a></dt>
             <dd>The Grave Accent (Back Quote) key (`).</dd>
 
-            <dt><a id="keyset-key-LeftCurlyBracketChar"><code class="value">'{'</code></a></dt>
-            <dt><a id="keyset-key-LeftCurlyBracket"><code class="value">'LeftCurlyBracket'</code></a></dt>
-            <dt><a id="keyset-key-U-007B"><code class="value">'U+007B'</code></a></dt>
+            <dt><a id="keyset-key-LeftCurlyBracketChar"><code class="value charval">'{'</code></a></dt>
+            <dt><a id="keyset-key-LeftCurlyBracket"><code class="value keyname">'LeftCurlyBracket'</code></a></dt>
+            <dt><a id="keyset-key-U-007B"><code class="value codepoint">'U+007B'</code></a></dt>
             <dd>The Left Curly Bracket (Opening Curly Bracket, Opening Brace, Brace Left) key ({).</dd>
 
-            <dt><a id="keyset-key-PipeChar"><code class="value">'|'</code></a></dt>
-            <dt><a id="keyset-key-Pipe"><code class="value">'Pipe'</code></a></dt>
-            <dt><a id="keyset-key-U-007C"><code class="value">'U+007C'</code></a></dt>
+            <dt><a id="keyset-key-PipeChar"><code class="value charval">'|'</code></a></dt>
+            <dt><a id="keyset-key-Pipe"><code class="value keyname">'Pipe'</code></a></dt>
+            <dt><a id="keyset-key-U-007C"><code class="value codepoint">'U+007C'</code></a></dt>
             <dd>The Vertical Line (Vertical Bar, Pipe) key (|).</dd>
 
-            <dt><a id="keyset-key-RightCurlyBracketChar"><code class="value">'}'</code></a></dt>
-            <dt><a id="keyset-key-RightCurlyBracket"><code class="value">'RightCurlyBracket'</code></a></dt>
-            <dt><a id="keyset-key-U-007D"><code class="value">'U+007D'</code></a></dt>
+            <dt><a id="keyset-key-RightCurlyBracketChar"><code class="value charval">'}'</code></a></dt>
+            <dt><a id="keyset-key-RightCurlyBracket"><code class="value keyname">'RightCurlyBracket'</code></a></dt>
+            <dt><a id="keyset-key-U-007D"><code class="value codepoint">'U+007D'</code></a></dt>
             <dd>The Right Curly Bracket (Closing Curly Bracket, Closing Brace, Brace Right) key (}).</dd>
 
-            <dt><a id="keyset-key-Del"><code class="value">'Del'</code></a></dt>
-            <dt><a id="keyset-key-U-007F"><code class="value">'U+007F'</code></a></dt>
+            <dt><a id="keyset-key-Del"><code class="value keyname">'Del'</code></a></dt>
+            <dt><a id="keyset-key-U-007F"><code class="value codepoint">'U+007F'</code></a></dt>
             <dd>The Delete (Del) Key.
              <span class="note"><strong>Note:</strong> This key identifier shall be also used for the key labeled <code class="value">'delete'</code> MacOS keyboards when modified by the <code class="value">'Fn'</code> key.</span>
             </dd>
 
-            <dt><a id="keyset-key-InvertedExclamationChar"><code class="value">'¡'</code></a></dt>
-            <dt><a id="keyset-key-InvertedExclamation"><code class="value">'InvertedExclamation'</code></a></dt>
-            <dt><a id="keyset-key-U-00A1"><code class="value">'U+00A1'</code></a></dt>
+            <dt><a id="keyset-key-InvertedExclamationChar"><code class="value charval">'¡'</code></a></dt>
+            <dt><a id="keyset-key-InvertedExclamation"><code class="value keyname">'InvertedExclamation'</code></a></dt>
+            <dt><a id="keyset-key-U-00A1"><code class="value codepoint">'U+00A1'</code></a></dt>
             <dd>The Inverted Exclamation Mark key (&#161;).</dd>
 
-            <dt><a id="keyset-key-DeadGrave"><code class="value">'DeadGrave'</code></a></dt>
-            <dt><a id="keyset-key-U-0300"><code class="value">'U+0300'</code></a></dt>
+            <dt><a id="keyset-key-DeadGrave"><code class="value keyname">'DeadGrave'</code></a></dt>
+            <dt><a id="keyset-key-U-0300"><code class="value codepoint">'U+0300'</code></a></dt>
             <dd>The Combining Grave Accent (Greek Varia, Dead Grave) key.</dd>
 
-            <dt><a id="keyset-key-DeadEacute"><code class="value">'DeadEacute'</code></a></dt>
-            <dt><a id="keyset-key-U-0301"><code class="value">'U+0301'</code></a></dt>
+            <dt><a id="keyset-key-DeadEacute"><code class="value keyname">'DeadEacute'</code></a></dt>
+            <dt><a id="keyset-key-U-0301"><code class="value codepoint">'U+0301'</code></a></dt>
             <dd>The Combining Acute Accent (Stress Mark, Greek Oxia, Tonos, Dead Eacute) key.</dd>
 
-            <dt><a id="keyset-key-DeadCircumflex"><code class="value">'DeadCircumflex'</code></a></dt>
-            <dt><a id="keyset-key-U-0302"><code class="value">'U+0302'</code></a></dt>
+            <dt><a id="keyset-key-DeadCircumflex"><code class="value keyname">'DeadCircumflex'</code></a></dt>
+            <dt><a id="keyset-key-U-0302"><code class="value codepoint">'U+0302'</code></a></dt>
             <dd>The Combining Circumflex Accent (Hat, Dead Circumflex) key.</dd>
 
-            <dt><a id="keyset-key-DeadTilde"><code class="value">'DeadTilde'</code></a></dt>
-            <dt><a id="keyset-key-U-0303"><code class="value">'U+0303'</code></a></dt>
+            <dt><a id="keyset-key-DeadTilde"><code class="value keyname">'DeadTilde'</code></a></dt>
+            <dt><a id="keyset-key-U-0303"><code class="value codepoint">'U+0303'</code></a></dt>
             <dd>The Combining Tilde (Dead Tilde) key.</dd>
 
-            <dt><a id="keyset-key-DeadMacron"><code class="value">'DeadMacron'</code></a></dt>
-            <dt><a id="keyset-key-U-0304"><code class="value">'U+0304'</code></a></dt>
+            <dt><a id="keyset-key-DeadMacron"><code class="value keyname">'DeadMacron'</code></a></dt>
+            <dt><a id="keyset-key-U-0304"><code class="value codepoint">'U+0304'</code></a></dt>
             <dd>The Combining Macron (Long, Dead Macron) key.</dd>
 
-            <dt><a id="keyset-key-DeadBreve"><code class="value">'DeadBreve'</code></a></dt>
-            <dt><a id="keyset-key-U-0306"><code class="value">'U+0306'</code></a></dt>
+            <dt><a id="keyset-key-DeadBreve"><code class="value keyname">'DeadBreve'</code></a></dt>
+            <dt><a id="keyset-key-U-0306"><code class="value codepoint">'U+0306'</code></a></dt>
             <dd>The Combining Breve (Short, Dead Breve) key.</dd>
 
-            <dt><a id="keyset-key-DeadAboveDot"><code class="value">'DeadAboveDot'</code></a></dt>
-            <dt><a id="keyset-key-U-0307"><code class="value">'U+0307'</code></a></dt>
+            <dt><a id="keyset-key-DeadAboveDot"><code class="value keyname">'DeadAboveDot'</code></a></dt>
+            <dt><a id="keyset-key-U-0307"><code class="value codepoint">'U+0307'</code></a></dt>
             <dd>The Combining Dot Above (Derivative, Dead Above Dot) key.</dd>
 
-            <dt><a id="keyset-key-DeadUmlaut"><code class="value">'DeadUmlaut'</code></a></dt>
-            <dt><a id="keyset-key-U-0308"><code class="value">'U+0308'</code></a></dt>
+            <dt><a id="keyset-key-DeadUmlaut"><code class="value keyname">'DeadUmlaut'</code></a></dt>
+            <dt><a id="keyset-key-U-0308"><code class="value codepoint">'U+0308'</code></a></dt>
             <dd>The Combining Diaeresis (Double Dot Abode, Umlaut, Greek Dialytika, Double Derivative, Dead Diaeresis) key.</dd>
 
-            <dt><a id="keyset-key-DeadAboveRing"><code class="value">'DeadAboveRing'</code></a></dt>
-            <dt><a id="keyset-key-U-030A"><code class="value">'U+030A'</code></a></dt>
+            <dt><a id="keyset-key-DeadAboveRing"><code class="value keyname">'DeadAboveRing'</code></a></dt>
+            <dt><a id="keyset-key-U-030A"><code class="value codepoint">'U+030A'</code></a></dt>
             <dd>The Combining Ring Above (Dead Above Ring) key.</dd>
 
-            <dt><a id="keyset-key-DeadDoubleacute"><code class="value">'DeadDoubleacute'</code></a></dt>
-            <dt><a id="keyset-key-U-030B"><code class="value">'U+030B'</code></a></dt>
+            <dt><a id="keyset-key-DeadDoubleacute"><code class="value keyname">'DeadDoubleacute'</code></a></dt>
+            <dt><a id="keyset-key-U-030B"><code class="value codepoint">'U+030B'</code></a></dt>
             <dd>The Combining Double Acute Accent (Dead Doubleacute) key.</dd>
 
-            <dt><a id="keyset-key-DeadCaron"><code class="value">'DeadCaron'</code></a></dt>
-            <dt><a id="keyset-key-U-030C"><code class="value">'U+030C'</code></a></dt>
+            <dt><a id="keyset-key-DeadCaron"><code class="value keyname">'DeadCaron'</code></a></dt>
+            <dt><a id="keyset-key-U-030C"><code class="value codepoint">'U+030C'</code></a></dt>
             <dd>The Combining Caron (Hacek, V Above, Dead Caron) key.</dd>
 
-            <dt><a id="keyset-key-DeadCedilla"><code class="value">'DeadCedilla'</code></a></dt>
-            <dt><a id="keyset-key-U-0327"><code class="value">'U+0327'</code></a></dt>
+            <dt><a id="keyset-key-DeadCedilla"><code class="value keyname">'DeadCedilla'</code></a></dt>
+            <dt><a id="keyset-key-U-0327"><code class="value codepoint">'U+0327'</code></a></dt>
             <dd>The Combining Cedilla (Dead Cedilla) key.</dd>
 
-            <dt><a id="keyset-key-DeadOgonek"><code class="value">'DeadOgonek'</code></a></dt>
-            <dt><a id="keyset-key-U-0328"><code class="value">'U+0328'</code></a></dt>
+            <dt><a id="keyset-key-DeadOgonek"><code class="value keyname">'DeadOgonek'</code></a></dt>
+            <dt><a id="keyset-key-U-0328"><code class="value codepoint">'U+0328'</code></a></dt>
             <dd>The Combining Ogonek (Nasal Hook, Dead Ogonek) key.</dd>
 
-            <dt><a id="keyset-key-DeadIota"><code class="value">'DeadIota'</code></a></dt>
-            <dt><a id="keyset-key-U-0345"><code class="value">'U+0345'</code></a></dt>
+            <dt><a id="keyset-key-DeadIota"><code class="value keyname">'DeadIota'</code></a></dt>
+            <dt><a id="keyset-key-U-0345"><code class="value codepoint">'U+0345'</code></a></dt>
             <dd>The Combining Greek Ypogegrammeni (Greek Non-Spacing Iota Below, Iota Subscript, Dead Iota) key.</dd>
 
-            <dt><a id="keyset-key-EuroChar"><code class="value">'€'</code></a></dt>
-            <dt><a id="keyset-key-Euro"><code class="value">'Euro'</code></a></dt>
-            <dt><a id="keyset-key-U-20AC"><code class="value">'U+20AC'</code></a></dt>
+            <dt><a id="keyset-key-EuroChar"><code class="value charval">'€'</code></a></dt>
+            <dt><a id="keyset-key-Euro"><code class="value keyname">'Euro'</code></a></dt>
+            <dt><a id="keyset-key-U-20AC"><code class="value codepoint">'U+20AC'</code></a></dt>
             <dd>The Euro Currency Sign key (&#8364;).</dd>
 
-            <dt><a id="keyset-key-DeadVoicedSound"><code class="value">'DeadVoicedSound'</code></a></dt>
-            <dt><a id="keyset-key-U-3099"><code class="value">'U+3099'</code></a></dt>
+            <dt><a id="keyset-key-DeadVoicedSound"><code class="value keyname">'DeadVoicedSound'</code></a></dt>
+            <dt><a id="keyset-key-U-3099"><code class="value codepoint">'U+3099'</code></a></dt>
             <dd>The Combining Katakana-Hiragana Voiced Sound Mark (Dead Voiced Sound) key.</dd>
 
-            <dt><a id="keyset-key-DeadSemivoicedSound"><code class="value">'DeadSemivoicedSound'</code></a></dt>
-            <dt><a id="keyset-key-U-309A"><code class="value">'U+309A'</code></a></dt>
+            <dt><a id="keyset-key-DeadSemivoicedSound"><code class="value keyname">'DeadSemivoicedSound'</code></a></dt>
+            <dt><a id="keyset-key-U-309A"><code class="value codepoint">'U+309A'</code></a></dt>
             <dd>The Combining Katakana-Hiragana Semi-Voiced Sound Mark (Dead Semivoiced Sound) key.</dd>
           </dl>
         </div>
@@ -6670,8 +6724,8 @@
           </dd>
           
 
-          <dt><strong>[<a id="references-ISO-9995-3">ISO9995-3</a>]</strong></dt>
-          <dd><cite><a href="http://www.iso.org/iso/search.htm?qt=9995&amp;published=on">ISO/IEC 9995-3:2009A, Information technology -- Keyboard layouts for text and office systems -- Part 3: Complementary layouts of the alphanumeric zone of the alphanumeric section.</a></cite></dd>
+          <dt><strong>[<a id="references-ISO-9995-2-3">ISO9995-2/3</a>]</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><strong>[<a id="references-ISO-9995-8">ISO9995-8</a>]</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>