update roadmap
[fanfix.git] / src / jexer / TKeypress.java
CommitLineData
df8de03f
KL
1/**
2 * Jexer - Java Text User Interface
3 *
4 * Version: $Id$
5 *
6 * Author: Kevin Lamonte, <a href="mailto:kevin.lamonte@gmail.com">kevin.lamonte@gmail.com</a>
7 *
8 * License: LGPLv3 or later
9 *
10 * Copyright: This module is licensed under the GNU Lesser General
11 * Public License Version 3. Please see the file "COPYING" in this
12 * directory for more information about the GNU Lesser General Public
13 * License Version 3.
14 *
15 * Copyright (C) 2015 Kevin Lamonte
16 *
17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Lesser General Public License
19 * as published by the Free Software Foundation; either version 3 of
20 * the License, or (at your option) any later version.
21 *
22 * This program is distributed in the hope that it will be useful, but
23 * WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 * General Public License for more details.
26 *
27 * You should have received a copy of the GNU Lesser General Public
28 * License along with this program; if not, see
29 * http://www.gnu.org/licenses/, or write to the Free Software
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
31 * 02110-1301 USA
32 */
33package jexer;
34
35/**
36 * This class represents keystrokes.
37 */
38public class TKeypress {
39
40 // Various special keystrokes
41
42 /**
43 * "No key"
44 */
45 static public final int NONE = 255;
46
47 /**
48 * Function key F1
49 */
50 static public final int F1 = 1;
51
52 /**
53 * Function key F2
54 */
55 static public final int F2 = 2;
56
57 /**
58 * Function key F3
59 */
60 static public final int F3 = 3;
61
62 /**
63 * Function key F4
64 */
65 static public final int F4 = 4;
66
67 /**
68 * Function key F5
69 */
70 static public final int F5 = 5;
71
72 /**
73 * Function key F6
74 */
75 static public final int F6 = 6;
76
77 /**
78 * Function key F7
79 */
80 static public final int F7 = 7;
81
82 /**
83 * Function key F8
84 */
85 static public final int F8 = 8;
86
87 /**
88 * Function key F9
89 */
90 static public final int F9 = 9;
91
92 /**
93 * Function key F10
94 */
95 static public final int F10 = 10;
96
97 /**
98 * Function key F11
99 */
100 static public final int F11 = 11;
101
102 /**
103 * Function key F12
104 */
105 static public final int F12 = 12;
106
107 /**
108 * Home
109 */
110 static public final int HOME = 20;
111
112 /**
113 * End
114 */
115 static public final int END = 21;
116
117 /**
118 * Page up
119 */
120 static public final int PGUP = 22;
121
122 /**
123 * Page down
124 */
125 static public final int PGDN = 23;
126
127 /**
128 * Insert
129 */
130 static public final int INS = 24;
131
132 /**
133 * Delete
134 */
135 static public final int DEL = 25;
136
137 /**
138 * Right arrow
139 */
140 static public final int RIGHT = 30;
141
142 /**
143 * Left arrow
144 */
145 static public final int LEFT = 31;
146
147 /**
148 * Up arrow
149 */
150 static public final int UP = 32;
151
152 /**
153 * Down arrow
154 */
155 static public final int DOWN = 33;
156
157 /**
158 * Tab
159 */
160 static public final int TAB = 40;
161
162 /**
163 * Back-tab (shift-tab)
164 */
165 static public final int BTAB = 41;
166
167 /**
168 * Enter
169 */
170 static public final int ENTER = 42;
171
172 /**
173 * Escape
174 */
175 static public final int ESC = 43;
176
177 /**
178 * If true, ch is meaningless, use fnKey instead.
179 */
180 public boolean isKey;
181
182 /**
183 * Will be set to F1, F2, HOME, END, etc. if isKey is true.
184 */
185 public int fnKey;
186
187 /**
188 * Keystroke modifier ALT
189 */
190 public boolean alt;
191
192 /**
193 * Keystroke modifier CTRL
194 */
195 public boolean ctrl;
196
197 /**
198 * Keystroke modifier SHIFT
199 */
200 public boolean shift;
201
202 /**
203 * The character received
204 */
205 public char ch;
206
207 /**
208 * Convenience constructor for immutable instances
209 *
210 * @param isKey is true, this is a function key
211 * @param fnKey the function key code (only valid if isKey is true)
212 * @param ch the character (only valid if fnKey is false)
213 * @param alt if true, ALT was pressed with this keystroke
214 * @param ctrl if true, CTRL was pressed with this keystroke
215 * @param shift if true, SHIFT was pressed with this keystroke
216 */
217 public TKeypress(boolean isKey, int fnKey, char ch,
218 boolean alt, boolean ctrl, boolean shift) {
219
220 this.isKey = isKey;
221 this.fnKey = fnKey;
222 this.ch = ch;
223 this.alt = alt;
224 this.ctrl = ctrl;
225 this.shift = shift;
226 }
227
4328bb42
KL
228 /**
229 * Comparison. All fields must match to return true.
230 */
231 @Override
232 public boolean equals(Object rhs) {
233 if (!(rhs instanceof TKeypress)) {
234 return false;
235 }
236
237 TKeypress that = (TKeypress)rhs;
238 return ((isKey == that.isKey) &&
239 (fnKey == that.fnKey) &&
240 (ch == that.ch) &&
241 (alt == that.alt) &&
242 (ctrl == that.ctrl) &&
243 (shift == that.shift));
244 }
245
df8de03f
KL
246 /**
247 * Make human-readable description of this Keystroke.
248 */
249 @Override
250 public String toString() {
251 if (isKey) {
252 switch (fnKey) {
253 case F1:
254 return String.format("%s%s%sF1",
255 ctrl ? "Ctrl+" : "",
256 alt ? "Alt+" : "",
257 shift ? "Shift+" : "");
258 case F2:
259 return String.format("%s%s%sF2",
260 ctrl ? "Ctrl+" : "",
261 alt ? "Alt+" : "",
262 shift ? "Shift+" : "");
263 case F3:
264 return String.format("%s%s%sF3",
265 ctrl ? "Ctrl+" : "",
266 alt ? "Alt+" : "",
267 shift ? "Shift+" : "");
268 case F4:
269 return String.format("%s%s%sF4",
270 ctrl ? "Ctrl+" : "",
271 alt ? "Alt+" : "",
272 shift ? "Shift+" : "");
273 case F5:
274 return String.format("%s%s%sF5",
275 ctrl ? "Ctrl+" : "",
276 alt ? "Alt+" : "",
277 shift ? "Shift+" : "");
278 case F6:
279 return String.format("%s%s%sF6",
280 ctrl ? "Ctrl+" : "",
281 alt ? "Alt+" : "",
282 shift ? "Shift+" : "");
283 case F7:
284 return String.format("%s%s%sF7",
285 ctrl ? "Ctrl+" : "",
286 alt ? "Alt+" : "",
287 shift ? "Shift+" : "");
288 case F8:
289 return String.format("%s%s%sF8",
290 ctrl ? "Ctrl+" : "",
291 alt ? "Alt+" : "",
292 shift ? "Shift+" : "");
293 case F9:
294 return String.format("%s%s%sF9",
295 ctrl ? "Ctrl+" : "",
296 alt ? "Alt+" : "",
297 shift ? "Shift+" : "");
298 case F10:
299 return String.format("%s%s%sF10",
300 ctrl ? "Ctrl+" : "",
301 alt ? "Alt+" : "",
302 shift ? "Shift+" : "");
303 case F11:
304 return String.format("%s%s%sF11",
305 ctrl ? "Ctrl+" : "",
306 alt ? "Alt+" : "",
307 shift ? "Shift+" : "");
308 case F12:
309 return String.format("%s%s%sF12",
310 ctrl ? "Ctrl+" : "",
311 alt ? "Alt+" : "",
312 shift ? "Shift+" : "");
313 case HOME:
314 return String.format("%s%s%sHOME",
315 ctrl ? "Ctrl+" : "",
316 alt ? "Alt+" : "",
317 shift ? "Shift+" : "");
318 case END:
319 return String.format("%s%s%sEND",
320 ctrl ? "Ctrl+" : "",
321 alt ? "Alt+" : "",
322 shift ? "Shift+" : "");
323 case PGUP:
324 return String.format("%s%s%sPGUP",
325 ctrl ? "Ctrl+" : "",
326 alt ? "Alt+" : "",
327 shift ? "Shift+" : "");
328 case PGDN:
329 return String.format("%s%s%sPGDN",
330 ctrl ? "Ctrl+" : "",
331 alt ? "Alt+" : "",
332 shift ? "Shift+" : "");
333 case INS:
334 return String.format("%s%s%sINS",
335 ctrl ? "Ctrl+" : "",
336 alt ? "Alt+" : "",
337 shift ? "Shift+" : "");
338 case DEL:
339 return String.format("%s%s%sDEL",
340 ctrl ? "Ctrl+" : "",
341 alt ? "Alt+" : "",
342 shift ? "Shift+" : "");
343 case RIGHT:
344 return String.format("%s%s%sRIGHT",
345 ctrl ? "Ctrl+" : "",
346 alt ? "Alt+" : "",
347 shift ? "Shift+" : "");
348 case LEFT:
349 return String.format("%s%s%sLEFT",
350 ctrl ? "Ctrl+" : "",
351 alt ? "Alt+" : "",
352 shift ? "Shift+" : "");
353 case UP:
354 return String.format("%s%s%sUP",
355 ctrl ? "Ctrl+" : "",
356 alt ? "Alt+" : "",
357 shift ? "Shift+" : "");
358 case DOWN:
359 return String.format("%s%s%sDOWN",
360 ctrl ? "Ctrl+" : "",
361 alt ? "Alt+" : "",
362 shift ? "Shift+" : "");
363 case TAB:
364 return String.format("%s%s%sTAB",
365 ctrl ? "Ctrl+" : "",
366 alt ? "Alt+" : "",
367 shift ? "Shift+" : "");
368 case BTAB:
369 return String.format("%s%s%sBTAB",
370 ctrl ? "Ctrl+" : "",
371 alt ? "Alt+" : "",
372 shift ? "Shift+" : "");
373 case ENTER:
374 return String.format("%s%s%sENTER",
375 ctrl ? "Ctrl+" : "",
376 alt ? "Alt+" : "",
377 shift ? "Shift+" : "");
378 case ESC:
379 return String.format("%s%s%sESC",
380 ctrl ? "Ctrl+" : "",
381 alt ? "Alt+" : "",
382 shift ? "Shift+" : "");
383 default:
384 return String.format("--UNKNOWN--");
385 }
386 } else {
387 if (alt && !shift && !ctrl) {
388 // Alt-X
389 return String.format("Alt+%c", Character.toUpperCase(ch));
390 } else if (!alt && shift && !ctrl) {
391 // Shift-X
392 return String.format("%c", ch);
393 } else if (!alt && !shift && ctrl) {
394 // Ctrl-X
395 return String.format("Ctrl+%c", ch);
396 } else if (alt && shift && !ctrl) {
397 // Alt-Shift-X
398 return String.format("Alt+Shift+%c", ch);
399 } else if (!alt && shift && ctrl) {
400 // Ctrl-Shift-X
401 return String.format("Ctrl+Shift+%c", ch);
402 } else if (alt && !shift && ctrl) {
403 // Ctrl-Alt-X
404 return String.format("Ctrl+Alt+%c", Character.toUpperCase(ch));
405 } else if (alt && shift && ctrl) {
406 // Ctrl-Alt-Shift-X
407 return String.format("Ctrl+Alt+Shift+%c",
408 Character.toUpperCase(ch));
409 } else {
410 // X
411 return String.format("%c", ch);
412 }
413 }
414 }
415
416 /**
417 * Convert a keypress to lowercase. Function keys and ctrl keys are not
418 * converted.
419 *
420 * @param key keypress to convert
421 * @return a new instance with the key converted
422 */
423 static public TKeypress toLower(TKeypress key) {
424 TKeypress newKey = new TKeypress(key.isKey, key.fnKey, key.ch,
425 key.alt, key.ctrl, key.shift);
426 if (!(key.isKey) && (key.ch >= 'A') && (key.ch <= 'Z') && (!key.ctrl)) {
427 newKey.shift = false;
428 newKey.ch += 32;
429 }
430 return newKey;
431 }
432
433 /**
434 * Convert a keypress to uppercase. Function keys and ctrl keys are not
435 * converted.
436 *
437 * @param key keypress to convert
438 * @return a new instance with the key converted
439 */
440 static public TKeypress toUpper(TKeypress key) {
441 TKeypress newKey = new TKeypress(key.isKey, key.fnKey, key.ch,
442 key.alt, key.ctrl, key.shift);
443 if (!(key.isKey) && (key.ch >= 'a') && (key.ch <= 'z') && (!key.ctrl)) {
444 newKey.shift = true;
445 newKey.ch -= 32;
446 }
447 return newKey;
448 }
449
450 // Special "no-key" keypress, used to ignore undefined keystrokes
451 static public final TKeypress kbNoKey = new TKeypress(true,
452 TKeypress.NONE, ' ', false, false, false);
453
454 // Normal keys
455 static public final TKeypress kbF1 = new TKeypress(true,
456 TKeypress.F1, ' ', false, false, false);
457 static public final TKeypress kbF2 = new TKeypress(true,
458 TKeypress.F2, ' ', false, false, false);
459 static public final TKeypress kbF3 = new TKeypress(true,
460 TKeypress.F3, ' ', false, false, false);
461 static public final TKeypress kbF4 = new TKeypress(true,
462 TKeypress.F4, ' ', false, false, false);
463 static public final TKeypress kbF5 = new TKeypress(true,
464 TKeypress.F5, ' ', false, false, false);
465 static public final TKeypress kbF6 = new TKeypress(true,
466 TKeypress.F6, ' ', false, false, false);
467 static public final TKeypress kbF7 = new TKeypress(true,
468 TKeypress.F7, ' ', false, false, false);
469 static public final TKeypress kbF8 = new TKeypress(true,
470 TKeypress.F8, ' ', false, false, false);
471 static public final TKeypress kbF9 = new TKeypress(true,
472 TKeypress.F9, ' ', false, false, false);
473 static public final TKeypress kbF10 = new TKeypress(true,
474 TKeypress.F10, ' ', false, false, false);
475 static public final TKeypress kbF11 = new TKeypress(true,
476 TKeypress.F11, ' ', false, false, false);
477 static public final TKeypress kbF12 = new TKeypress(true,
478 TKeypress.F12, ' ', false, false, false);
479 static public final TKeypress kbAltF1 = new TKeypress(true,
480 TKeypress.F1, ' ', true, false, false);
481 static public final TKeypress kbAltF2 = new TKeypress(true,
482 TKeypress.F2, ' ', true, false, false);
483 static public final TKeypress kbAltF3 = new TKeypress(true,
484 TKeypress.F3, ' ', true, false, false);
485 static public final TKeypress kbAltF4 = new TKeypress(true,
486 TKeypress.F4, ' ', true, false, false);
487 static public final TKeypress kbAltF5 = new TKeypress(true,
488 TKeypress.F5, ' ', true, false, false);
489 static public final TKeypress kbAltF6 = new TKeypress(true,
490 TKeypress.F6, ' ', true, false, false);
491 static public final TKeypress kbAltF7 = new TKeypress(true,
492 TKeypress.F7, ' ', true, false, false);
493 static public final TKeypress kbAltF8 = new TKeypress(true,
494 TKeypress.F8, ' ', true, false, false);
495 static public final TKeypress kbAltF9 = new TKeypress(true,
496 TKeypress.F9, ' ', true, false, false);
497 static public final TKeypress kbAltF10 = new TKeypress(true,
498 TKeypress.F10, ' ', true, false, false);
499 static public final TKeypress kbAltF11 = new TKeypress(true,
500 TKeypress.F11, ' ', true, false, false);
501 static public final TKeypress kbAltF12 = new TKeypress(true,
502 TKeypress.F12, ' ', true, false, false);
503 static public final TKeypress kbCtrlF1 = new TKeypress(true,
504 TKeypress.F1, ' ', false, true, false);
505 static public final TKeypress kbCtrlF2 = new TKeypress(true,
506 TKeypress.F2, ' ', false, true, false);
507 static public final TKeypress kbCtrlF3 = new TKeypress(true,
508 TKeypress.F3, ' ', false, true, false);
509 static public final TKeypress kbCtrlF4 = new TKeypress(true,
510 TKeypress.F4, ' ', false, true, false);
511 static public final TKeypress kbCtrlF5 = new TKeypress(true,
512 TKeypress.F5, ' ', false, true, false);
513 static public final TKeypress kbCtrlF6 = new TKeypress(true,
514 TKeypress.F6, ' ', false, true, false);
515 static public final TKeypress kbCtrlF7 = new TKeypress(true,
516 TKeypress.F7, ' ', false, true, false);
517 static public final TKeypress kbCtrlF8 = new TKeypress(true,
518 TKeypress.F8, ' ', false, true, false);
519 static public final TKeypress kbCtrlF9 = new TKeypress(true,
520 TKeypress.F9, ' ', false, true, false);
521 static public final TKeypress kbCtrlF10 = new TKeypress(true,
522 TKeypress.F10, ' ', false, true, false);
523 static public final TKeypress kbCtrlF11 = new TKeypress(true,
524 TKeypress.F11, ' ', false, true, false);
525 static public final TKeypress kbCtrlF12 = new TKeypress(true,
526 TKeypress.F12, ' ', false, true, false);
527 static public final TKeypress kbShiftF1 = new TKeypress(true,
528 TKeypress.F1, ' ', false, false, true);
529 static public final TKeypress kbShiftF2 = new TKeypress(true,
530 TKeypress.F2, ' ', false, false, true);
531 static public final TKeypress kbShiftF3 = new TKeypress(true,
532 TKeypress.F3, ' ', false, false, true);
533 static public final TKeypress kbShiftF4 = new TKeypress(true,
534 TKeypress.F4, ' ', false, false, true);
535 static public final TKeypress kbShiftF5 = new TKeypress(true,
536 TKeypress.F5, ' ', false, false, true);
537 static public final TKeypress kbShiftF6 = new TKeypress(true,
538 TKeypress.F6, ' ', false, false, true);
539 static public final TKeypress kbShiftF7 = new TKeypress(true,
540 TKeypress.F7, ' ', false, false, true);
541 static public final TKeypress kbShiftF8 = new TKeypress(true,
542 TKeypress.F8, ' ', false, false, true);
543 static public final TKeypress kbShiftF9 = new TKeypress(true,
544 TKeypress.F9, ' ', false, false, true);
545 static public final TKeypress kbShiftF10 = new TKeypress(true,
546 TKeypress.F10, ' ', false, false, true);
547 static public final TKeypress kbShiftF11 = new TKeypress(true,
548 TKeypress.F11, ' ', false, false, true);
549 static public final TKeypress kbShiftF12 = new TKeypress(true,
550 TKeypress.F12, ' ', false, false, true);
551 static public final TKeypress kbEnter = new TKeypress(true,
552 TKeypress.ENTER, ' ', false, false, false);
553 static public final TKeypress kbTab = new TKeypress(true,
554 TKeypress.TAB, ' ', false, false, false);
555 static public final TKeypress kbEsc = new TKeypress(true,
556 TKeypress.ESC, ' ', false, false, false);
557 static public final TKeypress kbHome = new TKeypress(true,
558 TKeypress.HOME, ' ', false, false, false);
559 static public final TKeypress kbEnd = new TKeypress(true,
560 TKeypress.END, ' ', false, false, false);
561 static public final TKeypress kbPgUp = new TKeypress(true,
562 TKeypress.PGUP, ' ', false, false, false);
563 static public final TKeypress kbPgDn = new TKeypress(true,
564 TKeypress.PGDN, ' ', false, false, false);
565 static public final TKeypress kbIns = new TKeypress(true,
566 TKeypress.INS, ' ', false, false, false);
567 static public final TKeypress kbDel = new TKeypress(true,
568 TKeypress.DEL, ' ', false, false, false);
569 static public final TKeypress kbUp = new TKeypress(true,
570 TKeypress.UP, ' ', false, false, false);
571 static public final TKeypress kbDown = new TKeypress(true,
572 TKeypress.DOWN, ' ', false, false, false);
573 static public final TKeypress kbLeft = new TKeypress(true,
574 TKeypress.LEFT, ' ', false, false, false);
575 static public final TKeypress kbRight = new TKeypress(true,
576 TKeypress.RIGHT, ' ', false, false, false);
577 static public final TKeypress kbAltEnter = new TKeypress(true,
578 TKeypress.ENTER, ' ', true, false, false);
579 static public final TKeypress kbAltTab = new TKeypress(true,
580 TKeypress.TAB, ' ', true, false, false);
581 static public final TKeypress kbAltEsc = new TKeypress(true,
582 TKeypress.ESC, ' ', true, false, false);
583 static public final TKeypress kbAltHome = new TKeypress(true,
584 TKeypress.HOME, ' ', true, false, false);
585 static public final TKeypress kbAltEnd = new TKeypress(true,
586 TKeypress.END, ' ', true, false, false);
587 static public final TKeypress kbAltPgUp = new TKeypress(true,
588 TKeypress.PGUP, ' ', true, false, false);
589 static public final TKeypress kbAltPgDn = new TKeypress(true,
590 TKeypress.PGDN, ' ', true, false, false);
591 static public final TKeypress kbAltIns = new TKeypress(true,
592 TKeypress.INS, ' ', true, false, false);
593 static public final TKeypress kbAltDel = new TKeypress(true,
594 TKeypress.DEL, ' ', true, false, false);
595 static public final TKeypress kbAltUp = new TKeypress(true,
596 TKeypress.UP, ' ', true, false, false);
597 static public final TKeypress kbAltDown = new TKeypress(true,
598 TKeypress.DOWN, ' ', true, false, false);
599 static public final TKeypress kbAltLeft = new TKeypress(true,
600 TKeypress.LEFT, ' ', true, false, false);
601 static public final TKeypress kbAltRight = new TKeypress(true,
602 TKeypress.RIGHT, ' ', true, false, false);
603 static public final TKeypress kbCtrlEnter = new TKeypress(true,
604 TKeypress.ENTER, ' ', false, true, false);
605 static public final TKeypress kbCtrlTab = new TKeypress(true,
606 TKeypress.TAB, ' ', false, true, false);
607 static public final TKeypress kbCtrlEsc = new TKeypress(true,
608 TKeypress.ESC, ' ', false, true, false);
609 static public final TKeypress kbCtrlHome = new TKeypress(true,
610 TKeypress.HOME, ' ', false, true, false);
611 static public final TKeypress kbCtrlEnd = new TKeypress(true,
612 TKeypress.END, ' ', false, true, false);
613 static public final TKeypress kbCtrlPgUp = new TKeypress(true,
614 TKeypress.PGUP, ' ', false, true, false);
615 static public final TKeypress kbCtrlPgDn = new TKeypress(true,
616 TKeypress.PGDN, ' ', false, true, false);
617 static public final TKeypress kbCtrlIns = new TKeypress(true,
618 TKeypress.INS, ' ', false, true, false);
619 static public final TKeypress kbCtrlDel = new TKeypress(true,
620 TKeypress.DEL, ' ', false, true, false);
621 static public final TKeypress kbCtrlUp = new TKeypress(true,
622 TKeypress.UP, ' ', false, true, false);
623 static public final TKeypress kbCtrlDown = new TKeypress(true,
624 TKeypress.DOWN, ' ', false, true, false);
625 static public final TKeypress kbCtrlLeft = new TKeypress(true,
626 TKeypress.LEFT, ' ', false, true, false);
627 static public final TKeypress kbCtrlRight = new TKeypress(true,
628 TKeypress.RIGHT, ' ', false, true, false);
629 static public final TKeypress kbShiftEnter = new TKeypress(true,
630 TKeypress.ENTER, ' ', false, false, true);
631 static public final TKeypress kbShiftTab = new TKeypress(true,
632 TKeypress.TAB, ' ', false, false, true);
633 static public final TKeypress kbBackTab = new TKeypress(true,
634 TKeypress.BTAB, ' ', false, false, false);
635 static public final TKeypress kbShiftEsc = new TKeypress(true,
636 TKeypress.ESC, ' ', false, false, true);
637 static public final TKeypress kbShiftHome = new TKeypress(true,
638 TKeypress.HOME, ' ', false, false, true);
639 static public final TKeypress kbShiftEnd = new TKeypress(true,
640 TKeypress.END, ' ', false, false, true);
641 static public final TKeypress kbShiftPgUp = new TKeypress(true,
642 TKeypress.PGUP, ' ', false, false, true);
643 static public final TKeypress kbShiftPgDn = new TKeypress(true,
644 TKeypress.PGDN, ' ', false, false, true);
645 static public final TKeypress kbShiftIns = new TKeypress(true,
646 TKeypress.INS, ' ', false, false, true);
647 static public final TKeypress kbShiftDel = new TKeypress(true,
648 TKeypress.DEL, ' ', false, false, true);
649 static public final TKeypress kbShiftUp = new TKeypress(true,
650 TKeypress.UP, ' ', false, false, true);
651 static public final TKeypress kbShiftDown = new TKeypress(true,
652 TKeypress.DOWN, ' ', false, false, true);
653 static public final TKeypress kbShiftLeft = new TKeypress(true,
654 TKeypress.LEFT, ' ', false, false, true);
655 static public final TKeypress kbShiftRight = new TKeypress(true,
656 TKeypress.RIGHT, ' ', false, false, true);
657 static public final TKeypress kbA = new TKeypress(false,
658 0, 'a', false, false, false);
659 static public final TKeypress kbB = new TKeypress(false,
660 0, 'b', false, false, false);
661 static public final TKeypress kbC = new TKeypress(false,
662 0, 'c', false, false, false);
663 static public final TKeypress kbD = new TKeypress(false,
664 0, 'd', false, false, false);
665 static public final TKeypress kbE = new TKeypress(false,
666 0, 'e', false, false, false);
667 static public final TKeypress kbF = new TKeypress(false,
668 0, 'f', false, false, false);
669 static public final TKeypress kbG = new TKeypress(false,
670 0, 'g', false, false, false);
671 static public final TKeypress kbH = new TKeypress(false,
672 0, 'h', false, false, false);
673 static public final TKeypress kbI = new TKeypress(false,
674 0, 'i', false, false, false);
675 static public final TKeypress kbJ = new TKeypress(false,
676 0, 'j', false, false, false);
677 static public final TKeypress kbK = new TKeypress(false,
678 0, 'k', false, false, false);
679 static public final TKeypress kbL = new TKeypress(false,
680 0, 'l', false, false, false);
681 static public final TKeypress kbM = new TKeypress(false,
682 0, 'm', false, false, false);
683 static public final TKeypress kbN = new TKeypress(false,
684 0, 'n', false, false, false);
685 static public final TKeypress kbO = new TKeypress(false,
686 0, 'o', false, false, false);
687 static public final TKeypress kbP = new TKeypress(false,
688 0, 'p', false, false, false);
689 static public final TKeypress kbQ = new TKeypress(false,
690 0, 'q', false, false, false);
691 static public final TKeypress kbR = new TKeypress(false,
692 0, 'r', false, false, false);
693 static public final TKeypress kbS = new TKeypress(false,
694 0, 's', false, false, false);
695 static public final TKeypress kbT = new TKeypress(false,
696 0, 't', false, false, false);
697 static public final TKeypress kbU = new TKeypress(false,
698 0, 'u', false, false, false);
699 static public final TKeypress kbV = new TKeypress(false,
700 0, 'v', false, false, false);
701 static public final TKeypress kbW = new TKeypress(false,
702 0, 'w', false, false, false);
703 static public final TKeypress kbX = new TKeypress(false,
704 0, 'x', false, false, false);
705 static public final TKeypress kbY = new TKeypress(false,
706 0, 'y', false, false, false);
707 static public final TKeypress kbZ = new TKeypress(false,
708 0, 'z', false, false, false);
709 static public final TKeypress kbSpace = new TKeypress(false,
710 0, ' ', false, false, false);
711 static public final TKeypress kbAltA = new TKeypress(false,
712 0, 'a', true, false, false);
713 static public final TKeypress kbAltB = new TKeypress(false,
714 0, 'b', true, false, false);
715 static public final TKeypress kbAltC = new TKeypress(false,
716 0, 'c', true, false, false);
717 static public final TKeypress kbAltD = new TKeypress(false,
718 0, 'd', true, false, false);
719 static public final TKeypress kbAltE = new TKeypress(false,
720 0, 'e', true, false, false);
721 static public final TKeypress kbAltF = new TKeypress(false,
722 0, 'f', true, false, false);
723 static public final TKeypress kbAltG = new TKeypress(false,
724 0, 'g', true, false, false);
725 static public final TKeypress kbAltH = new TKeypress(false,
726 0, 'h', true, false, false);
727 static public final TKeypress kbAltI = new TKeypress(false,
728 0, 'i', true, false, false);
729 static public final TKeypress kbAltJ = new TKeypress(false,
730 0, 'j', true, false, false);
731 static public final TKeypress kbAltK = new TKeypress(false,
732 0, 'k', true, false, false);
733 static public final TKeypress kbAltL = new TKeypress(false,
734 0, 'l', true, false, false);
735 static public final TKeypress kbAltM = new TKeypress(false,
736 0, 'm', true, false, false);
737 static public final TKeypress kbAltN = new TKeypress(false,
738 0, 'n', true, false, false);
739 static public final TKeypress kbAltO = new TKeypress(false,
740 0, 'o', true, false, false);
741 static public final TKeypress kbAltP = new TKeypress(false,
742 0, 'p', true, false, false);
743 static public final TKeypress kbAltQ = new TKeypress(false,
744 0, 'q', true, false, false);
745 static public final TKeypress kbAltR = new TKeypress(false,
746 0, 'r', true, false, false);
747 static public final TKeypress kbAltS = new TKeypress(false,
748 0, 's', true, false, false);
749 static public final TKeypress kbAltT = new TKeypress(false,
750 0, 't', true, false, false);
751 static public final TKeypress kbAltU = new TKeypress(false,
752 0, 'u', true, false, false);
753 static public final TKeypress kbAltV = new TKeypress(false,
754 0, 'v', true, false, false);
755 static public final TKeypress kbAltW = new TKeypress(false,
756 0, 'w', true, false, false);
757 static public final TKeypress kbAltX = new TKeypress(false,
758 0, 'x', true, false, false);
759 static public final TKeypress kbAltY = new TKeypress(false,
760 0, 'y', true, false, false);
761 static public final TKeypress kbAltZ = new TKeypress(false,
762 0, 'z', true, false, false);
763 static public final TKeypress kbCtrlA = new TKeypress(false,
764 0, 'A', false, true, false);
765 static public final TKeypress kbCtrlB = new TKeypress(false,
766 0, 'B', false, true, false);
767 static public final TKeypress kbCtrlC = new TKeypress(false,
768 0, 'C', false, true, false);
769 static public final TKeypress kbCtrlD = new TKeypress(false,
770 0, 'D', false, true, false);
771 static public final TKeypress kbCtrlE = new TKeypress(false,
772 0, 'E', false, true, false);
773 static public final TKeypress kbCtrlF = new TKeypress(false,
774 0, 'F', false, true, false);
775 static public final TKeypress kbCtrlG = new TKeypress(false,
776 0, 'G', false, true, false);
777 static public final TKeypress kbCtrlH = new TKeypress(false,
778 0, 'H', false, true, false);
779 static public final TKeypress kbCtrlI = new TKeypress(false,
780 0, 'I', false, true, false);
781 static public final TKeypress kbCtrlJ = new TKeypress(false,
782 0, 'J', false, true, false);
783 static public final TKeypress kbCtrlK = new TKeypress(false,
784 0, 'K', false, true, false);
785 static public final TKeypress kbCtrlL = new TKeypress(false,
786 0, 'L', false, true, false);
787 static public final TKeypress kbCtrlM = new TKeypress(false,
788 0, 'M', false, true, false);
789 static public final TKeypress kbCtrlN = new TKeypress(false,
790 0, 'N', false, true, false);
791 static public final TKeypress kbCtrlO = new TKeypress(false,
792 0, 'O', false, true, false);
793 static public final TKeypress kbCtrlP = new TKeypress(false,
794 0, 'P', false, true, false);
795 static public final TKeypress kbCtrlQ = new TKeypress(false,
796 0, 'Q', false, true, false);
797 static public final TKeypress kbCtrlR = new TKeypress(false,
798 0, 'R', false, true, false);
799 static public final TKeypress kbCtrlS = new TKeypress(false,
800 0, 'S', false, true, false);
801 static public final TKeypress kbCtrlT = new TKeypress(false,
802 0, 'T', false, true, false);
803 static public final TKeypress kbCtrlU = new TKeypress(false,
804 0, 'U', false, true, false);
805 static public final TKeypress kbCtrlV = new TKeypress(false,
806 0, 'V', false, true, false);
807 static public final TKeypress kbCtrlW = new TKeypress(false,
808 0, 'W', false, true, false);
809 static public final TKeypress kbCtrlX = new TKeypress(false,
810 0, 'X', false, true, false);
811 static public final TKeypress kbCtrlY = new TKeypress(false,
812 0, 'Y', false, true, false);
813 static public final TKeypress kbCtrlZ = new TKeypress(false,
814 0, 'Z', false, true, false);
815 static public final TKeypress kbAltShiftA = new TKeypress(false,
816 0, 'A', true, false, true);
817 static public final TKeypress kbAltShiftB = new TKeypress(false,
818 0, 'B', true, false, true);
819 static public final TKeypress kbAltShiftC = new TKeypress(false,
820 0, 'C', true, false, true);
821 static public final TKeypress kbAltShiftD = new TKeypress(false,
822 0, 'D', true, false, true);
823 static public final TKeypress kbAltShiftE = new TKeypress(false,
824 0, 'E', true, false, true);
825 static public final TKeypress kbAltShiftF = new TKeypress(false,
826 0, 'F', true, false, true);
827 static public final TKeypress kbAltShiftG = new TKeypress(false,
828 0, 'G', true, false, true);
829 static public final TKeypress kbAltShiftH = new TKeypress(false,
830 0, 'H', true, false, true);
831 static public final TKeypress kbAltShiftI = new TKeypress(false,
832 0, 'I', true, false, true);
833 static public final TKeypress kbAltShiftJ = new TKeypress(false,
834 0, 'J', true, false, true);
835 static public final TKeypress kbAltShiftK = new TKeypress(false,
836 0, 'K', true, false, true);
837 static public final TKeypress kbAltShiftL = new TKeypress(false,
838 0, 'L', true, false, true);
839 static public final TKeypress kbAltShiftM = new TKeypress(false,
840 0, 'M', true, false, true);
841 static public final TKeypress kbAltShiftN = new TKeypress(false,
842 0, 'N', true, false, true);
843 static public final TKeypress kbAltShiftO = new TKeypress(false,
844 0, 'O', true, false, true);
845 static public final TKeypress kbAltShiftP = new TKeypress(false,
846 0, 'P', true, false, true);
847 static public final TKeypress kbAltShiftQ = new TKeypress(false,
848 0, 'Q', true, false, true);
849 static public final TKeypress kbAltShiftR = new TKeypress(false,
850 0, 'R', true, false, true);
851 static public final TKeypress kbAltShiftS = new TKeypress(false,
852 0, 'S', true, false, true);
853 static public final TKeypress kbAltShiftT = new TKeypress(false,
854 0, 'T', true, false, true);
855 static public final TKeypress kbAltShiftU = new TKeypress(false,
856 0, 'U', true, false, true);
857 static public final TKeypress kbAltShiftV = new TKeypress(false,
858 0, 'V', true, false, true);
859 static public final TKeypress kbAltShiftW = new TKeypress(false,
860 0, 'W', true, false, true);
861 static public final TKeypress kbAltShiftX = new TKeypress(false,
862 0, 'X', true, false, true);
863 static public final TKeypress kbAltShiftY = new TKeypress(false,
864 0, 'Y', true, false, true);
865 static public final TKeypress kbAltShiftZ = new TKeypress(false,
866 0, 'Z', true, false, true);
867
868 /**
869 * Backspace as ^H
870 */
871 static public final TKeypress kbBackspace = new TKeypress(false,
872 0, 'H', false, true, false);
873
874 /**
875 * Backspace as ^?
876 */
877 static public final TKeypress kbBackspaceDel = new TKeypress(false,
878 0, (char)0x7F, false, false, false);
879
880}