blob: 6f45f9ff32d3c86612f5626aacf70925311f55e0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 IBM Corporation and Others
* 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
*
* Contributors:
* Daisuke SATO - initial API and implementation
*******************************************************************************/
package org.eclipse.actf.ai.screenreader.jaws.script;
import java.awt.event.KeyEvent;
public class Keymap {
public int key;
public int modifier;
public boolean jaws;
public boolean windows;
public String scriptName;
public Keymap(String line) {
try {
int index = line.indexOf("=");
String keyStr = line.substring(0, index).trim();
if(keyStr.equals("JAWSKey+H")){
//int i = 1;
}
scriptName = line.substring(index + 1).trim();
String[] keyStrs = keyStr.split("[\\+]");
for (int i = 0; i < keyStrs.length; i++) {
String k = keyStrs[i].toLowerCase().replaceAll(" ","");
if (k.equals("control"))
modifier |= KeyEvent.CTRL_MASK;
else if (k.equals("shift"))
modifier |= KeyEvent.SHIFT_MASK;
else if (k.equals("alt"))
modifier |= KeyEvent.ALT_MASK;
else if (k.equals("jawskey") || k.equals("insert"))
jaws = true;
else if (k.equals("windows"))
windows = true;
else
key = KeyConverter.convert(k);
}
} catch (Exception e) {
e.printStackTrace(System.out);
System.out.println(line);
}
}
public String toString() {
return key+", "+modifier+", "+jaws+", "+windows+", "+scriptName;
}
public boolean equals(Object o){
if(o instanceof Key){
Key k = (Key)o;
if(k.key == key && k.modifier == modifier &&
!jaws && !windows)
return true;
}
return false;
}
}