handleBrokenKeys(modifiers,keyCode);
handleBrokenKeys(evt.getModifiers(),keyCode);
	public static KeyEvent processKeyEvent(KeyEvent evt)	{		int keyCode = evt.getKeyCode();		int modifiers = evt.getModifiers();		char ch = evt.getKeyChar();		switch(evt.getID())		{		case KeyEvent.KEY_PRESSED:			// get rid of keys we never need to handle			if(keyCode == KeyEvent.VK_CONTROL ||				keyCode == KeyEvent.VK_SHIFT ||				keyCode == KeyEvent.VK_ALT ||				keyCode == KeyEvent.VK_META)				return null;			// get rid of undefined keys			if(keyCode == '\0')				return null;			if(!java14)				handleBrokenKeys(modifiers,keyCode);			return evt;		case KeyEvent.KEY_TYPED:			// need to let \b through so that backspace will work			// in HistoryTextFields			if((ch < 0x20 || ch == 0x7f) && ch != '\b')				return null;			if(evt.isControlDown() || evt.isAltDown() || evt.isMetaDown())				return null;			if(!java14)			{				// if the last key was a broken key, filter				// out all except 'a'-'z' that occur 750 ms after.				if(last == LAST_BROKEN && System.currentTimeMillis()					- lastKeyTime < 750 && !Character.isLetter(ch))				{					last = LAST_NOTHING;					return null;				}				// otherwise, if it was ALT, filter out everything.				else if(last == LAST_ALT && System.currentTimeMillis()					- lastKeyTime < 750)				{					last = LAST_NOTHING;					return null;				}			}			return evt;		default:			return evt;		}	}