Changed license to Creative Commons Zero (CC0).
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / textEditorComponent / KeyboardHelper.java
1 /*
2  * Sixth 3D engine. Author: Svjatoslav Agejenko. 
3  * This project is released under Creative Commons Zero (CC0) license.
4  *
5 *
6  */
7
8 package eu.svjatoslav.sixth.e3d.gui.textEditorComponent;
9
10 import java.util.HashSet;
11 import java.util.Set;
12
13 public class KeyboardHelper {
14
15     public static final int TAB = 9;
16     public static final int DOWN = 40;
17     public static final int UP = 38;
18     public static final int RIGHT = 39;
19     public static final int LEFT = 37;
20     public static final int PGDOWN = 34;
21     public static final int PGUP = 33;
22     public static final int HOME = 36;
23     public static final int END = 35;
24     public static final int DEL = 127;
25     public static final int ENTER = 10;
26     public static final int BACKSPACE = 8;
27     public static final int ESC = 27;
28     public static final int SHIFT = 16;
29
30     private static final Set<Integer> nonText;
31
32     static {
33         nonText = new HashSet<>();
34         nonText.add(DOWN);
35         nonText.add(UP);
36         nonText.add(LEFT);
37         nonText.add(RIGHT);
38
39         nonText.add(SHIFT);
40         nonText.add(ESC);
41     }
42
43     public static boolean isAlt(final int modifiers) {
44         return (modifiers | 8) == modifiers;
45     }
46
47     public static boolean isCtrl(final int modifiers) {
48         return (modifiers | 2) == modifiers;
49     }
50
51     public static boolean isShift(final int modifiers) {
52         return (modifiers | 1) == modifiers;
53     }
54
55     public static boolean isText(final int keyCode) {
56         return !nonText.contains(keyCode);
57     }
58
59 }