Project

General

Profile

test.html

Sergey Ivanovskiy, 09/25/2015 02:40 PM

Download (21.1 KB)

 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
<head>
4
<title>Javascript Key Event Tester</title>
5
<script type="text/javascript">
6
"use strict";
7

8
   function simulateKeyPress(elementId, code, ctrlKey, altKey, shiftKey, metaKey) {
9
      simulateKeyPressExt(elementId, code, code, ctrlKey, altKey, shiftKey, metaKey);
10
   }
11

12
   function simulateKeyPressExt(elementId, code, charCode, ctrlKey, altKey, shiftKey, metaKey) {
13
      var ch;
14
      try
15
      {
16
         ch = String.fromCodePoint(charCode);
17
      }
18
      catch (ex)
19
      {
20
         ch = "";
21
      }
22

23
      var input = document.getElementById(elementId);
24

25
      if (ctrlKey)
26
      {
27
         input.dispatchEvent(createKeyDownUpEvent(true, 17, ctrlKey, altKey, shiftKey, metaKey));
28
      }
29
      if (altKey)
30
      {
31
         input.dispatchEvent(createKeyDownUpEvent(true, 18, ctrlKey, altKey, shiftKey, metaKey));
32
      }
33
      if (shiftKey)
34
      {
35
         input.dispatchEvent(createKeyDownUpEvent(true, 16, ctrlKey, altKey, shiftKey, metaKey));
36
      }
37
      var keyDownEvent = createKeyDownUpEvent(true, code, ctrlKey, altKey, shiftKey, metaKey);
38
      input.dispatchEvent(keyDownEvent);
39
      if (keyDownEvent.defaultPrevented)
40
      {
41
         return;
42
      }
43
      if (ch !== "") {
44
         input.dispatchEvent(createKeyPressEvent(ch.charCodeAt(0), ctrlKey, altKey, shiftKey, metaKey));
45
      }
46
      input.dispatchEvent(createKeyDownUpEvent(false, code, ctrlKey, altKey, shiftKey, metaKey));
47
      
48
      if (ctrlKey)
49
      {
50
         input.dispatchEvent(createKeyDownUpEvent(false, 17, false, altKey, shiftKey, metaKey));
51
      }
52
      if (altKey)
53
      {
54
         input.dispatchEvent(createKeyDownUpEvent(false, 18, false, false, shiftKey, metaKey));
55
      }
56
      if (shiftKey)
57
      {
58
         input.dispatchEvent(createKeyDownUpEvent(false, 16, false, false, false, metaKey));
59
      }
60

61
   }
62

63
   function createKeyDownUpEvent(down, code, ctrlKey, altKey, shiftKey, metaKey)
64
   {
65
      var event = document.createEvent("KeyEvents");
66
      
67
      event.initKeyEvent(down ? "keydown" : "keyup", false, true, null, ctrlKey,
68
            altKey, shiftKey, metaKey, code, 0);
69
      return event;
70
   }
71
   
72
   function createKeyPressEvent(charCode, ctrlKey, altKey, shiftKey, metaKey)
73
   {
74
      var event = document.createEvent("KeyEvents");
75
      
76
      event.initKeyEvent("keypress", false, true, null, ctrlKey,
77
            altKey, shiftKey, metaKey, 0, charCode);
78
      return event;
79
   }
80
</script>
81
<script type="text/javascript" >
82
var p2j = {};
83
p2j.isFirefox = true;
84
</script>
85

    
86
<script type="text/javascript" src=p2j.keymap.js></script>
87
<script type="text/javascript" src=p2j.keyboard.js></script>
88
<script language="JavaScript">
89

90
function init(isGui)
91
{
92
   var cfg = {
93
      isGui : isGui
94
   };
95
   p2j.keyboard.init(cfg);
96
   p2j.clipboard = {
97
         enabled : false,
98
         needsSelection : function() {},
99
         haveSelection  : function() {},
100
         clearSelection : function() {}
101
   };
102
   p2j.socket = {
103
         send : function(data)
104
         {
105
            var ch = data[1] << 8 | data[2];
106
            addResult(document.testform.results, ch);
107
         }};
108
   
109
   document.testform.testArea.value = '';
110
   document.testform.results.value = '';
111
}
112

113
function addResult(el, t)
114
{
115
   var old= el.value;
116
   el.value = old + '\n' + t;
117
}
118

119
function run4GLKeyTest(isGui)
120
{
121
   init(isGui);
122
//   0     CTRL-@
123
   simulateKeyPress("testArea", '2'.codePointAt(0), true, false, false, false);
124
//   1     CTRL-A
125
   simulateKeyPress("testArea", 'A'.codePointAt(0), true, false, false, false);
126
//   2     CTRL-B
127
   simulateKeyPress("testArea", 'B'.codePointAt(0), true, false, false, false);
128
//   3     CTRL-C
129
   simulateKeyPress("testArea", 'C'.codePointAt(0), true, false, false, false);
130
//   4     CTRL-D
131
   simulateKeyPress("testArea", 'D'.codePointAt(0), true, false, false, false);
132
//   5     CTRL-E
133
   simulateKeyPress("testArea", 'E'.codePointAt(0), true, false, false, false);
134
//   6     CTRL-F
135
   simulateKeyPress("testArea", 'F'.codePointAt(0), true, false, false, false);
136
//   7     CTRL-G                           BELL
137
   simulateKeyPress("testArea", 'G'.codePointAt(0), true, false, false, false);
138
//   8     BACKSPACE                        BACKSPACE
139
   simulateKeyPress("testArea", 8, false, false, false, false);
140
//   9     TAB                              TAB
141
   simulateKeyPress("testArea", 9, false, false, false, false);
142
//  10     CTRL-J
143
   simulateKeyPress("testArea", 'J'.codePointAt(0), true, false, false, false);
144
//  11     CTRL-K
145
   simulateKeyPress("testArea", 'K'.codePointAt(0), true, false, false, false);
146
//  12     CTRL-L
147
   simulateKeyPress("testArea", 'L'.codePointAt(0), true, false, false, false);
148
//  13     ENTER                            RETURN
149
   simulateKeyPress("testArea", 13, false, false, false, false);
150
// 14     CTRL-N
151
// 15     CTRL-O
152
// 16     CTRL-P
153
// 17     CTRL-Q
154
// 18     CTRL-R
155
// 19     CTRL-S
156
// 20     CTRL-T
157
// 21     CTRL-U
158
// 22     CTRL-V
159
// 23     CTRL-W
160
// 24     CTRL-X
161
// 25     CTRL-Y
162
// 26     CTRL-Z
163
   for (var code = 78; code <= 90; code++)
164
   {
165
      simulateKeyPress("testArea", code, true, false, false, false);
166
   }
167

168
//  27     ESC                              END-ERROR
169
//because of CHUI it needs to call ESC two times to clear internal esc state.
170
   simulateKeyPress("testArea", 27, false, false, false, false);
171
   simulateKeyPress("testArea", 27, false, false, false, false);
172
//  28     CTRL-'\'
173
   simulateKeyPressExt("testArea", 220, 92, true, false, false, false);
174
//  29     CTRL-]
175
   simulateKeyPressExt("testArea", 221, 93, true, false, false, false);
176
//  30     CTRL-^
177
   simulateKeyPress("testArea", '6'.codePointAt(0), true, false, false, false);
178
//  31     CTRL-_
179
   simulateKeyPressExt("testArea", 173, 45, true, false, false, false);
180
   
181
//   32     space
182
   simulateKeyPress("testArea", 32, false, false, false, false);
183

184
// SHIFT + .
185
//   33     !                                ! = SHIFT + '1'
186
   simulateKeyPressExt("testArea", 49, 33, false, false, true, false);
187
//   34     "                                " = SHIFT + '\''
188
   simulateKeyPressExt("testArea", 222, 34, false, false, true, false);
189
//   35     #                                # = SHIFT + '3'
190
   simulateKeyPressExt("testArea", 51, 35, false, false, true, false);
191
//   36     $                                $ = SHIFT + '4'
192
   simulateKeyPressExt("testArea", 52, 36, false, false, true, false);
193
//   37     %                                % = SHIFT + '5'
194
   simulateKeyPressExt("testArea", 53, 37, false, false, true, false);
195
//   38     &                                & = SHIFT + '7'
196
   simulateKeyPressExt("testArea", 55, 38, false, false, true, false);
197

198
// 39     '                                '
199
   simulateKeyPressExt("testArea", 222, 39, false, false, false, false);
200

201
//   40     (                                ( =  SHIFT + '('
202
   simulateKeyPressExt("testArea", 57, 40, false, false, true, false);
203
//   41     )                                ) =  SHIFT + ')'
204
   simulateKeyPressExt("testArea", 48, 41, false, false, true, false);
205
//   42     *                                * = SHIFT +'8'
206
   simulateKeyPressExt("testArea", 56, 42, false, false, true, false);
207
//   43     +                                + = SHIFT + '='
208
   simulateKeyPressExt("testArea", 61, 43, false, false, true, false);
209
//   44     ,                                ,
210
   simulateKeyPressExt("testArea", 188, 44, false, false, false, false);
211
//   45     -                                -
212
   simulateKeyPressExt("testArea", 173, 45, false, false, false, false);
213
//   46     .                                .
214
   simulateKeyPressExt("testArea", 190, 46, false, false, false, false);
215
//   47     /                                /
216
   simulateKeyPressExt("testArea", 191, 47, false, false, false, false);
217
   //digits
218
//   48 ... 57    0...9
219
   for (var code = 48; code <= 57; code++)
220
   {
221
      simulateKeyPress("testArea", code, false, false, false, false);
222
   }
223
//   58     :                                : = SHIFT + ';'
224
   simulateKeyPressExt("testArea", 59, 58, false, false, true, false);
225
//   59     ;                                ;
226
   simulateKeyPress("testArea", 59, false, false, false, false);
227
//   60     <                                <
228
   simulateKeyPressExt("testArea", 188, 60, false, false, true, false);
229
//   61     =                                =
230
   simulateKeyPress("testArea", 61, false, false, false, false);
231
//   62     >                                >
232
   simulateKeyPressExt("testArea", 190, 62, false, false, true, false);
233
//   63     ?                                ?
234
   simulateKeyPressExt("testArea", 191, 63, false, false, true, false);
235
//   64     @                                @
236
   simulateKeyPressExt("testArea", 50, 64, false, false, true, false);
237
//   65     A                                A
238
//   66     B                                B
239
//   67     C                                C
240
//   68     D                                D
241
//   69     E                                E
242
//   70     F                                F
243
//   71     G                                G
244
//   72     H                                H
245
//   73     I                                I
246
//   74     J                                J
247
//   75     K                                K
248
//   76     L                                L
249
//   77     M                                M
250
//   78     N                                N
251
//   79     O                                O
252
//   80     P                                P
253
//   81     Q                                Q
254
//   82     R                                R
255
//   83     S                                S
256
//   84     T                                T
257
//   85     U                                U
258
//   86     V                                V
259
//   87     W                                W
260
//   88     X                                X
261
//   89     Y                                Y
262
//   90     Z                                Z
263
   for (var code = 65; code <= 90; code++)
264
   {
265
      simulateKeyPress("testArea", code, false, false, true, false);
266
   }
267
//   91     [                                [
268
   simulateKeyPressExt("testArea", 219, 91, false, false, false, false);
269
//   92     \                                \
270
   simulateKeyPressExt("testArea", 220, 92, false, false, false, false);
271
//   93     ]                                ]
272
   simulateKeyPressExt("testArea", 221, 93, false, false, false, false);
273
//   94     ^                                ^ = SHIFT + '6'
274
   simulateKeyPressExt("testArea", 54, 94, false, false, true, false);
275
//   95     _                                _ = SHIFT + '-'
276
   simulateKeyPressExt("testArea", 173, 95, false, false, true, false);
277
//   96     `                                `
278
   simulateKeyPressExt("testArea", 192, 96, false, false, false, false);
279

280
//   97     a                                a
281
//   98     b                                b
282
//   99     c                                c
283
//   100     d                                d
284
//   101     e                                e
285
//   102     f                                f
286
//   103     g                                g
287
//   104     h                                h
288
//   105     i                                i
289
//   106     j                                j
290
//   107     k                                k
291
//   108     l                                l
292
//   109     m                                m
293
//   110     n                                n
294
//   111     o                                o
295
//   112     p                                p
296
//   113     q                                q
297
//   114     r                                r
298
//   115     s                                s
299
//   116     t                                t
300
//   117     u                                u
301
//   118     v                                v
302
//   119     w                                w
303
//   120     x                                x
304
//   121     y                                y
305
//   122     z                                z
306
   for (var code = 65; code <= 90; code++)
307
   {
308
      simulateKeyPressExt("testArea", code, code + 32, false, false, false, false);
309
   }
310

311
//   123     {                                { = SHIFT + '['
312
   simulateKeyPressExt("testArea", 219, 123, false, false, true, false);
313
//   124     |                                | = SHIFT + '\\'
314
   simulateKeyPressExt("testArea", 220, 124, false, false, true, false);
315
//   125     }                                } = SHIFT + ']'
316
   simulateKeyPressExt("testArea", 221, 125, false, false, true, false);
317
//   126     ~                                ~ = SHIFT + '`'
318
   simulateKeyPressExt("testArea", 192, 126, false, false, true, false);
319
//   127     DEL                              DELETE-CHARACTER
320
   simulateKeyPress("testArea", 46, false, false, false, false);
321
   for (var code = 128; code <= 255; code++)
322
   {
323
      simulateKeyPress("testArea", code, false, false, false, false);
324
   }
325
//   301     F1                               HELP
326
//   302     F2                               GO
327
//   303     F3
328
//   304     F4
329
//   305     F5
330
//   306     F6                               NEXT-FRAME
331
//   307     F7
332
//   308     F8
333
//   309     F9
334
//   310     F10
335
//   311     F11
336
//   312     F12
337
   for (var code = 112; code <= 123; code++)
338
   {
339
      simulateKeyPress("testArea", code, false, false, false, false);
340
   }
341
//   500
342
//   501     CURSOR-UP                        CURSOR-UP
343
   simulateKeyPress("testArea", 38, false, false, false, false);
344
//   502     CURSOR-DOWN                      CURSOR-DOWN
345
   simulateKeyPress("testArea", 40, false, false, false, false);
346
//   503     CURSOR-RIGHT                     CURSOR-RIGHT
347
   simulateKeyPress("testArea", 39, false, false, false, false);
348
//   504     CURSOR-LEFT                      CURSOR-LEFT
349
   simulateKeyPress("testArea", 37, false, false, false, false);
350
//   505     HOME                             HOME
351
   simulateKeyPress("testArea", 36, false, false, false, false);
352
//   506     END                              END
353
   simulateKeyPress("testArea", 35, false, false, false, false);
354
//   507     PAGE-UP                          PAGE-UP
355
   simulateKeyPress("testArea", 33, false, false, false, false);
356
//   508     PAGE-DOWN                        PAGE-DOWN
357
   simulateKeyPress("testArea", 34, false, false, false, false);
358
//   509     SHIFT-TAB                        BACK-TAB
359
   simulateKeyPress("testArea", 9, false, false, true, false);
360
//   510     INS                              INSERT-MODE
361
   simulateKeyPress("testArea", 45, false, false, false, false);
362

363
//   511     HELP-KEY
364
//   512     DELETE
365
//   513     EXECUTE
366
//   514     PAGE
367
//   515     FIND
368
//   516     INS-LINE
369
//   517     DEL-LINE
370
//   518     LINE-ERASE
371
//   519     PAGE-ERASE
372
//   520     SHIFT-BACKSPACE
373
//   521     SHIFT-TAB
374
//   522     EXIT
375
//   523
376
//   524
377
//   525     SHIFT-ENTER
378
   simulateKeyPress("testArea", 13, false, false, true, false);
379
//   526
380
//   527
381
//   528
382
//   529
383
//   530
384
//   531
385
//   532
386
//   533
387
//   534
388
//   535     ERASE
389
//   536     WHITE
390
//   537     BLUE
391
//   538     RED
392
//   539     SHIFT-ESC
393
   simulateKeyPress("testArea", 27, false, false, true, false);
394

395
//   540
396
//   541     CTRL-BREAK                       STOP
397
   simulateKeyPress("testArea", 17, true, false, false, false);
398

399
//   542
400
//   543
401
//   544
402
//   545
403
//   546
404
//   547
405
//   548
406
//   549
407
//   550
408
//   551     U1
409
//   552     U2
410
//   553     U3
411
//   554     U4
412
//   555     U5
413
//   556     U6
414
//   557     U7
415
//   558     U8
416
//   559     U9
417
//   560     U10
418
//   561
419
//   562
420
//   563
421
//   564
422
//   565
423
//   566
424
//   567
425
//   568
426
//   569
427
//   570
428
//   571
429
//   572
430
//   573
431
//   574
432
//   575
433
//   576
434
//   577
435
//   578
436
//   579
437
//   580
438
//   581
439
//   582
440
//   583
441
//   584
442
//   585
443
//   586     DO
444
//   587     SELECT
445
//   588     REMOVE
446
//   589     INSERT-HERE
447
//   590
448
//   591
449
//   592
450
//   593
451
//   594
452
//   595
453
//   596
454
//   597
455
//   598
456
//   599
457
//   600
458
//   601
459
//   602
460
//   603
461
//   604
462
//   605
463
//   606
464
//   607
465
//   608
466
//   609     MOUSE-SELECT-UP
467
//   610     MIDDLE-MOUSE-UP
468
//   611     MOUSE-MENU-UP
469
//   612     MOUSE-EXTEND-UP
470
//   613
471
//   614
472
//   615
473
//   616
474
//   617     MOUSE-SELECT-DOWN
475
//   618     MIDDLE-MOUSE-DOWN
476
//   619     MOUSE-MENU-DOWN
477
//   620     MOUSE-EXTEND-DOWN
478
//   621
479
//   622
480
//   623
481
//   624
482
//   625     MOUSE-SELECT-CLICK
483
//   626     MIDDLE-MOUSE-CLICK
484
//   627     MOUSE-MENU-CLICK
485
//   628     MOUSE-EXTEND-CLICK
486
//   629
487
//   630
488
//   631
489
//   632
490
//   633     MOUSE-SELECT-DRAG
491
//   634
492
//   635     MOUSE-MENU-DRAG
493
//   636     MOUSE-EXTEND-DRAG
494
//   637
495
//   638
496
//   639
497
//   640     MOUSE-MOVE
498
//   641
499
//   642
500
//   643
501
//   644
502
//   645
503
//   646
504
//   647
505
//   648
506
//   649     MOUSE-SELECT-DBLCLICK
507
//   650     MIDDLE-MOUSE-DBLCLICK
508
//   651     MOUSE-MENU-DBLCLICK
509
//   652     MOUSE-EXTEND-DBLCLICK
510
//   653
511
//   654
512
//   655
513
//656 ... 767 SHIFT + code 157 ... 255
514

515
//812 ...911     SHIFT + F1 ...F99
516

517
//912 ...1011    SHIFT +PF1...PF99
518

519
//   1013     SHIFT-CURSOR-UP
520
//   1014     SHIFT-CURSOR-DOWN
521
//   1015     SHIFT-CURSOR-RIGHT
522
//   1016     SHIFT-CURSOR-LEFT
523

524
//   1017     SHIFT-HOME
525
//   1018     SHIFT-END
526
//   1019     SHIFT-PAGE-UP
527
//   1020     SHIFT-PAGE-DOWN
528
//   1021     SHIFT-SHIFT-TAB
529
//   1022     SHIFT-INS
530

531
//   1023     SHIFT-HELP-KEY
532
//   1024     ALT
533
//   1025     ALT-CTRL-A
534
//   1026     ALT-CTRL-B
535
//   1027     ALT-CTRL-C
536
//   1028     ALT-CTRL-D
537
//   1029     ALT-CTRL-E
538
//   1030     ALT-CTRL-F
539
//   1031     ALT-CTRL-G
540
//   1032     ALT-BACKSPACE
541
//   1033     ALT-CTRL-I
542
//   1034     ALT-CTRL-J
543
//   1035     ALT-CTRL-K
544
//   1036     ALT-CTRL-L
545
//   1037     ALT-ENTER
546
//   1038     ALT-CTRL-N
547
//   1039     ALT-CTRL-O
548
//   1040     ALT-CTRL-P
549
//   1041     ALT-CTRL-Q
550
//   1042     ALT-CTRL-R
551
//   1043     ALT-CTRL-S
552
//   1044     ALT-CTRL-T
553
//   1045     ALT-CTRL-U
554
//   1046     ALT-CTRL-V
555
//   1047     ALT-CTRL-W
556
//   1048     ALT-CTRL-X
557
//   1049     ALT-CTRL-Y
558

559
  //   1050     ALT-CTRL-Z
560
  //   1051     ALT-ESC
561
  //   1052     ALT-CTRL-\
562
  //   1053     ALT-CTRL-]
563
  //   1054     ALT-CTRL-^
564
  //   1055     ALT-CTRL-_
565
  //   1056     ALT-
566
  //   1057     ALT-!
567
  //   1058     ALT-"
568
  //   1059     ALT-#
569
  //   1060     ALT-$
570
  //   1061     ALT-%
571
  //   1062     ALT-&
572
  //   1063     ALT-'
573
  //   1064     ALT-(
574
  //   1065     ALT-)
575
  //   1066     ALT-*
576
  //   1067     ALT-+
577
  //   1068     ALT-,
578
  //   1069     ALT--
579
  //   1070     ALT-.
580
  //   1071     ALT-/
581
  //   1072     ALT-0
582
  //   1073     ALT-1
583
  //   1074     ALT-2
584
  //   1075     ALT-3
585
  //   1076     ALT-4
586
  //   1077     ALT-5
587
  //   1078     ALT-6
588
  //   1079     ALT-7
589
  //   1080     ALT-8
590
  //   1081     ALT-9
591
  //   1082     ALT-:
592
  //   1083     ALT-;
593
  //   1084     ALT-<
594
  //   1085     ALT-=
595
  //   1086     ALT->
596
  //   1087     ALT-?
597
  //   1088     ALT-@
598
  //   1089     ALT-A
599
  //   1090     ALT-B
600
  //   1091     ALT-C
601
  //   1092     ALT-D
602
  //   1093     ALT-E
603
  //   1094     ALT-F
604
  //   1095     ALT-G
605
  //   1096     ALT-H
606
  //   1097     ALT-I
607
  //   1098     ALT-J
608
  //   1099     ALT-K
609
  //   1100     ALT-L
610
  //   1101     ALT-M
611
  //   1102     ALT-N
612
  //   1103     ALT-O
613
  //   1104     ALT-P
614
  //   1105     ALT-Q
615
  //   1106     ALT-R
616
  //   1107     ALT-S
617
  //   1108     ALT-T
618
  //   1109     ALT-U
619
  //   1110     ALT-V
620
  //   1111     ALT-W
621
  //   1112     ALT-X
622
  //   1113     ALT-Y
623
  //   1114     ALT-Z
624
  //   1115     ALT-[
625
  //   1116     ALT-\
626
  //   1117     ALT-]
627
  //   1118     ALT-^
628
  //   1119     ALT-_
629
  //   1120     ALT-`
630
  //   1121     ALT-a
631
  //   1122     ALT-b
632
  //   1123     ALT-c
633
  //   1124     ALT-d
634
  //   1125     ALT-e
635
  //   1126     ALT-f
636
  //   1127     ALT-g
637
  //   1128     ALT-h
638
  //   1129     ALT-i
639
  //   1130     ALT-j
640
  //   1131     ALT-k
641
  //   1132     ALT-l
642
  //   1133     ALT-m
643
  //   1134     ALT-n
644
  //   1135     ALT-o
645
  //   1136     ALT-p
646
  //   1137     ALT-q
647
  //   1138     ALT-r
648
  //   1139     ALT-s
649
  //   1140     ALT-t
650
  //   1141     ALT-u
651
  //   1142     ALT-v
652
  //   1143     ALT-w
653
  //   1144     ALT-x
654
  //   1145     ALT-y
655
  //   1146     ALT-z
656
  //   1147     ALT-{
657
  //   1148     ALT-|
658
  //   1149     ALT-}
659
  //   1150     ALT-~
660
  //   1151     ALT-DEL
661
//   1152 ... 1279 ALT + code
662
//   1324 ... 1423 ALT + F1 ... F99
663
//   1424 ... 1523 ALT + PF1 ... PF99
664
//   1525     ALT-CURSOR-UP
665
//   1526     ALT-CURSOR-DOWN
666
//   1527     ALT-CURSOR-RIGHT
667
//   1528     ALT-CURSOR-LEFT
668
//   1529     ALT-HOME
669
//   1530     ALT-END
670
//   1531     ALT-PAGE-UP
671
//   1532     ALT-PAGE-DOWN
672
//   1533     ALT-SHIFT-TAB
673
//   1534     ALT-INS
674
//   1535     ALT-HELP-KEY
675
//   1536     ALT-DELETE
676
//   1537     ALT-EXECUTE
677
//   1538     ALT-PAGE
678
//   1539     ALT-FIND
679
//   1540     ALT-INS-LINE
680
//   1541     ALT-DEL-LINE
681
//   1542     ALT-LINE-ERASE
682
//   1543     ALT-PAGE-ERASE
683
//   1544     SHIFT-ALT-BACKSPACE
684
//   1545     SHIFT-ALT-CTRL-I
685
//   1546     ALT-EXIT
686
//   1547
687
//   1548
688
//   1549     SHIFT-ALT-ENTER
689

690
}
691
</script>
692
</head>
693
<body>
694
<form name="testform">
695
<input type="button" value="Run CHUI Test" onclick="void(run4GLKeyTest(false));"/>
696
<input type="button" value="Run GUI Test" onclick="void(run4GLKeyTest(true));"/>
697
<textarea id="testArea" name="testArea" rows="25" cols="90" style="display:block;"></textarea>
698
<textarea id="results" name="results" rows="4" cols="90"></textarea>
699
<br>
700
</form>
701
</body>
702
</html>