if(keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_SHIFT || keyCode == KeyEvent.VK_ALT || keyCode == KeyEvent.VK_META) return;
	public void keyPressed(KeyEvent evt)	{		int keyCode = evt.getKeyCode();		int modifiers = evt.getModifiers();		if((modifiers & ~KeyEvent.SHIFT_MASK) != 0			|| evt.isActionKey()			|| keyCode == KeyEvent.VK_BACK_SPACE			|| keyCode == KeyEvent.VK_DELETE			|| keyCode == KeyEvent.VK_ENTER			|| keyCode == KeyEvent.VK_TAB			|| keyCode == KeyEvent.VK_ESCAPE)		{			if(grabAction != null)			{				handleGrabAction(evt);				return;			}			KeyStroke keyStroke = KeyStroke.getKeyStroke(keyCode,				modifiers);			Object o = currentBindings.get(keyStroke);			if(o == null)			{				// Don't beep if the user presses some				// key we don't know about unless a				// prefix is active. Otherwise it will				// beep when caps lock is pressed, etc.				if(currentBindings != bindings)				{					Toolkit.getDefaultToolkit().beep();					// F10 should be passed on, but C+e F10					// shouldn't					repeatCount = 0;					repeat = false;					evt.consume();				}				currentBindings = bindings;				return;			}			else if(o instanceof ActionListener)			{				currentBindings = bindings;				executeAction(((ActionListener)o),					evt.getSource(),null);				evt.consume();				return;			}			else if(o instanceof Hashtable)			{				currentBindings = (Hashtable)o;				evt.consume();				return;			}		}	}