JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / event / KeyEvent.js
1 Clazz.declarePackage ("java.awt.event");\r
2 Clazz.load (["java.awt.event.InputEvent"], "java.awt.event.KeyEvent", ["java.lang.IllegalArgumentException", "$.StringBuilder", "java.awt.Toolkit"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.isProxyActive = false;\r
5 this.keyCode = 0;\r
6 this.keyChar = '\0';\r
7 this.keyLocation = 0;\r
8 Clazz.instantialize (this, arguments);\r
9 }, java.awt.event, "KeyEvent", java.awt.event.InputEvent);\r
10 Clazz.makeConstructor (c$, \r
11 function (source, id, when, modifiers, keyCode, keyChar, keyLocation) {\r
12 Clazz.superConstructor (this, java.awt.event.KeyEvent, [source, id, when, modifiers]);\r
13 if (id == 400) {\r
14 if (keyChar == '\uffff') {\r
15 throw  new IllegalArgumentException ("invalid keyChar");\r
16 }if (keyCode != 0) {\r
17 throw  new IllegalArgumentException ("invalid keyCode");\r
18 }if (keyLocation != 0) {\r
19 throw  new IllegalArgumentException ("invalid keyLocation");\r
20 }}this.keyCode = keyCode;\r
21 this.keyChar = keyChar;\r
22 if ((keyLocation < 0) || (keyLocation > 4)) {\r
23 throw  new IllegalArgumentException ("invalid keyLocation");\r
24 }this.keyLocation = keyLocation;\r
25 if ((this.getModifiers () != 0) && (this.getModifiersEx () == 0)) {\r
26 this.setNewModifiers ();\r
27 } else if ((this.getModifiers () == 0) && (this.getModifiersEx () != 0)) {\r
28 this.setOldModifiers ();\r
29 }}, "java.awt.Component,~N,~N,~N,~N,~S,~N");\r
30 Clazz.makeConstructor (c$, \r
31 function (source, id, when, modifiers, keyCode, keyChar) {\r
32 this.construct (source, id, when, modifiers, keyCode, keyChar, 0);\r
33 }, "java.awt.Component,~N,~N,~N,~N,~S");\r
34 Clazz.makeConstructor (c$, \r
35 function (source, id, when, modifiers, keyCode) {\r
36 this.construct (source, id, when, modifiers, keyCode, String.fromCharCode (keyCode));\r
37 }, "java.awt.Component,~N,~N,~N,~N");\r
38 Clazz.defineMethod (c$, "getKeyCode", \r
39 function () {\r
40 return this.keyCode;\r
41 });\r
42 Clazz.defineMethod (c$, "setKeyCode", \r
43 function (keyCode) {\r
44 this.keyCode = keyCode;\r
45 }, "~N");\r
46 Clazz.defineMethod (c$, "getKeyChar", \r
47 function () {\r
48 return this.keyChar;\r
49 });\r
50 Clazz.defineMethod (c$, "setKeyChar", \r
51 function (keyChar) {\r
52 this.keyChar = keyChar;\r
53 }, "~S");\r
54 Clazz.defineMethod (c$, "setModifiers", \r
55 function (modifiers) {\r
56 this.modifiers = modifiers;\r
57 if ((this.getModifiers () != 0) && (this.getModifiersEx () == 0)) {\r
58 this.setNewModifiers ();\r
59 } else if ((this.getModifiers () == 0) && (this.getModifiersEx () != 0)) {\r
60 this.setOldModifiers ();\r
61 }}, "~N");\r
62 Clazz.defineMethod (c$, "getKeyLocation", \r
63 function () {\r
64 return this.keyLocation;\r
65 });\r
66 c$.getKeyText = Clazz.defineMethod (c$, "getKeyText", \r
67 function (keyCode) {\r
68 if (keyCode >= 48 && keyCode <= 57 || keyCode >= 65 && keyCode <= 90) {\r
69 return String.valueOf (String.fromCharCode (keyCode));\r
70 }switch (keyCode) {\r
71 case 10:\r
72 return java.awt.Toolkit.getProperty ("AWT.enter", "Enter");\r
73 case 8:\r
74 return java.awt.Toolkit.getProperty ("AWT.backSpace", "Backspace");\r
75 case 9:\r
76 return java.awt.Toolkit.getProperty ("AWT.tab", "Tab");\r
77 case 3:\r
78 return java.awt.Toolkit.getProperty ("AWT.cancel", "Cancel");\r
79 case 12:\r
80 return java.awt.Toolkit.getProperty ("AWT.clear", "Clear");\r
81 case 65312:\r
82 return java.awt.Toolkit.getProperty ("AWT.compose", "Compose");\r
83 case 19:\r
84 return java.awt.Toolkit.getProperty ("AWT.pause", "Pause");\r
85 case 20:\r
86 return java.awt.Toolkit.getProperty ("AWT.capsLock", "Caps Lock");\r
87 case 27:\r
88 return java.awt.Toolkit.getProperty ("AWT.escape", "Escape");\r
89 case 32:\r
90 return java.awt.Toolkit.getProperty ("AWT.space", "Space");\r
91 case 33:\r
92 return java.awt.Toolkit.getProperty ("AWT.pgup", "Page Up");\r
93 case 34:\r
94 return java.awt.Toolkit.getProperty ("AWT.pgdn", "Page Down");\r
95 case 35:\r
96 return java.awt.Toolkit.getProperty ("AWT.end", "End");\r
97 case 36:\r
98 return java.awt.Toolkit.getProperty ("AWT.home", "Home");\r
99 case 37:\r
100 return java.awt.Toolkit.getProperty ("AWT.left", "Left");\r
101 case 38:\r
102 return java.awt.Toolkit.getProperty ("AWT.up", "Up");\r
103 case 39:\r
104 return java.awt.Toolkit.getProperty ("AWT.right", "Right");\r
105 case 40:\r
106 return java.awt.Toolkit.getProperty ("AWT.down", "Down");\r
107 case 65368:\r
108 return java.awt.Toolkit.getProperty ("AWT.begin", "Begin");\r
109 case 16:\r
110 return java.awt.Toolkit.getProperty ("AWT.shift", "Shift");\r
111 case 17:\r
112 return java.awt.Toolkit.getProperty ("AWT.control", "Control");\r
113 case 18:\r
114 return java.awt.Toolkit.getProperty ("AWT.alt", "Alt");\r
115 case 157:\r
116 return java.awt.Toolkit.getProperty ("AWT.meta", "Meta");\r
117 case 65406:\r
118 return java.awt.Toolkit.getProperty ("AWT.altGraph", "Alt Graph");\r
119 case 44:\r
120 return java.awt.Toolkit.getProperty ("AWT.comma", "Comma");\r
121 case 46:\r
122 return java.awt.Toolkit.getProperty ("AWT.period", "Period");\r
123 case 47:\r
124 return java.awt.Toolkit.getProperty ("AWT.slash", "Slash");\r
125 case 59:\r
126 return java.awt.Toolkit.getProperty ("AWT.semicolon", "Semicolon");\r
127 case 61:\r
128 return java.awt.Toolkit.getProperty ("AWT.equals", "Equals");\r
129 case 91:\r
130 return java.awt.Toolkit.getProperty ("AWT.openBracket", "Open Bracket");\r
131 case 92:\r
132 return java.awt.Toolkit.getProperty ("AWT.backSlash", "Back Slash");\r
133 case 93:\r
134 return java.awt.Toolkit.getProperty ("AWT.closeBracket", "Close Bracket");\r
135 case 106:\r
136 return java.awt.Toolkit.getProperty ("AWT.multiply", "NumPad *");\r
137 case 107:\r
138 return java.awt.Toolkit.getProperty ("AWT.add", "NumPad +");\r
139 case 108:\r
140 return java.awt.Toolkit.getProperty ("AWT.separator", "NumPad ,");\r
141 case 109:\r
142 return java.awt.Toolkit.getProperty ("AWT.subtract", "NumPad -");\r
143 case 110:\r
144 return java.awt.Toolkit.getProperty ("AWT.decimal", "NumPad .");\r
145 case 111:\r
146 return java.awt.Toolkit.getProperty ("AWT.divide", "NumPad /");\r
147 case 127:\r
148 return java.awt.Toolkit.getProperty ("AWT.delete", "Delete");\r
149 case 144:\r
150 return java.awt.Toolkit.getProperty ("AWT.numLock", "Num Lock");\r
151 case 145:\r
152 return java.awt.Toolkit.getProperty ("AWT.scrollLock", "Scroll Lock");\r
153 case 524:\r
154 return java.awt.Toolkit.getProperty ("AWT.windows", "Windows");\r
155 case 525:\r
156 return java.awt.Toolkit.getProperty ("AWT.context", "Context Menu");\r
157 case 112:\r
158 return java.awt.Toolkit.getProperty ("AWT.f1", "F1");\r
159 case 113:\r
160 return java.awt.Toolkit.getProperty ("AWT.f2", "F2");\r
161 case 114:\r
162 return java.awt.Toolkit.getProperty ("AWT.f3", "F3");\r
163 case 115:\r
164 return java.awt.Toolkit.getProperty ("AWT.f4", "F4");\r
165 case 116:\r
166 return java.awt.Toolkit.getProperty ("AWT.f5", "F5");\r
167 case 117:\r
168 return java.awt.Toolkit.getProperty ("AWT.f6", "F6");\r
169 case 118:\r
170 return java.awt.Toolkit.getProperty ("AWT.f7", "F7");\r
171 case 119:\r
172 return java.awt.Toolkit.getProperty ("AWT.f8", "F8");\r
173 case 120:\r
174 return java.awt.Toolkit.getProperty ("AWT.f9", "F9");\r
175 case 121:\r
176 return java.awt.Toolkit.getProperty ("AWT.f10", "F10");\r
177 case 122:\r
178 return java.awt.Toolkit.getProperty ("AWT.f11", "F11");\r
179 case 123:\r
180 return java.awt.Toolkit.getProperty ("AWT.f12", "F12");\r
181 case 61440:\r
182 return java.awt.Toolkit.getProperty ("AWT.f13", "F13");\r
183 case 61441:\r
184 return java.awt.Toolkit.getProperty ("AWT.f14", "F14");\r
185 case 61442:\r
186 return java.awt.Toolkit.getProperty ("AWT.f15", "F15");\r
187 case 61443:\r
188 return java.awt.Toolkit.getProperty ("AWT.f16", "F16");\r
189 case 61444:\r
190 return java.awt.Toolkit.getProperty ("AWT.f17", "F17");\r
191 case 61445:\r
192 return java.awt.Toolkit.getProperty ("AWT.f18", "F18");\r
193 case 61446:\r
194 return java.awt.Toolkit.getProperty ("AWT.f19", "F19");\r
195 case 61447:\r
196 return java.awt.Toolkit.getProperty ("AWT.f20", "F20");\r
197 case 61448:\r
198 return java.awt.Toolkit.getProperty ("AWT.f21", "F21");\r
199 case 61449:\r
200 return java.awt.Toolkit.getProperty ("AWT.f22", "F22");\r
201 case 61450:\r
202 return java.awt.Toolkit.getProperty ("AWT.f23", "F23");\r
203 case 61451:\r
204 return java.awt.Toolkit.getProperty ("AWT.f24", "F24");\r
205 case 154:\r
206 return java.awt.Toolkit.getProperty ("AWT.printScreen", "Print Screen");\r
207 case 155:\r
208 return java.awt.Toolkit.getProperty ("AWT.insert", "Insert");\r
209 case 156:\r
210 return java.awt.Toolkit.getProperty ("AWT.help", "Help");\r
211 case 192:\r
212 return java.awt.Toolkit.getProperty ("AWT.backQuote", "Back Quote");\r
213 case 222:\r
214 return java.awt.Toolkit.getProperty ("AWT.quote", "Quote");\r
215 case 224:\r
216 return java.awt.Toolkit.getProperty ("AWT.up", "Up");\r
217 case 225:\r
218 return java.awt.Toolkit.getProperty ("AWT.down", "Down");\r
219 case 226:\r
220 return java.awt.Toolkit.getProperty ("AWT.left", "Left");\r
221 case 227:\r
222 return java.awt.Toolkit.getProperty ("AWT.right", "Right");\r
223 case 128:\r
224 return java.awt.Toolkit.getProperty ("AWT.deadGrave", "Dead Grave");\r
225 case 129:\r
226 return java.awt.Toolkit.getProperty ("AWT.deadAcute", "Dead Acute");\r
227 case 130:\r
228 return java.awt.Toolkit.getProperty ("AWT.deadCircumflex", "Dead Circumflex");\r
229 case 131:\r
230 return java.awt.Toolkit.getProperty ("AWT.deadTilde", "Dead Tilde");\r
231 case 132:\r
232 return java.awt.Toolkit.getProperty ("AWT.deadMacron", "Dead Macron");\r
233 case 133:\r
234 return java.awt.Toolkit.getProperty ("AWT.deadBreve", "Dead Breve");\r
235 case 134:\r
236 return java.awt.Toolkit.getProperty ("AWT.deadAboveDot", "Dead Above Dot");\r
237 case 135:\r
238 return java.awt.Toolkit.getProperty ("AWT.deadDiaeresis", "Dead Diaeresis");\r
239 case 136:\r
240 return java.awt.Toolkit.getProperty ("AWT.deadAboveRing", "Dead Above Ring");\r
241 case 137:\r
242 return java.awt.Toolkit.getProperty ("AWT.deadDoubleAcute", "Dead Double Acute");\r
243 case 138:\r
244 return java.awt.Toolkit.getProperty ("AWT.deadCaron", "Dead Caron");\r
245 case 139:\r
246 return java.awt.Toolkit.getProperty ("AWT.deadCedilla", "Dead Cedilla");\r
247 case 140:\r
248 return java.awt.Toolkit.getProperty ("AWT.deadOgonek", "Dead Ogonek");\r
249 case 141:\r
250 return java.awt.Toolkit.getProperty ("AWT.deadIota", "Dead Iota");\r
251 case 142:\r
252 return java.awt.Toolkit.getProperty ("AWT.deadVoicedSound", "Dead Voiced Sound");\r
253 case 143:\r
254 return java.awt.Toolkit.getProperty ("AWT.deadSemivoicedSound", "Dead Semivoiced Sound");\r
255 case 150:\r
256 return java.awt.Toolkit.getProperty ("AWT.ampersand", "Ampersand");\r
257 case 151:\r
258 return java.awt.Toolkit.getProperty ("AWT.asterisk", "Asterisk");\r
259 case 152:\r
260 return java.awt.Toolkit.getProperty ("AWT.quoteDbl", "Double Quote");\r
261 case 153:\r
262 return java.awt.Toolkit.getProperty ("AWT.Less", "Less");\r
263 case 160:\r
264 return java.awt.Toolkit.getProperty ("AWT.greater", "Greater");\r
265 case 161:\r
266 return java.awt.Toolkit.getProperty ("AWT.braceLeft", "Left Brace");\r
267 case 162:\r
268 return java.awt.Toolkit.getProperty ("AWT.braceRight", "Right Brace");\r
269 case 512:\r
270 return java.awt.Toolkit.getProperty ("AWT.at", "At");\r
271 case 513:\r
272 return java.awt.Toolkit.getProperty ("AWT.colon", "Colon");\r
273 case 514:\r
274 return java.awt.Toolkit.getProperty ("AWT.circumflex", "Circumflex");\r
275 case 515:\r
276 return java.awt.Toolkit.getProperty ("AWT.dollar", "Dollar");\r
277 case 516:\r
278 return java.awt.Toolkit.getProperty ("AWT.euro", "Euro");\r
279 case 517:\r
280 return java.awt.Toolkit.getProperty ("AWT.exclamationMark", "Exclamation Mark");\r
281 case 518:\r
282 return java.awt.Toolkit.getProperty ("AWT.invertedExclamationMark", "Inverted Exclamation Mark");\r
283 case 519:\r
284 return java.awt.Toolkit.getProperty ("AWT.leftParenthesis", "Left Parenthesis");\r
285 case 520:\r
286 return java.awt.Toolkit.getProperty ("AWT.numberSign", "Number Sign");\r
287 case 45:\r
288 return java.awt.Toolkit.getProperty ("AWT.minus", "Minus");\r
289 case 521:\r
290 return java.awt.Toolkit.getProperty ("AWT.plus", "Plus");\r
291 case 522:\r
292 return java.awt.Toolkit.getProperty ("AWT.rightParenthesis", "Right Parenthesis");\r
293 case 523:\r
294 return java.awt.Toolkit.getProperty ("AWT.underscore", "Underscore");\r
295 case 24:\r
296 return java.awt.Toolkit.getProperty ("AWT.final", "Final");\r
297 case 28:\r
298 return java.awt.Toolkit.getProperty ("AWT.convert", "Convert");\r
299 case 29:\r
300 return java.awt.Toolkit.getProperty ("AWT.noconvert", "No Convert");\r
301 case 30:\r
302 return java.awt.Toolkit.getProperty ("AWT.accept", "Accept");\r
303 case 31:\r
304 return java.awt.Toolkit.getProperty ("AWT.modechange", "Mode Change");\r
305 case 21:\r
306 return java.awt.Toolkit.getProperty ("AWT.kana", "Kana");\r
307 case 25:\r
308 return java.awt.Toolkit.getProperty ("AWT.kanji", "Kanji");\r
309 case 240:\r
310 return java.awt.Toolkit.getProperty ("AWT.alphanumeric", "Alphanumeric");\r
311 case 241:\r
312 return java.awt.Toolkit.getProperty ("AWT.katakana", "Katakana");\r
313 case 242:\r
314 return java.awt.Toolkit.getProperty ("AWT.hiragana", "Hiragana");\r
315 case 243:\r
316 return java.awt.Toolkit.getProperty ("AWT.fullWidth", "Full-Width");\r
317 case 244:\r
318 return java.awt.Toolkit.getProperty ("AWT.halfWidth", "Half-Width");\r
319 case 245:\r
320 return java.awt.Toolkit.getProperty ("AWT.romanCharacters", "Roman Characters");\r
321 case 256:\r
322 return java.awt.Toolkit.getProperty ("AWT.allCandidates", "All Candidates");\r
323 case 257:\r
324 return java.awt.Toolkit.getProperty ("AWT.previousCandidate", "Previous Candidate");\r
325 case 258:\r
326 return java.awt.Toolkit.getProperty ("AWT.codeInput", "Code Input");\r
327 case 259:\r
328 return java.awt.Toolkit.getProperty ("AWT.japaneseKatakana", "Japanese Katakana");\r
329 case 260:\r
330 return java.awt.Toolkit.getProperty ("AWT.japaneseHiragana", "Japanese Hiragana");\r
331 case 261:\r
332 return java.awt.Toolkit.getProperty ("AWT.japaneseRoman", "Japanese Roman");\r
333 case 262:\r
334 return java.awt.Toolkit.getProperty ("AWT.kanaLock", "Kana Lock");\r
335 case 263:\r
336 return java.awt.Toolkit.getProperty ("AWT.inputMethodOnOff", "Input Method On/Off");\r
337 case 65481:\r
338 return java.awt.Toolkit.getProperty ("AWT.again", "Again");\r
339 case 65483:\r
340 return java.awt.Toolkit.getProperty ("AWT.undo", "Undo");\r
341 case 65485:\r
342 return java.awt.Toolkit.getProperty ("AWT.copy", "Copy");\r
343 case 65487:\r
344 return java.awt.Toolkit.getProperty ("AWT.paste", "Paste");\r
345 case 65489:\r
346 return java.awt.Toolkit.getProperty ("AWT.cut", "Cut");\r
347 case 65488:\r
348 return java.awt.Toolkit.getProperty ("AWT.find", "Find");\r
349 case 65482:\r
350 return java.awt.Toolkit.getProperty ("AWT.props", "Props");\r
351 case 65480:\r
352 return java.awt.Toolkit.getProperty ("AWT.stop", "Stop");\r
353 }\r
354 if (keyCode >= 96 && keyCode <= 105) {\r
355 var numpad = java.awt.Toolkit.getProperty ("AWT.numpad", "NumPad");\r
356 var c = String.fromCharCode (keyCode - 96 + 48);\r
357 return numpad + "-" + c;\r
358 }var unknown = java.awt.Toolkit.getProperty ("AWT.unknown", "Unknown");\r
359 return unknown + " keyCode: 0x" + Integer.toString (keyCode, 16);\r
360 }, "~N");\r
361 c$.getKeyModifiersText = Clazz.defineMethod (c$, "getKeyModifiersText", \r
362 function (modifiers) {\r
363 var buf =  new StringBuilder ();\r
364 if ((modifiers & 4) != 0) {\r
365 buf.append (java.awt.Toolkit.getProperty ("AWT.meta", "Meta"));\r
366 buf.append ("+");\r
367 }if ((modifiers & 2) != 0) {\r
368 buf.append (java.awt.Toolkit.getProperty ("AWT.control", "Ctrl"));\r
369 buf.append ("+");\r
370 }if ((modifiers & 8) != 0) {\r
371 buf.append (java.awt.Toolkit.getProperty ("AWT.alt", "Alt"));\r
372 buf.append ("+");\r
373 }if ((modifiers & 1) != 0) {\r
374 buf.append (java.awt.Toolkit.getProperty ("AWT.shift", "Shift"));\r
375 buf.append ("+");\r
376 }if ((modifiers & 32) != 0) {\r
377 buf.append (java.awt.Toolkit.getProperty ("AWT.altGraph", "Alt Graph"));\r
378 buf.append ("+");\r
379 }if ((modifiers & 16) != 0) {\r
380 buf.append (java.awt.Toolkit.getProperty ("AWT.button1", "Button1"));\r
381 buf.append ("+");\r
382 }if (buf.length () > 0) {\r
383 buf.setLength (buf.length () - 1);\r
384 }return buf.toString ();\r
385 }, "~N");\r
386 Clazz.defineMethod (c$, "isActionKey", \r
387 function () {\r
388 switch (this.keyCode) {\r
389 case 36:\r
390 case 35:\r
391 case 33:\r
392 case 34:\r
393 case 38:\r
394 case 40:\r
395 case 37:\r
396 case 39:\r
397 case 65368:\r
398 case 226:\r
399 case 224:\r
400 case 227:\r
401 case 225:\r
402 case 112:\r
403 case 113:\r
404 case 114:\r
405 case 115:\r
406 case 116:\r
407 case 117:\r
408 case 118:\r
409 case 119:\r
410 case 120:\r
411 case 121:\r
412 case 122:\r
413 case 123:\r
414 case 61440:\r
415 case 61441:\r
416 case 61442:\r
417 case 61443:\r
418 case 61444:\r
419 case 61445:\r
420 case 61446:\r
421 case 61447:\r
422 case 61448:\r
423 case 61449:\r
424 case 61450:\r
425 case 61451:\r
426 case 154:\r
427 case 145:\r
428 case 20:\r
429 case 144:\r
430 case 19:\r
431 case 155:\r
432 case 24:\r
433 case 28:\r
434 case 29:\r
435 case 30:\r
436 case 31:\r
437 case 21:\r
438 case 25:\r
439 case 240:\r
440 case 241:\r
441 case 242:\r
442 case 243:\r
443 case 244:\r
444 case 245:\r
445 case 256:\r
446 case 257:\r
447 case 258:\r
448 case 259:\r
449 case 260:\r
450 case 261:\r
451 case 262:\r
452 case 263:\r
453 case 65481:\r
454 case 65483:\r
455 case 65485:\r
456 case 65487:\r
457 case 65489:\r
458 case 65488:\r
459 case 65482:\r
460 case 65480:\r
461 case 156:\r
462 case 524:\r
463 case 525:\r
464 return true;\r
465 }\r
466 return false;\r
467 });\r
468 Clazz.overrideMethod (c$, "paramString", \r
469 function () {\r
470 var str =  new StringBuilder (100);\r
471 switch (this.id) {\r
472 case 401:\r
473 str.append ("KEY_PRESSED");\r
474 break;\r
475 case 402:\r
476 str.append ("KEY_RELEASED");\r
477 break;\r
478 case 400:\r
479 str.append ("KEY_TYPED");\r
480 break;\r
481 default:\r
482 str.append ("unknown type");\r
483 break;\r
484 }\r
485 str.append (",keyCode=").append ("" + this.keyCode);\r
486 str.append (",keyText=").append (java.awt.event.KeyEvent.getKeyText (this.keyCode));\r
487 str.append (",keyChar=");\r
488 switch (this.keyChar) {\r
489 case '\b':\r
490 str.append (java.awt.event.KeyEvent.getKeyText (8));\r
491 break;\r
492 case '\t':\r
493 str.append (java.awt.event.KeyEvent.getKeyText (9));\r
494 break;\r
495 case '\n':\r
496 str.append (java.awt.event.KeyEvent.getKeyText (10));\r
497 break;\r
498 case '\u0018':\r
499 str.append (java.awt.event.KeyEvent.getKeyText (3));\r
500 break;\r
501 case '\u001b':\r
502 str.append (java.awt.event.KeyEvent.getKeyText (27));\r
503 break;\r
504 case '\u007f':\r
505 str.append (java.awt.event.KeyEvent.getKeyText (127));\r
506 break;\r
507 case '\uffff':\r
508 str.append (java.awt.Toolkit.getProperty ("AWT.undefined", "Undefined"));\r
509 str.append (" keyChar");\r
510 break;\r
511 default:\r
512 str.append ("'").append (this.keyChar).append ("'");\r
513 break;\r
514 }\r
515 if (this.getModifiers () != 0) {\r
516 str.append (",modifiers=").append (java.awt.event.KeyEvent.getKeyModifiersText (this.modifiers));\r
517 }if (this.getModifiersEx () != 0) {\r
518 str.append (",extModifiers=").append (java.awt.event.InputEvent.getModifiersExText (this.modifiers));\r
519 }str.append (",keyLocation=");\r
520 switch (this.keyLocation) {\r
521 case 0:\r
522 str.append ("KEY_LOCATION_UNKNOWN");\r
523 break;\r
524 case 1:\r
525 str.append ("KEY_LOCATION_STANDARD");\r
526 break;\r
527 case 2:\r
528 str.append ("KEY_LOCATION_LEFT");\r
529 break;\r
530 case 3:\r
531 str.append ("KEY_LOCATION_RIGHT");\r
532 break;\r
533 case 4:\r
534 str.append ("KEY_LOCATION_NUMPAD");\r
535 break;\r
536 default:\r
537 str.append ("KEY_LOCATION_UNKNOWN");\r
538 break;\r
539 }\r
540 return str.toString ();\r
541 });\r
542 Clazz.defineMethod (c$, "setNewModifiers", \r
543  function () {\r
544 if ((this.modifiers & 1) != 0) {\r
545 this.modifiers |= 64;\r
546 }if ((this.modifiers & 8) != 0) {\r
547 this.modifiers |= 512;\r
548 }if ((this.modifiers & 2) != 0) {\r
549 this.modifiers |= 128;\r
550 }if ((this.modifiers & 4) != 0) {\r
551 this.modifiers |= 256;\r
552 }if ((this.modifiers & 32) != 0) {\r
553 this.modifiers |= 8192;\r
554 }if ((this.modifiers & 16) != 0) {\r
555 this.modifiers |= 1024;\r
556 }});\r
557 Clazz.defineMethod (c$, "setOldModifiers", \r
558  function () {\r
559 if ((this.modifiers & 64) != 0) {\r
560 this.modifiers |= 1;\r
561 }if ((this.modifiers & 512) != 0) {\r
562 this.modifiers |= 8;\r
563 }if ((this.modifiers & 128) != 0) {\r
564 this.modifiers |= 2;\r
565 }if ((this.modifiers & 256) != 0) {\r
566 this.modifiers |= 4;\r
567 }if ((this.modifiers & 8192) != 0) {\r
568 this.modifiers |= 32;\r
569 }if ((this.modifiers & 1024) != 0) {\r
570 this.modifiers |= 16;\r
571 }});\r
572 Clazz.defineStatics (c$,\r
573 "KEY_FIRST", 400,\r
574 "KEY_LAST", 402,\r
575 "KEY_TYPED", 400,\r
576 "KEY_PRESSED", 401,\r
577 "KEY_RELEASED", 402,\r
578 "VK_ENTER", '\n',\r
579 "VK_BACK_SPACE", '\b',\r
580 "VK_TAB", '\t',\r
581 "VK_CANCEL", 0x03,\r
582 "VK_CLEAR", 0x0C,\r
583 "VK_SHIFT", 0x10,\r
584 "VK_CONTROL", 0x11,\r
585 "VK_ALT", 0x12,\r
586 "VK_PAUSE", 0x13,\r
587 "VK_CAPS_LOCK", 0x14,\r
588 "VK_ESCAPE", 0x1B,\r
589 "VK_SPACE", 0x20,\r
590 "VK_PAGE_UP", 0x21,\r
591 "VK_PAGE_DOWN", 0x22,\r
592 "VK_END", 0x23,\r
593 "VK_HOME", 0x24,\r
594 "VK_LEFT", 0x25,\r
595 "VK_UP", 0x26,\r
596 "VK_RIGHT", 0x27,\r
597 "VK_DOWN", 0x28,\r
598 "VK_COMMA", 0x2C,\r
599 "VK_MINUS", 0x2D,\r
600 "VK_PERIOD", 0x2E,\r
601 "VK_SLASH", 0x2F,\r
602 "VK_0", 0x30,\r
603 "VK_1", 0x31,\r
604 "VK_2", 0x32,\r
605 "VK_3", 0x33,\r
606 "VK_4", 0x34,\r
607 "VK_5", 0x35,\r
608 "VK_6", 0x36,\r
609 "VK_7", 0x37,\r
610 "VK_8", 0x38,\r
611 "VK_9", 0x39,\r
612 "VK_SEMICOLON", 0x3B,\r
613 "VK_EQUALS", 0x3D,\r
614 "VK_A", 0x41,\r
615 "VK_B", 0x42,\r
616 "VK_C", 0x43,\r
617 "VK_D", 0x44,\r
618 "VK_E", 0x45,\r
619 "VK_F", 0x46,\r
620 "VK_G", 0x47,\r
621 "VK_H", 0x48,\r
622 "VK_I", 0x49,\r
623 "VK_J", 0x4A,\r
624 "VK_K", 0x4B,\r
625 "VK_L", 0x4C,\r
626 "VK_M", 0x4D,\r
627 "VK_N", 0x4E,\r
628 "VK_O", 0x4F,\r
629 "VK_P", 0x50,\r
630 "VK_Q", 0x51,\r
631 "VK_R", 0x52,\r
632 "VK_S", 0x53,\r
633 "VK_T", 0x54,\r
634 "VK_U", 0x55,\r
635 "VK_V", 0x56,\r
636 "VK_W", 0x57,\r
637 "VK_X", 0x58,\r
638 "VK_Y", 0x59,\r
639 "VK_Z", 0x5A,\r
640 "VK_OPEN_BRACKET", 0x5B,\r
641 "VK_BACK_SLASH", 0x5C,\r
642 "VK_CLOSE_BRACKET", 0x5D,\r
643 "VK_NUMPAD0", 0x60,\r
644 "VK_NUMPAD1", 0x61,\r
645 "VK_NUMPAD2", 0x62,\r
646 "VK_NUMPAD3", 0x63,\r
647 "VK_NUMPAD4", 0x64,\r
648 "VK_NUMPAD5", 0x65,\r
649 "VK_NUMPAD6", 0x66,\r
650 "VK_NUMPAD7", 0x67,\r
651 "VK_NUMPAD8", 0x68,\r
652 "VK_NUMPAD9", 0x69,\r
653 "VK_MULTIPLY", 0x6A,\r
654 "VK_ADD", 0x6B,\r
655 "VK_SEPARATER", 0x6C,\r
656 "VK_SEPARATOR", 108,\r
657 "VK_SUBTRACT", 0x6D,\r
658 "VK_DECIMAL", 0x6E,\r
659 "VK_DIVIDE", 0x6F,\r
660 "VK_DELETE", 0x7F,\r
661 "VK_NUM_LOCK", 0x90,\r
662 "VK_SCROLL_LOCK", 0x91,\r
663 "VK_F1", 0x70,\r
664 "VK_F2", 0x71,\r
665 "VK_F3", 0x72,\r
666 "VK_F4", 0x73,\r
667 "VK_F5", 0x74,\r
668 "VK_F6", 0x75,\r
669 "VK_F7", 0x76,\r
670 "VK_F8", 0x77,\r
671 "VK_F9", 0x78,\r
672 "VK_F10", 0x79,\r
673 "VK_F11", 0x7A,\r
674 "VK_F12", 0x7B,\r
675 "VK_F13", 0xF000,\r
676 "VK_F14", 0xF001,\r
677 "VK_F15", 0xF002,\r
678 "VK_F16", 0xF003,\r
679 "VK_F17", 0xF004,\r
680 "VK_F18", 0xF005,\r
681 "VK_F19", 0xF006,\r
682 "VK_F20", 0xF007,\r
683 "VK_F21", 0xF008,\r
684 "VK_F22", 0xF009,\r
685 "VK_F23", 0xF00A,\r
686 "VK_F24", 0xF00B,\r
687 "VK_PRINTSCREEN", 0x9A,\r
688 "VK_INSERT", 0x9B,\r
689 "VK_HELP", 0x9C,\r
690 "VK_META", 0x9D,\r
691 "VK_BACK_QUOTE", 0xC0,\r
692 "VK_QUOTE", 0xDE,\r
693 "VK_KP_UP", 0xE0,\r
694 "VK_KP_DOWN", 0xE1,\r
695 "VK_KP_LEFT", 0xE2,\r
696 "VK_KP_RIGHT", 0xE3,\r
697 "VK_DEAD_GRAVE", 0x80,\r
698 "VK_DEAD_ACUTE", 0x81,\r
699 "VK_DEAD_CIRCUMFLEX", 0x82,\r
700 "VK_DEAD_TILDE", 0x83,\r
701 "VK_DEAD_MACRON", 0x84,\r
702 "VK_DEAD_BREVE", 0x85,\r
703 "VK_DEAD_ABOVEDOT", 0x86,\r
704 "VK_DEAD_DIAERESIS", 0x87,\r
705 "VK_DEAD_ABOVERING", 0x88,\r
706 "VK_DEAD_DOUBLEACUTE", 0x89,\r
707 "VK_DEAD_CARON", 0x8a,\r
708 "VK_DEAD_CEDILLA", 0x8b,\r
709 "VK_DEAD_OGONEK", 0x8c,\r
710 "VK_DEAD_IOTA", 0x8d,\r
711 "VK_DEAD_VOICED_SOUND", 0x8e,\r
712 "VK_DEAD_SEMIVOICED_SOUND", 0x8f,\r
713 "VK_AMPERSAND", 0x96,\r
714 "VK_ASTERISK", 0x97,\r
715 "VK_QUOTEDBL", 0x98,\r
716 "VK_LESS", 0x99,\r
717 "VK_GREATER", 0xa0,\r
718 "VK_BRACELEFT", 0xa1,\r
719 "VK_BRACERIGHT", 0xa2,\r
720 "VK_AT", 0x0200,\r
721 "VK_COLON", 0x0201,\r
722 "VK_CIRCUMFLEX", 0x0202,\r
723 "VK_DOLLAR", 0x0203,\r
724 "VK_EURO_SIGN", 0x0204,\r
725 "VK_EXCLAMATION_MARK", 0x0205,\r
726 "VK_INVERTED_EXCLAMATION_MARK", 0x0206,\r
727 "VK_LEFT_PARENTHESIS", 0x0207,\r
728 "VK_NUMBER_SIGN", 0x0208,\r
729 "VK_PLUS", 0x0209,\r
730 "VK_RIGHT_PARENTHESIS", 0x020A,\r
731 "VK_UNDERSCORE", 0x020B,\r
732 "VK_WINDOWS", 0x020C,\r
733 "VK_CONTEXT_MENU", 0x020D,\r
734 "VK_FINAL", 0x0018,\r
735 "VK_CONVERT", 0x001C,\r
736 "VK_NONCONVERT", 0x001D,\r
737 "VK_ACCEPT", 0x001E,\r
738 "VK_MODECHANGE", 0x001F,\r
739 "VK_KANA", 0x0015,\r
740 "VK_KANJI", 0x0019,\r
741 "VK_ALPHANUMERIC", 0x00F0,\r
742 "VK_KATAKANA", 0x00F1,\r
743 "VK_HIRAGANA", 0x00F2,\r
744 "VK_FULL_WIDTH", 0x00F3,\r
745 "VK_HALF_WIDTH", 0x00F4,\r
746 "VK_ROMAN_CHARACTERS", 0x00F5,\r
747 "VK_ALL_CANDIDATES", 0x0100,\r
748 "VK_PREVIOUS_CANDIDATE", 0x0101,\r
749 "VK_CODE_INPUT", 0x0102,\r
750 "VK_JAPANESE_KATAKANA", 0x0103,\r
751 "VK_JAPANESE_HIRAGANA", 0x0104,\r
752 "VK_JAPANESE_ROMAN", 0x0105,\r
753 "VK_KANA_LOCK", 0x0106,\r
754 "VK_INPUT_METHOD_ON_OFF", 0x0107,\r
755 "VK_CUT", 0xFFD1,\r
756 "VK_COPY", 0xFFCD,\r
757 "VK_PASTE", 0xFFCF,\r
758 "VK_UNDO", 0xFFCB,\r
759 "VK_AGAIN", 0xFFC9,\r
760 "VK_FIND", 0xFFD0,\r
761 "VK_PROPS", 0xFFCA,\r
762 "VK_STOP", 0xFFC8,\r
763 "VK_COMPOSE", 0xFF20,\r
764 "VK_ALT_GRAPH", 0xFF7E,\r
765 "VK_BEGIN", 0xFF58,\r
766 "VK_UNDEFINED", 0x0,\r
767 "CHAR_UNDEFINED", String.fromCharCode (0xFFFF),\r
768 "KEY_LOCATION_UNKNOWN", 0,\r
769 "KEY_LOCATION_STANDARD", 1,\r
770 "KEY_LOCATION_LEFT", 2,\r
771 "KEY_LOCATION_RIGHT", 3,\r
772 "KEY_LOCATION_NUMPAD", 4);\r
773 });\r