X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fcom%2Fgooglecode%2Flanterna%2Finput%2FKeyStroke.java;fp=src%2Fcom%2Fgooglecode%2Flanterna%2Finput%2FKeyStroke.java;h=0000000000000000000000000000000000000000;hp=61aef5b735b5428dd057e42aaa4aa8c933529f7c;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hpb=a73a906356c971b080c36368e71a15d87e8b8d31
diff --git a/src/com/googlecode/lanterna/input/KeyStroke.java b/src/com/googlecode/lanterna/input/KeyStroke.java
deleted file mode 100644
index 61aef5b..0000000
--- a/src/com/googlecode/lanterna/input/KeyStroke.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * This file is part of lanterna (http://code.google.com/p/lanterna/).
- *
- * lanterna is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see
- * Use the keyType field to determine what kind of key was pressed. For ordinary letters, numbers and symbols, the - * keyType will be KeyType.Character and the actual character value of the key is in the - * character field. Please note that return (\n) and tab (\t) are not sorted under type KeyType.Character - * but KeyType.Enter and KeyType.Tab instead. - * @author martin - */ -public class KeyStroke { - private final KeyType keyType; - private final Character character; - private final boolean ctrlDown; - private final boolean altDown; - private final boolean shiftDown; - private final long eventTime; - - /** - * Constructs a KeyStroke based on a supplied keyType; character will be null and both ctrl and alt will be - * considered not pressed. If you try to construct a KeyStroke with type KeyType.Character with this constructor, it - * will always throw an exception; use another overload that allows you to specify the character value instead. - * @param keyType Type of the key pressed by this keystroke - */ - public KeyStroke(KeyType keyType) { - this(keyType, false, false); - } - - /** - * Constructs a KeyStroke based on a supplied keyType; character will be null. - * If you try to construct a KeyStroke with type KeyType.Character with this constructor, it - * will always throw an exception; use another overload that allows you to specify the character value instead. - * @param keyType Type of the key pressed by this keystroke - * @param ctrlDown Was ctrl held down when the main key was pressed? - * @param altDown Was alt held down when the main key was pressed? - */ - public KeyStroke(KeyType keyType, boolean ctrlDown, boolean altDown) { - this(keyType, null, ctrlDown, altDown, false); - } - - /** - * Constructs a KeyStroke based on a supplied keyType; character will be null. - * If you try to construct a KeyStroke with type KeyType.Character with this constructor, it - * will always throw an exception; use another overload that allows you to specify the character value instead. - * @param keyType Type of the key pressed by this keystroke - * @param ctrlDown Was ctrl held down when the main key was pressed? - * @param altDown Was alt held down when the main key was pressed? - * @param shiftDown Was shift held down when the main key was pressed? - */ - public KeyStroke(KeyType keyType, boolean ctrlDown, boolean altDown, boolean shiftDown) { - this(keyType, null, ctrlDown, altDown, shiftDown); - } - - /** - * Constructs a KeyStroke based on a supplied character, keyType is implicitly KeyType.Character. - *
- * A character-based KeyStroke does not support the shiftDown flag, as the shift state has
- * already been accounted for in the character itself, depending on user's keyboard layout.
- * @param character Character that was typed on the keyboard
- * @param ctrlDown Was ctrl held down when the main key was pressed?
- * @param altDown Was alt held down when the main key was pressed?
- */
- public KeyStroke(Character character, boolean ctrlDown, boolean altDown) {
- this(KeyType.Character, character, ctrlDown, altDown, false);
- }
-
- private KeyStroke(KeyType keyType, Character character, boolean ctrlDown, boolean altDown, boolean shiftDown) {
- if(keyType == KeyType.Character && character == null) {
- throw new IllegalArgumentException("Cannot construct a KeyStroke with type KeyType.Character but no character information");
- }
- //Enforce character for some key types
- switch(keyType) {
- case Backspace:
- character = '\b';
- break;
- case Enter:
- character = '\n';
- break;
- case Tab:
- character = '\t';
- break;
- default:
- }
- this.keyType = keyType;
- this.character = character;
- this.shiftDown = shiftDown;
- this.ctrlDown = ctrlDown;
- this.altDown = altDown;
- this.eventTime = System.currentTimeMillis();
- }
-
- /**
- * Type of key that was pressed on the keyboard, as represented by the KeyType enum. If the value if
- * KeyType.Character, you need to call getCharacter() to find out which letter, number or symbol that was actually
- * pressed.
- * @return Type of key on the keyboard that was pressed
- */
- public KeyType getKeyType() {
- return keyType;
- }
-
- /**
- * For keystrokes of ordinary keys (letters, digits, symbols), this method returns the actual character value of the
- * key. For all other key types, it returns null.
- * @return Character value of the key pressed, or null if it was a special key
- */
- public Character getCharacter() {
- return character;
- }
-
- /**
- * @return Returns true if ctrl was help down while the key was typed (depending on terminal implementation)
- */
- public boolean isCtrlDown() {
- return ctrlDown;
- }
-
- /**
- * @return Returns true if alt was help down while the key was typed (depending on terminal implementation)
- */
- public boolean isAltDown() {
- return altDown;
- }
-
- /**
- * @return Returns true if shift was help down while the key was typed (depending on terminal implementation)
- */
- public boolean isShiftDown() {
- return shiftDown;
- }
-
- /**
- * Gets the time when the keystroke was recorded. This isn't necessarily the time the keystroke happened, but when
- * Lanterna received the event, so it may not be accurate down to the millisecond.
- * @return The unix time of when the keystroke happened, in milliseconds
- */
- public long getEventTime() {
- return eventTime;
- }
-
- @Override
- public String toString() {
- return "KeyStroke{" + "keyType=" + keyType + ", character=" + character +
- ", ctrlDown=" + ctrlDown +
- ", altDown=" + altDown +
- ", shiftDown=" + shiftDown + '}';
- }
-
- @Override
- public int hashCode() {
- int hash = 3;
- hash = 41 * hash + (this.keyType != null ? this.keyType.hashCode() : 0);
- hash = 41 * hash + (this.character != null ? this.character.hashCode() : 0);
- hash = 41 * hash + (this.ctrlDown ? 1 : 0);
- hash = 41 * hash + (this.altDown ? 1 : 0);
- hash = 41 * hash + (this.shiftDown ? 1 : 0);
- return hash;
- }
-
- @SuppressWarnings("SimplifiableIfStatement")
- @Override
- public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final KeyStroke other = (KeyStroke) obj;
- if (this.keyType != other.keyType) {
- return false;
- }
- if (this.character != other.character && (this.character == null || !this.character.equals(other.character))) {
- return false;
- }
- return this.ctrlDown == other.ctrlDown &&
- this.altDown == other.altDown &&
- this.shiftDown == other.shiftDown;
- }
-
- /**
- * Creates a Key from a string representation in Vim's key notation.
- *
- * @param keyStr the string representation of this key
- * @return the created {@link KeyType}
- */
- public static KeyStroke fromString(String keyStr) {
- String keyStrLC = keyStr.toLowerCase();
- KeyStroke k;
- if (keyStr.length() == 1) {
- k = new KeyStroke(KeyType.Character, keyStr.charAt(0), false, false, false);
- } else if (keyStr.startsWith("<") && keyStr.endsWith(">")) {
- if (keyStrLC.equals("")) {
- k = new KeyStroke(KeyType.Delete);
- } else if (keyStrLC.equals("