private Keyboard.Keys GetKeyForHorizontalPosition() { if (isConnectedToLeftPlug) { switch (currentHorizontalPosition) { case JoystickHorizontalPosition.Left: return(Keyboard.Keys.Num1); case JoystickHorizontalPosition.Right: return(Keyboard.Keys.Num2); } } else { switch (currentHorizontalPosition) { case JoystickHorizontalPosition.Left: return(Keyboard.Keys.Num6); case JoystickHorizontalPosition.Right: return(Keyboard.Keys.Num7); } } throw new ArgumentOutOfRangeException(currentHorizontalPosition.ToString()); }