evt = KeyEventWorkaround.processKeyEvent(evt); if(evt == null)
if(_evt.getID() != KeyEvent.KEY_PRESSED)
	protected void processKeyEvent(KeyEvent evt)	{		evt = KeyEventWorkaround.processKeyEvent(evt);		if(evt == null)			return;		if(evt.getID() == KeyEvent.KEY_RELEASED)			return;		StringBuffer keyString = new StringBuffer(			shortcut.getText());		if(shortcut.getDocument().getLength() != 0)			keyString.append(' ');		int modifiers = evt.getModifiers();		if((modifiers & InputEvent.CTRL_MASK) != 0)			keyString.append('C');		if((modifiers & InputEvent.ALT_MASK) != 0)			keyString.append('A');		if((modifiers & InputEvent.META_MASK) != 0)			keyString.append('M');		// don't want Shift+'d' recorded as S+D		if(evt.getID() != KeyEvent.KEY_TYPED			&& (modifiers & InputEvent.SHIFT_MASK) != 0)			keyString.append('S');		if(modifiers != 0)			keyString.append('+');		if(evt.getID() == KeyEvent.KEY_TYPED)		{			char keyChar = evt.getKeyChar();			if(keyChar != ' ' && keyChar != '\n' && keyChar != '\t')				keyString.append(keyChar);		}		else		{			String symbolicName;			int keyCode = evt.getKeyCode();			if((keyCode >= KeyEvent.VK_A && keyCode <= KeyEvent.VK_Z)				|| (keyCode >= KeyEvent.VK_0 && keyCode <= KeyEvent.VK_9))			{				if(modifiers == 0)					return;				else				{					symbolicName = String.valueOf(Character						.toLowerCase((char)keyCode));				}			}			else			{				symbolicName = getSymbolicName(keyCode);				if(symbolicName == null)					return;			}			keyString.append(symbolicName);		}		shortcut.setText(keyString.toString());	}