1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package complex.accelerators; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import java.util.HashMap; 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski class KeyIdentifierInfo 29*b1cdbd2cSJim Jagielski { 30*b1cdbd2cSJim Jagielski protected String sIdentifier; 31*b1cdbd2cSJim Jagielski protected Short nCode; 32*b1cdbd2cSJim Jagielski KeyIdentifierInfo(String sID, Short nC)33*b1cdbd2cSJim Jagielski KeyIdentifierInfo(String sID, Short nC) 34*b1cdbd2cSJim Jagielski { 35*b1cdbd2cSJim Jagielski sIdentifier = sID; 36*b1cdbd2cSJim Jagielski nCode = nC; 37*b1cdbd2cSJim Jagielski } 38*b1cdbd2cSJim Jagielski } 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski class IdentifierHashMap extends HashMap 41*b1cdbd2cSJim Jagielski { put(String sIdentifier, Short nCode)42*b1cdbd2cSJim Jagielski public void put(String sIdentifier, Short nCode) 43*b1cdbd2cSJim Jagielski { 44*b1cdbd2cSJim Jagielski super.put(sIdentifier, nCode); 45*b1cdbd2cSJim Jagielski } get(String sIdentifier)46*b1cdbd2cSJim Jagielski public Short get(String sIdentifier) 47*b1cdbd2cSJim Jagielski { 48*b1cdbd2cSJim Jagielski return (Short)super.get(sIdentifier); 49*b1cdbd2cSJim Jagielski } 50*b1cdbd2cSJim Jagielski } 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski class CodeHashMap extends HashMap 53*b1cdbd2cSJim Jagielski { put(Short nCode, String sIdentifier)54*b1cdbd2cSJim Jagielski public void put(Short nCode, String sIdentifier) 55*b1cdbd2cSJim Jagielski { 56*b1cdbd2cSJim Jagielski super.put(nCode, sIdentifier); 57*b1cdbd2cSJim Jagielski } get(Short nCode)58*b1cdbd2cSJim Jagielski public String get(Short nCode) 59*b1cdbd2cSJim Jagielski { 60*b1cdbd2cSJim Jagielski return (String)super.get(nCode); 61*b1cdbd2cSJim Jagielski } 62*b1cdbd2cSJim Jagielski } 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski public class KeyMapping 65*b1cdbd2cSJim Jagielski { 66*b1cdbd2cSJim Jagielski private IdentifierHashMap aIdentifierHashMap; 67*b1cdbd2cSJim Jagielski private CodeHashMap aCodeHashMap; 68*b1cdbd2cSJim Jagielski KeyMapping()69*b1cdbd2cSJim Jagielski public KeyMapping() 70*b1cdbd2cSJim Jagielski { 71*b1cdbd2cSJim Jagielski KeyIdentifierInfo[] aInfoMap = { 72*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("0", new Short(com.sun.star.awt.Key.NUM0)), 73*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("1", new Short(com.sun.star.awt.Key.NUM1)), 74*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("2", new Short(com.sun.star.awt.Key.NUM2)), 75*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("3", new Short(com.sun.star.awt.Key.NUM3)), 76*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("4", new Short(com.sun.star.awt.Key.NUM4)), 77*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("5", new Short(com.sun.star.awt.Key.NUM5)), 78*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("6", new Short(com.sun.star.awt.Key.NUM6)), 79*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("7", new Short(com.sun.star.awt.Key.NUM7)), 80*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("8", new Short(com.sun.star.awt.Key.NUM8)), 81*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("9", new Short(com.sun.star.awt.Key.NUM9)), 82*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("A", new Short(com.sun.star.awt.Key.A)), 83*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("B", new Short(com.sun.star.awt.Key.B)), 84*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("C", new Short(com.sun.star.awt.Key.C)), 85*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("D", new Short(com.sun.star.awt.Key.D)), 86*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("E", new Short(com.sun.star.awt.Key.E)), 87*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F", new Short(com.sun.star.awt.Key.F)), 88*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("G", new Short(com.sun.star.awt.Key.G)), 89*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("H", new Short(com.sun.star.awt.Key.H)), 90*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("I", new Short(com.sun.star.awt.Key.I)), 91*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("J", new Short(com.sun.star.awt.Key.J)), 92*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("K", new Short(com.sun.star.awt.Key.K)), 93*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("L", new Short(com.sun.star.awt.Key.L)), 94*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("M", new Short(com.sun.star.awt.Key.M)), 95*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("N", new Short(com.sun.star.awt.Key.N)), 96*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("O", new Short(com.sun.star.awt.Key.O)), 97*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("P", new Short(com.sun.star.awt.Key.P)), 98*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("Q", new Short(com.sun.star.awt.Key.Q)), 99*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("R", new Short(com.sun.star.awt.Key.R)), 100*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("S", new Short(com.sun.star.awt.Key.S)), 101*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("T", new Short(com.sun.star.awt.Key.T)), 102*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("U", new Short(com.sun.star.awt.Key.U)), 103*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("V", new Short(com.sun.star.awt.Key.V)), 104*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("W", new Short(com.sun.star.awt.Key.W)), 105*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("X", new Short(com.sun.star.awt.Key.X)), 106*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("Y", new Short(com.sun.star.awt.Key.Y)), 107*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("Z", new Short(com.sun.star.awt.Key.Z)), 108*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F1", new Short(com.sun.star.awt.Key.F1)), 109*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F2", new Short(com.sun.star.awt.Key.F2)), 110*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F3", new Short(com.sun.star.awt.Key.F3)), 111*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F4", new Short(com.sun.star.awt.Key.F4)), 112*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F5", new Short(com.sun.star.awt.Key.F5)), 113*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F6", new Short(com.sun.star.awt.Key.F6)), 114*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F7", new Short(com.sun.star.awt.Key.F7)), 115*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F8", new Short(com.sun.star.awt.Key.F8)), 116*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F9", new Short(com.sun.star.awt.Key.F9)), 117*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F10", new Short(com.sun.star.awt.Key.F10)), 118*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F11", new Short(com.sun.star.awt.Key.F11)), 119*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("F12", new Short(com.sun.star.awt.Key.F12)), 120*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("DOWN", new Short(com.sun.star.awt.Key.DOWN)), 121*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("UP", new Short(com.sun.star.awt.Key.UP)), 122*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("LEFT", new Short(com.sun.star.awt.Key.LEFT)), 123*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("RIGHT", new Short(com.sun.star.awt.Key.RIGHT)), 124*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("HOME", new Short(com.sun.star.awt.Key.HOME)), 125*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("END", new Short(com.sun.star.awt.Key.END)), 126*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("PAGEUP", new Short(com.sun.star.awt.Key.PAGEUP)), 127*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("PAGEDOWN", new Short(com.sun.star.awt.Key.PAGEDOWN)), 128*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("RETURN", new Short(com.sun.star.awt.Key.RETURN)), 129*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("ESCAPE", new Short(com.sun.star.awt.Key.ESCAPE)), 130*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("TAB", new Short(com.sun.star.awt.Key.TAB)), 131*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("BACKSPACE", new Short(com.sun.star.awt.Key.BACKSPACE)), 132*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("SPACE", new Short(com.sun.star.awt.Key.SPACE)), 133*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("INSERT", new Short(com.sun.star.awt.Key.INSERT)), 134*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("DELETE", new Short(com.sun.star.awt.Key.DELETE)), 135*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("ADD", new Short(com.sun.star.awt.Key.ADD)), 136*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("SUBTRACT", new Short(com.sun.star.awt.Key.SUBTRACT)), 137*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("MULTIPLY", new Short(com.sun.star.awt.Key.MULTIPLY)), 138*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("DIVIDE", new Short(com.sun.star.awt.Key.DIVIDE)), 139*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("CUT", new Short(com.sun.star.awt.Key.CUT)), 140*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("COPY", new Short(com.sun.star.awt.Key.COPY)), 141*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("PASTE", new Short(com.sun.star.awt.Key.PASTE)), 142*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("UNDO", new Short(com.sun.star.awt.Key.UNDO)), 143*b1cdbd2cSJim Jagielski new KeyIdentifierInfo("REPEAT", new Short(com.sun.star.awt.Key.REPEAT)) 144*b1cdbd2cSJim Jagielski }; 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski aIdentifierHashMap = new IdentifierHashMap(); 147*b1cdbd2cSJim Jagielski aCodeHashMap = new CodeHashMap(); 148*b1cdbd2cSJim Jagielski for (int i = 0; i<aInfoMap.length; i++) 149*b1cdbd2cSJim Jagielski { 150*b1cdbd2cSJim Jagielski aIdentifierHashMap.put(aInfoMap[i].sIdentifier, aInfoMap[i].nCode); 151*b1cdbd2cSJim Jagielski aCodeHashMap.put(aInfoMap[i].nCode, aInfoMap[i].sIdentifier); 152*b1cdbd2cSJim Jagielski } 153*b1cdbd2cSJim Jagielski } 154*b1cdbd2cSJim Jagielski mapIdentifier2Code(String sIdentifier)155*b1cdbd2cSJim Jagielski public short mapIdentifier2Code(String sIdentifier) 156*b1cdbd2cSJim Jagielski { 157*b1cdbd2cSJim Jagielski return (aIdentifierHashMap.get(sIdentifier)).shortValue(); 158*b1cdbd2cSJim Jagielski } 159*b1cdbd2cSJim Jagielski mapCode2Identifier(short nCode)160*b1cdbd2cSJim Jagielski public String mapCode2Identifier(short nCode) 161*b1cdbd2cSJim Jagielski { 162*b1cdbd2cSJim Jagielski return (String)aCodeHashMap.get(new Short(nCode)); 163*b1cdbd2cSJim Jagielski } 164*b1cdbd2cSJim Jagielski } 165