Merge branch 'subtree'
[fanfix.git] / src / jexer / TKeypress.java
index 58085455eda4897a6ed3c1ee3f045fd11cf7f6c6..20db8bb267ebc43389f2d900c49aa5b3462d22d1 100644 (file)
@@ -487,6 +487,26 @@ public class TKeypress {
             0, 'y', true, false, false);
     public static final TKeypress kbAltZ = new TKeypress(false,
             0, 'z', true, false, false);
+    public static final TKeypress kbAlt0 = new TKeypress(false,
+            0, '0', true, false, false);
+    public static final TKeypress kbAlt1 = new TKeypress(false,
+            0, '1', true, false, false);
+    public static final TKeypress kbAlt2 = new TKeypress(false,
+            0, '2', true, false, false);
+    public static final TKeypress kbAlt3 = new TKeypress(false,
+            0, '3', true, false, false);
+    public static final TKeypress kbAlt4 = new TKeypress(false,
+            0, '4', true, false, false);
+    public static final TKeypress kbAlt5 = new TKeypress(false,
+            0, '5', true, false, false);
+    public static final TKeypress kbAlt6 = new TKeypress(false,
+            0, '6', true, false, false);
+    public static final TKeypress kbAlt7 = new TKeypress(false,
+            0, '7', true, false, false);
+    public static final TKeypress kbAlt8 = new TKeypress(false,
+            0, '8', true, false, false);
+    public static final TKeypress kbAlt9 = new TKeypress(false,
+            0, '9', true, false, false);
     public static final TKeypress kbCtrlA = new TKeypress(false,
             0, 'A', false, true, false);
     public static final TKeypress kbCtrlB = new TKeypress(false,
@@ -592,6 +612,41 @@ public class TKeypress {
     public static final TKeypress kbAltShiftZ = new TKeypress(false,
             0, 'Z', true, false, true);
 
+    public static final TKeypress kbAltShiftHome = new TKeypress(true,
+            TKeypress.HOME, ' ', true, false, true);
+    public static final TKeypress kbAltShiftEnd = new TKeypress(true,
+            TKeypress.END, ' ', true, false, true);
+    public static final TKeypress kbAltShiftPgUp = new TKeypress(true,
+            TKeypress.PGUP, ' ', true, false, true);
+    public static final TKeypress kbAltShiftPgDn = new TKeypress(true,
+            TKeypress.PGDN, ' ', true, false, true);
+    public static final TKeypress kbAltShiftUp = new TKeypress(true,
+            TKeypress.UP, ' ', true, false, true);
+    public static final TKeypress kbAltShiftDown = new TKeypress(true,
+            TKeypress.DOWN, ' ', true, false, true);
+    public static final TKeypress kbAltShiftLeft = new TKeypress(true,
+            TKeypress.LEFT, ' ', true, false, true);
+    public static final TKeypress kbAltShiftRight = new TKeypress(true,
+            TKeypress.RIGHT, ' ', true, false, true);
+
+    public static final TKeypress kbCtrlShiftHome = new TKeypress(true,
+            TKeypress.HOME, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftEnd = new TKeypress(true,
+            TKeypress.END, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftPgUp = new TKeypress(true,
+            TKeypress.PGUP, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftPgDn = new TKeypress(true,
+            TKeypress.PGDN, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftUp = new TKeypress(true,
+            TKeypress.UP, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftDown = new TKeypress(true,
+            TKeypress.DOWN, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftLeft = new TKeypress(true,
+            TKeypress.LEFT, ' ', false, true, true);
+    public static final TKeypress kbCtrlShiftRight = new TKeypress(true,
+            TKeypress.RIGHT, ' ', false, true, true);
+
+
     /**
      * Backspace as ^H.
      */
@@ -602,7 +657,7 @@ public class TKeypress {
      * Backspace as ^?.
      */
     public static final TKeypress kbBackspaceDel = new TKeypress(false,
-            0, (char)0x7F, false, false, false);
+            0, (char) 0x7F, false, false, false);
 
     // ------------------------------------------------------------------------
     // Variables --------------------------------------------------------------
@@ -636,7 +691,7 @@ public class TKeypress {
     /**
      * The character received.
      */
-    private char ch;
+    private int ch;
 
     // ------------------------------------------------------------------------
     // Constructors -----------------------------------------------------------
@@ -652,7 +707,7 @@ public class TKeypress {
      * @param ctrl if true, CTRL was pressed with this keystroke
      * @param shift if true, SHIFT was pressed with this keystroke
      */
-    public TKeypress(final boolean isKey, final int fnKey, final char ch,
+    public TKeypress(final boolean isKey, final int fnKey, final int ch,
             final boolean alt, final boolean ctrl, final boolean shift) {
 
         this.isFunctionKey = isKey;
@@ -717,7 +772,7 @@ public class TKeypress {
      *
      * @return the character (only valid if isKey is false)
      */
-    public char getChar() {
+    public int getChar() {
         return ch;
     }
 
@@ -801,6 +856,18 @@ public class TKeypress {
             return "\u25C0\u2500\u2518";
         }
 
+        // Special case: Space is "Space"
+        if (equals(kbSpace)) {
+            return "Space";
+        }
+
+        if (equals(kbShiftLeft)) {
+            return "Shift+\u2190";
+        }
+        if (equals(kbShiftRight)) {
+            return "Shift+\u2192";
+        }
+
         if (isFunctionKey) {
             switch (keyCode) {
             case F1: