public void Update() { currentState = Keyboard.GetState(); switch (Mode) { case InputMode.Setup: frmSettings.ProcessKey(currentState); break; case InputMode.Chat: Delegate d; if (InputModeDelegates.TryGetValue(Mode, out d)) { ((ChatDelegate)d)(GetPressedKeysWithShift(lastState, currentState)); } break; case InputMode.Mapped: if (keyMap != null) { keyMap.Check(lastState, currentState); } break; } lastState = currentState; }