/* StandardTI994AKeyboardMapping.java (c) 2012-2013 Edward Swartz All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html */ package v9t9.machine.ti99.machine; import static v9t9.common.keyboard.KeyboardConstants.*; import static v9t9.machine.ti99.machine.TI994AKeys.*; import v9t9.common.keyboard.IKeyboardMapping; import v9t9.engine.keyboard.BaseKeyboardMapping; import v9t9.engine.keyboard.BaseKeyboardMode; import v9t9.engine.keyboard.BaseKeyboardMode.KeyInfoBuilder; /** * @author ejs * */ public class StandardTI994AKeyboardMapping extends BaseKeyboardMapping implements IKeyboardMapping { private static BaseKeyboardMode defaultMode = new BaseKeyboardMode(TI994A.KEYBOARD_MODE_TI994A, "Default"); static { KeyInfoBuilder.forKey(PKEY_1) .normal('1', "1").shift(KEY_EXCLAMATION, "!").fctn(KEY_F1, "DELETE").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_2) .normal('2', "2").shift(KEY_AT, "@").fctn(KEY_F2, "INSERT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_3) .normal('3', "3").shift(KEY_POUND, "#").fctn(KEY_F3, "ERASE").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_4) .normal('4', "4").shift(KEY_DOLLAR, "$").fctn(KEY_F4, "CLEAR").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_5) .normal('5', "5").shift(KEY_PERCENT, "%").fctn(KEY_F5, "BEGIN").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_6) .normal('6', "6").shift(KEY_CIRCUMFLEX, "^").fctn(KEY_F6, "PROC'D").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_7) .normal('7', "7").shift(KEY_AMPERSAND, "&").fctn(KEY_F7, "AID").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_8) .normal('8', "8").shift(KEY_ASTERISK, "*").fctn(KEY_F8, "REDO").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_9) .normal('9', "9").shift(KEY_OPEN_PARENTHESIS, "(").fctn(KEY_F9, "BACK").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_0) .normal('0', "0").shift(KEY_CLOSE_PARENTHESIS, ")").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_EQU) .normal(KEY_EQUALS, "=").shift(KEY_PLUS, "+").fctn(KEY_QUIT, "QUIT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_Q) .alpha('Q', "q").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_W) .alpha('W', "w").fctn(KEY_TILDE, "~").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_E) .alpha('E', "e").fctn(KEY_ARROW_UP, "UP").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_R) .alpha('R', "r").fctn(KEY_OPEN_BRACKET, "[").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_T) .alpha('T', "t").fctn(KEY_CLOSE_BRACKET, "]").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_Y) .alpha('Y', "y").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_U) .alpha('U', "u").fctn(KEY_UNDERSCORE, "_").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_I) .alpha('I', "i").fctn(KEY_QUESTION, "?").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_O) .alpha('O', "o").fctn(KEY_SINGLE_QUOTE, "'").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_P) .alpha('P', "p").fctn(KEY_QUOTE, "\"").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_SLASH) .normal(KEY_SLASH, "/").shift(KEY_MINUS, "-").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_A) .alpha('A', "a").fctn(KEY_BAR, "|").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_S) .alpha('S', "s").fctn(KEY_ARROW_LEFT, "LEFT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_D) .alpha('D', "d").fctn(KEY_ARROW_RIGHT, "RIGHT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_F) .alpha('F', "f").fctn(KEY_OPEN_BRACE, "{").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_G) .alpha('G', "g").fctn(KEY_CLOSE_BRACE, "}").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_H).alpha('H', "h").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_J).alpha('J', "j").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_K).alpha('K', "k").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_L).alpha('L', "l").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_SEMI) .normal(KEY_SEMICOLON, ";").shift(KEY_COLON, ":").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_ENTER) .normal(KEY_ENTER, "ENTER").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_LSHIFT) .normal(KEY_SHIFT, "SHIFT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_Z) .alpha('Z', "z").fctn(KEY_BACK_SLASH, "\\").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_X) .alpha('X', "x").fctn(KEY_ARROW_DOWN, "DOWN").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_C) .alpha('C', "c").fctn(KEY_BACK_QUOTE, "`").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_V).alpha('V', "v").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_B).alpha('B', "b").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_N).alpha('N', "n").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_M).alpha('M', "m").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_COMMA) .normal(KEY_COMMA, ",").shift(KEY_LESS, "<").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_PERIOD) .normal(KEY_PERIOD, ".").shift(KEY_GREATER, ">").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_RSHIFT) .normal(KEY_SHIFT, "SHIFT").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_ALPHA) .normal(KEY_CAPS_LOCK, "ALPHA\nLOCK").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_CTRL) .normal(KEY_CONTROL, "CTRL").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_SPACE) .normal(KEY_SPACE, " ").apply(defaultMode); KeyInfoBuilder.forKey(PKEY_FCTN) .normal(KEY_ALT, "FCTN").apply(defaultMode); } /** * */ public StandardTI994AKeyboardMapping() { add(defaultMode); } }