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