@Override
	public void keyPressed(KeyEvent e)
	{
		Keys key = Keys.getKey(e.getKeyCode());
		
		keyStates.put(key, true);
		
		if(keyListeners.containsKey(key))
		{
			if(exclusiveKeyListener != null)
			{
				fireExclusiveKeyListener(key, e.getKeyChar());
			}
			else
			{
				fireKeyEvents(key, key, e.getKeyChar());
			}
		}
		
		if(keyListeners.containsKey(Keys.ALL))
		{
			if(exclusiveKeyListener == null)
			{
				fireKeyEvents(Keys.ALL, key, e.getKeyChar());
			}
			else
			{
				fireExclusiveKeyListener(key, e.getKeyChar());
			}
		}
	}