001: ///////////////////////////////////////////////////////////////////////////////
002: //
003: // This program is free software; you can redistribute it and/or modify
004: // it under the terms of the GNU General Public License and GNU Library
005: // General Public License as published by the Free Software Foundation;
006: // either version 2, or (at your option) any later version.
007: //
008: // This program is distributed in the hope that it will be useful,
009: // but WITHOUT ANY WARRANTY; without even the implied warranty of
010: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
011: // GNU General Public License and GNU Library General Public License
012: // for more details.
013: //
014: // You should have received a copy of the GNU General Public License
015: // and GNU Library General Public License along with this program; if
016: // not, write to the Free Software Foundation, 675 Mass Ave, Cambridge,
017: // MA 02139, USA.
018: //
019: ///////////////////////////////////////////////////////////////////////////////
020:
021: package org.rdesktop.server.rdp.keymapping;
022:
023: import java.awt.event.*;
024:
025: public class KeyCode {
026: public static final int SCANCODE_EXTENDED = 0x80;
027:
028: private final int[] main_key_scan_qwerty = { 0x29, 0x02, 0x03,
029: 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
030: 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
031: 0x1A, 0x1B, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
032: 0x26, 0x27, 0x28, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31,
033: 0x32, 0x33, 0x34, 0x35, 0x56 };
034:
035: private static final String[] main_key_US = { "`~", "1!", "2@",
036: "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_", "=+",
037: "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO", "pP",
038: "[{", "]}", "aA", "sS", "dD", "fF", "gG", "hH", "jJ", "kK",
039: "lL", ";:",
040: "''\"", // added ' to \"
041: "\\|", "zZ", "xX", "cC", "vV", "bB", "nN", "mM", ",<",
042: ".>", "/?" };
043:
044: private static final String[] main_key_US_phantom = { "`~", "1!",
045: "2@", "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_",
046: "=+", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
047: "pP", "[{", "]}", "aA", "sS", "dD", "fF", "gG", "hH", "jJ",
048: "kK", "lL", ";:", "'\"", "\\|", "zZ", "xX", "cC", "vV",
049: "bB", "nN", "mM", ",<", ".>", "/?", "<>" /* the phantom key */
050: };
051:
052: private static final String[] main_key_UK = { "`¬|", "1!", "2\"",
053: "3£", "4$¤", "5%", "6^", "7&", "8*", "9(", "0)", "-_",
054: "=+", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
055: "pP", "[{", "]}", "aA", "sS", "dD", "fF", "gG", "hH", "jJ",
056: "kK", "lL", ";:", "'@", "#~", "zZ", "xX", "cC", "vV", "bB",
057: "nN", "mM", ",<", ".>", "/?", "\\|" };
058:
059: private static final String[] main_key_FR = { "²", "&1", "é2~",
060: "\"3#", "'4{", "(5[", "-6|", "è7", "_8\\", "ç9^±", "à0@",
061: ")°]", "=+}", "aA", "zZ", "eE", "rR", "tT", "yY", "uU",
062: "iI", "oO", "pP", "^¨", "$£¤", "qQ", "sSß", "dD", "fF",
063: "gG", "hH", "jJ", "kK", "lL", "mM", "ù%", "*µ", "wW", "xX",
064: "cC", "vV", "bB", "nN", ",?", ";.", ":/", "!§", "<>" };
065:
066: private static final String[] main_key_IS = { "°", "1!", "2\"",
067: "3#", "4$", "5%", "6&", "7/{", "8([", "9)]", "0=}", "öÖ\\",
068: "-_", "qQ@", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
069: "oO", "pP", "ðÐ", "'?~", "aA", "sS", "dD", "fF", "gG",
070: "hH", "jJ", "kK", "lL", "æÆ", "´^", "+*`", "zZ", "xX",
071: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "þÞ", "<>|" };
072:
073: private static final String[] main_key_DE = { "^°", "1!", "2\"²",
074: "3§³", "4$", "5%", "6&", "7/{", "8([", "9)]", "0=}",
075: "ß?\\", "'`", "qQ@", "wW", "eE€", "rR", "tT", "zZ", "uU",
076: "iI", "oO", "pP", "üÜ", "+*~", "aA", "sS", "dD", "fF",
077: "gG", "hH", "jJ", "kK", "lL", "öÖ", "äÄ", "#´", "yY", "xX",
078: "cC", "vV", "bB", "nN", "mMµ", ",;", ".:", "-_", "<>|" };
079:
080: private static final String[] main_key_DE_nodead = { "^°", "1!",
081: "2\"", "3§", "4$", "5%", "6&", "7/{", "8([", "9)]", "0=}",
082: "ß?\\", "´", "qQ", "wW", "eE", "rR", "tT", "zZ", "uU",
083: "iI", "oO", "pP", "üÜ", "+*~", "aA", "sS", "dD", "fF",
084: "gG", "hH", "jJ", "kK", "lL", "öÖ", "äÄ", "#'", "yY", "xX",
085: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>" };
086:
087: private static final String[] main_key_SG = { "§°", "1+|", "2\"@",
088: "3*#", "4ç", "5%", "6&¬", "7/¦", "8(¢", "9)", "0=", "'?´",
089: "^`~", "qQ", "wW", "eE", "rR", "tT", "zZ", "uU", "iI",
090: "oO", "pP", "üè[", "¨!]", "aA", "sS", "dD", "fF", "gG",
091: "hH", "jJ", "kK", "lL", "öé", "äà{", "$£}", "yY", "xX",
092: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>\\" };
093:
094: private static final String[] main_key_SF = { "§°", "1+|", "2\"@",
095: "3*#", "4ç", "5%", "6&¬", "7/¦", "8(¢", "9)", "0=", "'?´",
096: "^`~", "qQ", "wW", "eE", "rR", "tT", "zZ", "uU", "iI",
097: "oO", "pP", "èü[", "¨!]", "aA", "sS", "dD", "fF", "gG",
098: "hH", "jJ", "kK", "lL", "éö", "àä{", "$£}", "yY", "xX",
099: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>\\" };
100:
101: private static final String[] main_key_NO = { "|§", "1!", "2\"@",
102: "3#£", "4¤$", "5%", "6&", "7/{", "8([", "9)]", "0=}", "+?",
103: "\\`´", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
104: "oO", "pP", "åÅ", "¨^~", "aA", "sS", "dD", "fF", "gG",
105: "hH", "jJ", "kK", "lL", "øØ", "æÆ", "'*", "zZ", "xX", "cC",
106: "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>" };
107:
108: private static final String[] main_key_DA = { "½§", "1!", "2\"@",
109: "3#£", "4¤$", "5%", "6&", "7/{", "8([", "9)]", "0=}", "+?",
110: "´`|", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
111: "oO", "pP", "åÅ", "¨^~", "aA", "sS", "dD", "fF", "gG",
112: "hH", "jJ", "kK", "lL", "æÆ", "øØ", "'*", "zZ", "xX", "cC",
113: "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>\\" };
114:
115: private static final String[] main_key_SE = { "§½", "1!", "2\"@",
116: "3#£", "4¤$", "5%", "6&", "7/{", "8([", "9)]", "0=}",
117: "+?\\", "´`", "qQ", "wW", "eE", "rR", "tT", "yY", "uU",
118: "iI", "oO", "pP", "åÅ", "¨^~", "aA", "sS", "dD", "fF",
119: "gG", "hH", "jJ", "kK", "lL", "öÖ", "äÄ", "'*", "zZ", "xX",
120: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>|" };
121:
122: private static final String[] main_key_CF = { "#|\\", "1!±",
123: "2\"@", "3/£", "4$¢", "5%¤", "6?¬", "7&¦", "8*²", "9(³",
124: "0)¼", "-_½", "=+¾", "qQ", "wW", "eE", "rR", "tT", "yY",
125: "uU", "iI", "oO§", "pP¶", "^^[", "¸¨]", "aA", "sS", "dD",
126: "fF", "gG", "hH", "jJ", "kK", "lL", ";:~", "``{", "<>}",
127: "zZ", "xX", "cC", "vV", "bB", "nN", "mM", ",'-", ".", "éÉ",
128: "«»°" };
129:
130: private static final String[] main_key_PT = { "\\¦", "1!", "2\"@",
131: "3#£", "4$§", "5%", "6&", "7/{", "8([", "9)]", "0=}", "'?",
132: "«»", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
133: "pP", "+*\\¨", "\\'\\`", "aA", "sS", "dD", "fF", "gG",
134: "hH", "jJ", "kK", "lL", "çÇ", "ºª", "\\~\\^", "zZ", "xX",
135: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>" };
136:
137: private static final String[] main_key_IT = { "\\|", "1!¹", "2\"²",
138: "3£³", "4$¼", "5%½", "6&¾", "7/{", "8([", "9)]", "0=}",
139: "'?`", "ì^~", "qQ@", "wW", "eE", "rR", "tT", "yY", "uU",
140: "iI", "oOø", "pPþ", "èé[", "+*]", "aA", "sSß", "dDð", "fF",
141: "gG", "hH", "jJ", "kK", "lL", "òç@", "à°#", "ù§", "zZ",
142: "xX", "cC", "vV", "bB", "nN", "mMµ", ",;", ".:·", "-_",
143: "<>|" };
144:
145: private static final String[] main_key_FI = { "", "1!", "2\"@",
146: "3#", "4$", "5%", "6&", "7/{", "8([", "9)]", "0=}", "+?\\",
147: "\'`", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
148: "oO", "pP", "", "\"^~", "aA", "sS", "dD", "fF", "gG", "hH",
149: "jJ", "kK", "lL", "", "", "'*", "zZ", "xX", "cC", "vV",
150: "bB", "nN", "mM", ",;", ".:", "-_", "<>|" };
151:
152: private static final String[] main_key_RU = { "`~", "1!", "2@",
153: "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_", "=+",
154: "qQÊê", "wWÃã", "eEÕõ", "rRËë", "tTÅå", "yYÎî", "uUÇç",
155: "iIÛû", "oOÝý", "pPÚú", "[{Èè", "]}ßÿ", "aAÆæ", "sSÙù",
156: "dD×÷", "fFÁá", "gGÐð", "hHÒò", "jJÏï", "kKÌì", "lLÄä",
157: ";:Öö", "'\"Üü", "\\|", "zZÑñ", "xXÞþ", "cCÓó", "vVÍí",
158: "bBÉé", "nNÔô", "mMØø", ",<Ââ", ".>Àà", "/?" };
159:
160: private static final String[] main_key_RU_koi8r = { "()", "1!",
161: "2\"", "3/", "4$", "5:", "6,", "7.", "8;", "9?", "0%",
162: "-_", "=+", "Êê", "Ãã", "Õõ", "Ëë", "Åå", "Îî", "Çç", "Ûû",
163: "Ýý", "Úú", "Èè", "ßÿ", "Ææ", "Ùù", "×÷", "Áá", "Ðð", "Òò",
164: "Ïï", "Ìì", "Ää", "Öö", "Üü", "\\|", "Ññ", "Þþ", "Óó",
165: "Íí", "Éé", "Ôô", "Øø", "Ââ", "Àà", "/?", "<>" /* the phantom key */
166: };
167:
168: private static final String[] main_key_ES = { "ºª\\", "1!|",
169: "2\"@", "3·#", "4$", "5%", "6&¬", "7/", "8(", "9)", "0=",
170: "'?", "¡¿", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
171: "oO", "pP", "`^[", "+*]", "aA", "sS", "dD", "fF", "gG",
172: "hH", "jJ", "kK", "lL", "ñÑ", "'¨{", "çÇ}", "zZ", "xX",
173: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>" };
174:
175: private static final String[] main_key_BE = { "", "&1|", "é2@",
176: "\"3#", "'4", "(5", "§6^", "è7", "!8", "ç9{", "à0}", ")°",
177: "-_", "aA", "zZ", "eE¤", "rR", "tT", "yY", "uU", "iI",
178: "oO", "pP", "^¨[", "$*]", "qQ", "sSß", "dD", "fF", "gG",
179: "hH", "jJ", "kK", "lL", "mM", "ù%´", "µ£`", "wW", "xX",
180: "cC", "vV", "bB", "nN", ",?", ";.", ":/", "=+~", "<>\\" };
181:
182: private static final String[] main_key_HU = { "0§", "1'~", "2\"·",
183: "3+^", "4!¢", "5%°", "6/²", "7=`", "8(ÿ", "9)´", "öÖ½",
184: "üܨ", "óÓ¸", "qQ\\", "wW|", "eE", "rR", "tT", "zZ", "uU",
185: "iIÍ", "oOø", "pP", "õÕ÷", "úÚ×", "aA", "sSð", "dDÐ",
186: "fF[", "gG]", "hH", "jJí", "kK³", "lL£", "éÉ$", "áÁß",
187: "ûÛ¤", "yY>", "xX#", "cC&", "vV@", "bB{", "nN}", "mM",
188: ",?;", ".:·", "-_*", "íÍ<" };
189:
190: private static final String[] main_key_PL = { "`~", "1!", "2@",
191: "3#", "4$", "5%", "6^", "7&§", "8*", "9(", "0)", "-_",
192: "=+", "qQ", "wW", "eEêÊ", "rR", "tT", "yY", "uU", "iI",
193: "oOóÓ", "pP", "[{", "]}", "aA±¡", "sS¶¦", "dD", "fF", "gG",
194: "hH", "jJ", "kK", "lL³£", ";:", "'\"", "\\|", "zZ¿¯",
195: "xX¼¬", "cCæÆ", "vV", "bB", "nNñÑ", "mM", ",<", ".>", "/?",
196: "<>|" };
197:
198: private static final String[] main_key_HR_jelly = { "`~", "1!",
199: "2@", "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_",
200: "=+", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
201: "pP", "[{¹©", "]}ðÐ", "aA", "sS", "dD", "fF", "gG", "hH",
202: "jJ", "kK", "lL", ";:èÈ", "'\"æÆ", "\\|¾®", "zZ", "xX",
203: "cC", "vV", "bB", "nN", "mM", ",<", ".>", "/?", "<>|" };
204:
205: private static final String[] main_key_HR = { "¸¨", "1!", "2\"·",
206: "3#^", "4$¢", "5%°", "6&²", "7/`", "8(ÿ", "9)´", "0=½",
207: "'?¨", "+*¸", "qQ\\", "wW|", "eE", "rR", "tT", "zZ", "uU",
208: "iI", "oO", "pP", "¹©÷", "ðÐ×", "aA", "sS", "dD", "fF[",
209: "gG]", "hH", "jJ", "kK³", "lL£", "èÈ", "æÆß", "¾®¤", "yY",
210: "xX", "cC", "vV@", "bB{", "nN}", "mM§", ",;", ".:", "-_/",
211: "<>" };
212:
213: private static final String[] main_key_JA_jp106 = { "1!", "2\"",
214: "3#", "4$", "5%", "6&", "7'", "8(", "9)", "0~", "-=", "^~",
215: "\\|", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
216: "oO", "pP", "@`", "[{", "aA", "sS", "dD", "fF", "gG", "hH",
217: "jJ", "kK", "lL", ";+", ":*", "]}", "zZ", "xX", "cC", "vV",
218: "bB", "nN", "mM", ",<", ".>", "/?", "\\_", };
219:
220: private static final String[] main_key_JA_pc98x1 = { "1!", "2\"",
221: "3#", "4$", "5%", "6&", "7'", "8(", "9)", "0", "-=", "^`",
222: "\\|", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
223: "oO", "pP", "@~", "[{", "aA", "sS", "dD", "fF", "gG", "hH",
224: "jJ", "kK", "lL", ";+", ":*", "]}", "zZ", "xX", "cC", "vV",
225: "bB", "nN", "mM", ",<", ".>", "/?", "\\_", };
226:
227: private static final String[] main_key_PT_br = { "'\"", "1!", "2@",
228: "3#", "4$", "5%", "6\"", "7&", "8*", "9(", "0)", "-_",
229: "=+", "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
230: "pP", "'`", "[{", "aA", "sS", "dD", "fF", "gG", "hH", "jJ",
231: "kK", "lL", "çÇ", "~^", "]}", "zZ", "xX", "cC", "vV", "bB",
232: "nN", "mM", ",<", ".>", "/?" };
233:
234: private static final String[] main_key_US_intl = { "`~", "1!",
235: "2@", "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_",
236: "=+", "\\|", "qQ", "wW", "eE", "rR", "tT", "yY", "uU",
237: "iI", "oO", "pP", "[{", "]}", "aA", "sS", "dD", "fF", "gG",
238: "hH", "jJ", "kK", "lL", ";:", "'\"", "zZ", "xX", "cC",
239: "vV", "bB", "nN", "mM", ",<", ".>", "/?" };
240:
241: private static final String[] main_key_SK = { ";°`'", "+1", "µ2",
242: "¹3", "è4", "»5", "¾6", "ý7", "á8", "í9", "é0)", "=%", "",
243: "qQ\\", "wW|", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
244: "pP", "ú/÷", "ä(×", "aA", "sSð", "dDÐ", "fF[", "gG]", "hH",
245: "jJ", "kK³", "lL£", "ô\"$", "§!ß", "ò)¤", "zZ>", "xX#",
246: "cC&", "vV@", "bB{", "nN}", "mM", ",?<", ".:>", "-_*",
247: "<>\\|" };
248:
249: private static final String[] main_key_SK_prog = { "`~", "1!",
250: "2@", "3#", "4$", "5%", "6^", "7&", "8*", "9(", "0)", "-_",
251: "=+", "qQäÄ", "wWìÌ", "eEéÉ", "rRøØ", "tT»«", "yYýÝ",
252: "uUùÙ", "iIíÍ", "oOóÓ", "pPöÖ", "[{", "]}", "aAáÁ", "sS¹©",
253: "dDïÏ", "fFëË", "gGàÀ", "hHúÚ", "jJüÜ", "kKôÔ", "lLµ¥",
254: ";:", "'\"", "\\|", "zZ¾®", "xX¤", "cCèÈ", "vVçÇ", "bB",
255: "nNòÒ", "mMåÅ", ",<", ".>", "/?", "<>" };
256:
257: private static final String[] main_key_CS = { ";", "+1", "ì2",
258: "¹3", "è4", "ø5", "¾6", "ý7", "á8", "í9", "é0½)", "=%", "",
259: "qQ\\", "wW|", "eE", "rR", "tT", "yY", "uU", "iI", "oO",
260: "pP", "ú/[{", ")(]}", "aA", "sSð", "dDÐ", "fF[", "gG]",
261: "hH", "jJ", "kK³", "lL£", "ù\"$", "§!ß", "¨'", "zZ>",
262: "xX#", "cC&", "vV@", "bB{", "nN}", "mM", ",?<", ".:>",
263: "-_*", "<>\\|" };
264:
265: private static final String[] main_key_LA = { "|°¬", "1!", "2\"",
266: "3#", "4$", "5%", "6&", "7/", "8(", "9)", "0=", "'?\\",
267: "¡¿", "qQ@", "wW", "eE", "rR", "tT", "yY", "uU", "iI",
268: "oO", "pP", "´¨", "+*~", "aA", "sS", "dD", "fF", "gG",
269: "hH", "jJ", "kK", "lL", "ñÑ", "{[^", "}]`", "zZ", "xX",
270: "cC", "vV", "bB", "nN", "mM", ",;", ".:", "-_", "<>" };
271:
272: private static final String[] main_key_LT_B = { "`~", "àÀ", "èÈ",
273: "æÆ", "ëË", "áÁ", "ðÐ", "øØ", "ûÛ", "((", "))", "-_", "þÞ",
274: "qQ", "wW", "eE", "rR", "tT", "yY", "uU", "iI", "oO", "pP",
275: "[{", "]}", "aA", "sS", "dD", "fF", "gG", "hH", "jJ", "kK",
276: "lL", ";:", "'\"", "\\|", "zZ", "xX", "cC", "vV", "bB",
277: "nN", "mM", ",<", ".>", "/?" };
278:
279: private static final String[] main_key_TK = { "\"é", "1!", "2'",
280: "3^#", "4+$", "5%", "6&", "7/{", "8([", "9)]", "0=}",
281: "*?\\", "-_", "qQ@", "wW", "eE", "rR", "tT", "yY", "uU",
282: "ýIî", "oO", "pP", "ðÐ", "üÜ~", "aAæ", "sSß", "dD", "fF",
283: "gG", "hH", "jJ", "kK", "lL", "þÞ", "iÝ", ",;`", "zZ",
284: "xX", "cC", "vV", "bB", "nN", "mM", "öÖ", "çÇ", ".:" };
285: }
|