| <?xml version="1.0" standalone="no"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" |
| "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> |
| |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <!-- ========================================================================= --> |
| <!-- Traces the DOM_VK_* values on keydown events --> |
| <!-- --> |
| <!-- @author vincent.hardy@sun.com --> |
| <!-- @version $Id$ --> |
| <!-- ========================================================================= --> |
| |
| <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?> |
| |
| <svg xmlns="http://www.w3.org/2000/svg" |
| xmlns:xlink="http://www.w3.org/1999/xlink" |
| id="body" width="450" height="500" viewBox="0 0 450 500"> |
| |
| <rect x="0" y="0" width="100%" height="100%" fill="white" |
| onkeydown="traceKeyCode(evt)" /> |
| |
| <text class="title" x="50%" y="50">KeyEvents test: DOM_VK_* values</text> |
| |
| <script type="text/ecmascript"><![CDATA[ |
| |
| var traceText = document.createTextNode(""); |
| var trace = document.getElementById('trace'); |
| trace.appendChild(traceText); |
| |
| function traceKeyCode(evt) { |
| var keyCode = evt.keyCode; |
| var keyCodeStr = ""; |
| |
| switch (keyCode) { |
| case 0x30: |
| keyCodeStr = "DOM_VK_0"; break; |
| |
| case 0x31: |
| keyCodeStr = "DOM_VK_1"; break; |
| |
| case 0x32: |
| keyCodeStr = "DOM_VK_2"; break; |
| |
| case 0x33: |
| keyCodeStr = "DOM_VK_3"; break; |
| |
| case 0x34: |
| keyCodeStr = "DOM_VK_4"; break; |
| |
| case 0x35: |
| keyCodeStr = "DOM_VK_5"; break; |
| |
| case 0x36: |
| keyCodeStr = "DOM_VK_6"; break; |
| |
| case 0x37: |
| keyCodeStr = "DOM_VK_7"; break; |
| |
| case 0x38: |
| keyCodeStr = "DOM_VK_8"; break; |
| |
| case 0x39: |
| keyCodeStr = "DOM_VK_9"; break; |
| |
| case 0x41: |
| keyCodeStr = "DOM_VK_A"; break; |
| |
| case 0x1E: |
| keyCodeStr = "DOM_VK_ACCEPT"; break; |
| |
| case 0x6B: |
| keyCodeStr = "DOM_VK_ADD"; break; |
| |
| case 0xFFC9: |
| keyCodeStr = "DOM_VK_AGAIN"; break; |
| |
| case 0x0100: |
| keyCodeStr = "DOM_VK_ALL_CANDIDATES"; break; |
| |
| case 0x00F0: |
| keyCodeStr = "DOM_VK_ALPHANUMERIC"; break; |
| |
| case 0x12: |
| keyCodeStr = "DOM_VK_ALT"; break; |
| |
| case 0xFF7E: |
| keyCodeStr = "DOM_VK_ALT_GRAPH"; break; |
| |
| case 0x96: |
| keyCodeStr = "DOM_VK_AMPERSAND"; break; |
| |
| case 0x97: |
| keyCodeStr = "DOM_VK_ASTERISK"; break; |
| |
| case 0x0200: |
| keyCodeStr = "DOM_VK_AT"; break; |
| |
| case 0x42: |
| keyCodeStr = "DOM_VK_B"; break; |
| |
| case 0xC0: |
| keyCodeStr = "DOM_VK_BACK_QUOTE"; break; |
| |
| case 0x5C: |
| keyCodeStr = "DOM_VK_BACK_SLASH"; break; |
| |
| case 0x08: |
| keyCodeStr = "DOM_VK_BACK_SPACE"; break; |
| |
| case 0xA1: |
| keyCodeStr = "DOM_VK_BRACELEFT"; break; |
| |
| case 0xA2: |
| keyCodeStr = "DOM_VK_BRACERIGHT"; break; |
| |
| case 0x43: |
| keyCodeStr = "DOM_VK_C"; break; |
| |
| case 0x03: |
| keyCodeStr = "DOM_VK_CANCEL"; break; |
| |
| case 0x14: |
| keyCodeStr = "DOM_VK_CAPS_LOCK"; break; |
| |
| case 0x0202: |
| keyCodeStr = "DOM_VK_CIRCUMFLEX"; break; |
| |
| case 0x0C: |
| keyCodeStr = "DOM_VK_CLEAR"; break; |
| |
| case 0x5D: |
| keyCodeStr = "DOM_VK_CLOSE_BRACKET"; break; |
| |
| case 0x0102: |
| keyCodeStr = "DOM_VK_CODE_INPUT"; break; |
| |
| case 0x0201: |
| keyCodeStr = "DOM_VK_COLON"; break; |
| |
| case 0x2C: |
| keyCodeStr = "DOM_VK_COMMA"; break; |
| |
| case 0xFF20: |
| keyCodeStr = "DOM_VK_COMPOSE"; break; |
| |
| case 0x11: |
| keyCodeStr = "DOM_VK_CONTROL"; break; |
| |
| case 0x1C: |
| keyCodeStr = "DOM_VK_CONVERT"; break; |
| |
| case 0xFFCD: |
| keyCodeStr = "DOM_VK_COPY"; break; |
| |
| case 0xFFD1: |
| keyCodeStr = "DOM_VK_CUT"; break; |
| |
| case 0x44: |
| keyCodeStr = "DOM_VK_D"; break; |
| |
| case 0x86: |
| keyCodeStr = "DOM_VK_DEAD_ABOVEDOT"; break; |
| |
| case 0x88: |
| keyCodeStr = "DOM_VK_DEAD_ABOVERING"; break; |
| |
| case 0x81: |
| keyCodeStr = "DOM_VK_DEAD_ACUTE"; break; |
| |
| case 0x85: |
| keyCodeStr = "DOM_VK_DEAD_BREVE"; break; |
| |
| case 0x8A: |
| keyCodeStr = "DOM_VK_DEAD_CARON"; break; |
| |
| case 0x8B: |
| keyCodeStr = "DOM_VK_DEAD_CEDILLA"; break; |
| |
| case 0x82: |
| keyCodeStr = "DOM_VK_DEAD_CIRCUMFLEX"; break; |
| |
| case 0x87: |
| keyCodeStr = "DOM_VK_DEAD_DIAERESIS"; break; |
| |
| case 0x89: |
| keyCodeStr = "DOM_VK_DEAD_DOUBLEACUTE"; break; |
| |
| case 0x80: |
| keyCodeStr = "DOM_VK_DEAD_GRAVE"; break; |
| |
| case 0x8D: |
| keyCodeStr = "DOM_VK_DEAD_IOTA"; break; |
| |
| case 0x84: |
| keyCodeStr = "DOM_VK_DEAD_MACRON"; break; |
| |
| case 0x8C: |
| keyCodeStr = "DOM_VK_DEAD_OGONEK"; break; |
| |
| case 0x8F: |
| keyCodeStr = "DOM_VK_DEAD_SEMIVOICED_SOUND"; break; |
| |
| case 0x83: |
| keyCodeStr = "DOM_VK_DEAD_TILDE"; break; |
| |
| case 0x8E: |
| keyCodeStr = "DOM_VK_DEAD_VOICED_SOUND"; break; |
| |
| case 0x6E: |
| keyCodeStr = "DOM_VK_DECIMAL"; break; |
| |
| case 0x7F: |
| keyCodeStr = "DOM_VK_DELETE"; break; |
| |
| case 0x6F: |
| keyCodeStr = "DOM_VK_DIVIDE"; break; |
| |
| case 0x0203: |
| keyCodeStr = "DOM_VK_DOLLAR"; break; |
| |
| case 0x28: |
| keyCodeStr = "DOM_VK_DOWN"; break; |
| |
| case 0x45: |
| keyCodeStr = "DOM_VK_E"; break; |
| |
| case 0x23: |
| keyCodeStr = "DOM_VK_END"; break; |
| |
| case 0x0D: |
| keyCodeStr = "DOM_VK_ENTER"; break; |
| |
| case 0x3D: |
| keyCodeStr = "DOM_VK_EQUALS"; break; |
| |
| case 0x1B: |
| keyCodeStr = "DOM_VK_ESCAPE"; break; |
| |
| case 0x0204: |
| keyCodeStr = "DOM_VK_EURO_SIGN"; break; |
| |
| case 0x0205: |
| keyCodeStr = "DOM_VK_EXCLAMATION_MARK"; break; |
| |
| case 0x46: |
| keyCodeStr = "DOM_VK_F"; break; |
| |
| case 0x70: |
| keyCodeStr = "DOM_VK_F1"; break; |
| |
| case 0x79: |
| keyCodeStr = "DOM_VK_F10"; break; |
| |
| case 0x7A: |
| keyCodeStr = "DOM_VK_F11"; break; |
| |
| case 0x7B: |
| keyCodeStr = "DOM_VK_F12"; break; |
| |
| case 0xF000: |
| keyCodeStr = "DOM_VK_F13"; break; |
| |
| case 0xF001: |
| keyCodeStr = "DOM_VK_F14"; break; |
| |
| case 0xF002: |
| keyCodeStr = "DOM_VK_F15"; break; |
| |
| case 0xF003: |
| keyCodeStr = "DOM_VK_F16"; break; |
| |
| case 0xF004: |
| keyCodeStr = "DOM_VK_F17"; break; |
| |
| case 0xF005: |
| keyCodeStr = "DOM_VK_F18"; break; |
| |
| case 0xF006: |
| keyCodeStr = "DOM_VK_F19"; break; |
| |
| case 0x71: |
| keyCodeStr = "DOM_VK_F2"; break; |
| |
| case 0xF007: |
| keyCodeStr = "DOM_VK_F20"; break; |
| |
| case 0xF008: |
| keyCodeStr = "DOM_VK_F21"; break; |
| |
| case 0xF009: |
| keyCodeStr = "DOM_VK_F22"; break; |
| |
| case 0xF00A: |
| keyCodeStr = "DOM_VK_F23"; break; |
| |
| case 0xF00B: |
| keyCodeStr = "DOM_VK_F24"; break; |
| |
| case 0x72: |
| keyCodeStr = "DOM_VK_F3"; break; |
| |
| case 0x73: |
| keyCodeStr = "DOM_VK_F4"; break; |
| |
| case 0x74: |
| keyCodeStr = "DOM_VK_F5"; break; |
| |
| case 0x75: |
| keyCodeStr = "DOM_VK_F6"; break; |
| |
| case 0x76: |
| keyCodeStr = "DOM_VK_F7"; break; |
| |
| case 0x77: |
| keyCodeStr = "DOM_VK_F8"; break; |
| |
| case 0x78: |
| keyCodeStr = "DOM_VK_F9"; break; |
| |
| case 0x18: |
| keyCodeStr = "DOM_VK_FINAL"; break; |
| |
| case 0xFFD0: |
| keyCodeStr = "DOM_VK_FIND"; break; |
| |
| case 0x00F3: |
| keyCodeStr = "DOM_VK_FULL_WIDTH"; break; |
| |
| case 0x47: |
| keyCodeStr = "DOM_VK_G"; break; |
| |
| case 0xA0: |
| keyCodeStr = "DOM_VK_GREATER"; break; |
| |
| case 0x48: |
| keyCodeStr = "DOM_VK_H"; break; |
| |
| case 0x00F4: |
| keyCodeStr = "DOM_VK_HALF_WIDTH"; break; |
| |
| case 0x9C: |
| keyCodeStr = "DOM_VK_HELP"; break; |
| |
| case 0x00F2: |
| keyCodeStr = "DOM_VK_HIRAGANA"; break; |
| |
| case 0x24: |
| keyCodeStr = "DOM_VK_HOME"; break; |
| |
| case 0x49: |
| keyCodeStr = "DOM_VK_I"; break; |
| |
| case 0x9B: |
| keyCodeStr = "DOM_VK_INSERT"; break; |
| |
| case 0x0206: |
| keyCodeStr = "DOM_VK_INVERTED_EXCLAMATION_MARK"; break; |
| |
| case 0x4A: |
| keyCodeStr = "DOM_VK_J"; break; |
| |
| case 0x0104: |
| keyCodeStr = "DOM_VK_JAPANESE_HIRAGANA"; break; |
| |
| case 0x0103: |
| keyCodeStr = "DOM_VK_JAPANESE_KATAKANA"; break; |
| |
| case 0x0105: |
| keyCodeStr = "DOM_VK_JAPANESE_ROMAN"; break; |
| |
| case 0x4B: |
| keyCodeStr = "DOM_VK_K"; break; |
| |
| case 0x15: |
| keyCodeStr = "DOM_VK_KANA"; break; |
| |
| case 0x19: |
| keyCodeStr = "DOM_VK_KANJI"; break; |
| |
| case 0x00F1: |
| keyCodeStr = "DOM_VK_KATAKANA"; break; |
| |
| case 0xE1: |
| keyCodeStr = "DOM_VK_KP_DOWN"; break; |
| |
| case 0xE2: |
| keyCodeStr = "DOM_VK_KP_LEFT"; break; |
| |
| case 0xE3: |
| keyCodeStr = "DOM_VK_KP_RIGHT"; break; |
| |
| case 0xE0: |
| keyCodeStr = "DOM_VK_KP_UP"; break; |
| |
| case 0x4C: |
| keyCodeStr = "DOM_VK_L"; break; |
| |
| case 0x25: |
| keyCodeStr = "DOM_VK_LEFT"; break; |
| |
| case 0x0207: |
| keyCodeStr = "DOM_VK_LEFT_PARENTHESIS"; break; |
| |
| case 0x99: |
| keyCodeStr = "DOM_VK_LESS"; break; |
| |
| case 0x4D: |
| keyCodeStr = "DOM_VK_M"; break; |
| |
| case 0x9D: |
| keyCodeStr = "DOM_VK_META"; break; |
| |
| case 0x2D: |
| keyCodeStr = "DOM_VK_MINUS"; break; |
| |
| case 0x1F: |
| keyCodeStr = "DOM_VK_MODECHANGE"; break; |
| |
| case 0x6A: |
| keyCodeStr = "DOM_VK_MULTIPLY"; break; |
| |
| case 0x4E: |
| keyCodeStr = "DOM_VK_N"; break; |
| |
| case 0x1D: |
| keyCodeStr = "DOM_VK_NONCONVERT"; break; |
| |
| case 0x90: |
| keyCodeStr = "DOM_VK_NUM_LOCK"; break; |
| |
| case 0x0208: |
| keyCodeStr = "DOM_VK_NUMBER_SIGN"; break; |
| |
| case 0x60: |
| keyCodeStr = "DOM_VK_NUMPAD0"; break; |
| |
| case 0x61: |
| keyCodeStr = "DOM_VK_NUMPAD1"; break; |
| |
| case 0x62: |
| keyCodeStr = "DOM_VK_NUMPAD2"; break; |
| |
| case 0x63: |
| keyCodeStr = "DOM_VK_NUMPAD3"; break; |
| |
| case 0x64: |
| keyCodeStr = "DOM_VK_NUMPAD4"; break; |
| |
| case 0x65: |
| keyCodeStr = "DOM_VK_NUMPAD5"; break; |
| |
| case 0x66: |
| keyCodeStr = "DOM_VK_NUMPAD6"; break; |
| |
| case 0x67: |
| keyCodeStr = "DOM_VK_NUMPAD7"; break; |
| |
| case 0x68: |
| keyCodeStr = "DOM_VK_NUMPAD8"; break; |
| |
| case 0x69: |
| keyCodeStr = "DOM_VK_NUMPAD9"; break; |
| |
| case 0x4F: |
| keyCodeStr = "DOM_VK_O"; break; |
| |
| case 0x5B: |
| keyCodeStr = "DOM_VK_OPEN_BRACKET"; break; |
| |
| case 0x50: |
| keyCodeStr = "DOM_VK_P"; break; |
| |
| case 0x22: |
| keyCodeStr = "DOM_VK_PAGE_DOWN"; break; |
| |
| case 0x21: |
| keyCodeStr = "DOM_VK_PAGE_UP"; break; |
| |
| case 0xFFCF: |
| keyCodeStr = "DOM_VK_PASTE"; break; |
| |
| case 0x13: |
| keyCodeStr = "DOM_VK_PAUSE"; break; |
| |
| case 0x2E: |
| keyCodeStr = "DOM_VK_PERIOD"; break; |
| |
| case 0x0209: |
| keyCodeStr = "DOM_VK_PLUS"; break; |
| |
| case 0x0101: |
| keyCodeStr = "DOM_VK_PREVIOUS_CANDIDATE"; break; |
| |
| case 0x9A: |
| keyCodeStr = "DOM_VK_PRINTSCREEN"; break; |
| |
| case 0xFFCA: |
| keyCodeStr = "DOM_VK_PROPS"; break; |
| |
| case 0x51: |
| keyCodeStr = "DOM_VK_Q"; break; |
| |
| case 0xDE: |
| keyCodeStr = "DOM_VK_QUOTE"; break; |
| |
| case 0x98: |
| keyCodeStr = "DOM_VK_QUOTEDBL"; break; |
| |
| case 0x52: |
| keyCodeStr = "DOM_VK_R"; break; |
| |
| case 0x27: |
| keyCodeStr = "DOM_VK_RIGHT"; break; |
| |
| case 0x020A: |
| keyCodeStr = "DOM_VK_RIGHT_PARENTHESIS"; break; |
| |
| case 0x00F5: |
| keyCodeStr = "DOM_VK_ROMAN_CHARACTERS"; break; |
| |
| case 0x53: |
| keyCodeStr = "DOM_VK_S"; break; |
| |
| case 0x91: |
| keyCodeStr = "DOM_VK_SCROLL_LOCK"; break; |
| |
| case 0x3B: |
| keyCodeStr = "DOM_VK_SEMICOLON"; break; |
| |
| case 0x6C: |
| keyCodeStr = "DOM_VK_SEPARATER"; break; |
| |
| case 0x10: |
| keyCodeStr = "DOM_VK_SHIFT"; break; |
| |
| case 0x2F: |
| keyCodeStr = "DOM_VK_SLASH"; break; |
| |
| case 0x20: |
| keyCodeStr = "DOM_VK_SPACE"; break; |
| |
| case 0xFFC8: |
| keyCodeStr = "DOM_VK_STOP"; break; |
| |
| case 0x6D: |
| keyCodeStr = "DOM_VK_SUBTRACT"; break; |
| |
| case 0x54: |
| keyCodeStr = "DOM_VK_T"; break; |
| |
| case 0x09: |
| keyCodeStr = "DOM_VK_TAB"; break; |
| |
| case 0x55: |
| keyCodeStr = "DOM_VK_U"; break; |
| |
| case 0x0: |
| keyCodeStr = "DOM_VK_UNDEFINED"; break; |
| |
| case 0x020B: |
| keyCodeStr = "DOM_VK_UNDERSCORE"; break; |
| |
| case 0xFFCB: |
| keyCodeStr = "DOM_VK_UNDO"; break; |
| |
| case 0x26: |
| keyCodeStr = "DOM_VK_UP"; break; |
| |
| case 0x56: |
| keyCodeStr = "DOM_VK_V"; break; |
| |
| case 0x57: |
| keyCodeStr = "DOM_VK_W"; break; |
| |
| case 0x58: |
| keyCodeStr = "DOM_VK_X"; break; |
| |
| case 0x59: |
| keyCodeStr = "DOM_VK_Y"; break; |
| |
| case 0x5A: |
| keyCodeStr = "DOM_VK_Z"; break; |
| |
| |
| default: |
| keyCodeStr = "UNDEFINED"; |
| } |
| |
| traceText.setData(keyCodeStr); |
| } |
| |
| ]]></script> |
| |
| <g id="body-content" > |
| |
| <text x="50%" y="200" text-anchor="middle">Type text over the canvas to see the code of the last key pressed</text> |
| |
| <text id="trace" x="50%" y="250" text-anchor="middle">Last key pressed: </text> |
| |
| </g> |
| |
| </svg> |