void GUITextBox::checkKeyboardEvents(KeyEvent evt, int extraInfo)
{
  if (!focused || !active)
    return;
    
  if ((evt.getKeyID() >= 32 && evt.getKeyID() <= 127) ||
      (evt.getKeyID() == 8));
  else
    extraInfo = 0;
    
  if (extraInfo == KEY_PRESSED)
  {
    int length = label.getString().getLength();
    
    if (evt.displayable())
      setupText(INSERT_CHAR, evt.getKeyChar());
      
    if (length)
    {
      switch (evt.getKeyID())
      {
        case   8:
          setupText(BACKSPACE_DELETE);
          break;
        case 127:
          setupText(SIMPLE_DELETE);
          break;
      }
    }
  }
  
  label.forceUpdate(true);
  update = true;
}
void Camera::setKeyboardInput(KeyEvent &event, bool active)
{
  switch (event.getKeyID())
  {
    case KEY_W:
    case KEY_UP:
      activeKeys[0] = active;
      break;
    case KEY_S:
    case KEY_DOWN:
      activeKeys[1] = active;
      break;
    case KEY_A:
    case KEY_LEFT:
      activeKeys[2] = active;
      break;
    case KEY_D:
    case KEY_RIGHT:
      activeKeys[3] = active;
      break;
    case KEY_E:
      activeKeys[4] = active;
      break;
    case KEY_Q:
      activeKeys[5] = active;
      break;
    default:
      break;
  }
}