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