/*******************************************************************************
* Copyright (c) 2001, 2010 Mathew A. Nelson and Robocode contributors
* 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://robocode.sourceforge.net/license/epl-v10.html
*
* Contributors:
* Flemming N. Larsen
* - Initial implementation
*******************************************************************************/
package net.sf.robocode.ui.util;
import java.awt.*;
import java.awt.event.InputEvent;
/**
* Utility for handling shortcut keys.
*
* @author Flemming N. Larsen
*/
public class ShortcutUtil {
/**
* The menu shortcut key mask.
*/
public final static int MENU_SHORTCUT_KEY_MASK = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
/**
* Returns the text for the shortcut modifier key.
*
* @return the text for the shortcut modifier key.
*/
public static String getModifierKeyText() {
boolean isMac = (System.getProperty("os.name").startsWith("Mac"));
String text = "";
if ((MENU_SHORTCUT_KEY_MASK & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK) {
text = "Shift";
}
if ((MENU_SHORTCUT_KEY_MASK & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK) {
if (text.length() > 0) {
text += '+';
}
text = "Ctrl";
}
if ((MENU_SHORTCUT_KEY_MASK & InputEvent.ALT_MASK) == InputEvent.ALT_MASK) {
if (text.length() > 0) {
text += '+';
}
text = isMac ? "Opt" : "Alt";
}
if ((MENU_SHORTCUT_KEY_MASK & InputEvent.META_MASK) == InputEvent.META_MASK) {
if (text.length() > 0) {
text += '+';
}
text = isMac ? "Cmd" : "Meta";
}
return text;
}
}