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