X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2Fhumaninput%2FKeyboardHelper.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2Fhumaninput%2FKeyboardHelper.java;h=44b861e7d2c76099000ba8ff30f105b52f51874a;hb=4d8ec2cf940099ca17f075effd1c310a99f3c3a6;hp=0000000000000000000000000000000000000000;hpb=7e3faa91462a3639b58e83b766b9d5a01bb9cfd2;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardHelper.java b/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardHelper.java new file mode 100644 index 0000000..44b861e --- /dev/null +++ b/src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardHelper.java @@ -0,0 +1,57 @@ +/* + * Sixth 3D engine. Author: Svjatoslav Agejenko. + * This project is released under Creative Commons Zero (CC0) license. + */ +package eu.svjatoslav.sixth.e3d.gui.humaninput; + +import java.awt.event.InputEvent; +import java.util.HashSet; +import java.util.Set; + +public class KeyboardHelper { + + public static final int TAB = 9; + public static final int DOWN = 40; + public static final int UP = 38; + public static final int RIGHT = 39; + public static final int LEFT = 37; + public static final int PGDOWN = 34; + public static final int PGUP = 33; + public static final int HOME = 36; + public static final int END = 35; + public static final int DEL = 127; + public static final int ENTER = 10; + public static final int BACKSPACE = 8; + public static final int ESC = 27; + public static final int SHIFT = 16; + + private static final Set nonText; + + static { + nonText = new HashSet<>(); + nonText.add(DOWN); + nonText.add(UP); + nonText.add(LEFT); + nonText.add(RIGHT); + + nonText.add(SHIFT); + nonText.add(ESC); + } + + public static boolean isAltPressed(final int modifiersEx) { + return (modifiersEx | InputEvent.ALT_DOWN_MASK) == modifiersEx; + } + + public static boolean isCtrlPressed(final int modifiersEx) { + return (modifiersEx | InputEvent.CTRL_DOWN_MASK) == modifiersEx; + } + + public static boolean isShiftPressed(final int modifiersEx) { + return (modifiersEx | InputEvent.SHIFT_DOWN_MASK) == modifiersEx; + } + + public static boolean isText(final int keyCode) { + return !nonText.contains(keyCode); + } + +}