title: Keypress detection wont work after seemingly unrelated code change
body: <p>I'm trying to have the Enter key cause a new 'map' to generate for my game, but for whatever reason after implementing full-screen in it the input check won't work anymore. I tried removing the new code and only pressing one key at a time, but it still won't work.</p>
  
  <p>Here's the check code and the method it uses, along with the newMap method:</p>
  
  <pre><code>public class Game1 : Microsoft.Xna.Framework.Game
  {
      // ...
  
      protected override void Update(GameTime gameTime)
      {
          // ...
  
          // Check if Enter was pressed - if so, generate a new map
          if (CheckInput(Keys.Enter, 1))
          {
              blocks = newMap(map, blocks, console);
          }
  
          // ...
      }
  
      // Method: Checks if a key is/was pressed
      public bool CheckInput(Keys key, int checkType)
      {
          // Get current keyboard state
          KeyboardState newState = Keyboard.GetState();
          bool retType = false; // Return type
  
          if (checkType == 0)
          {
              // Check Type: Is key currently down?
              retType = newState.IsKeyDown(key);
          }
          else if (checkType == 1)
          {
              // Check Type: Was the key pressed?
              if (newState.IsKeyDown(key))
              {
                  if (!oldState.IsKeyDown(key))
                  {
                      // Key was just pressed
                      retType = true;
                  }
                  else
                  {
                      // Key was already pressed, return false
                      retType = false;
                  }
              }
          }
  
          // Save keyboard state
          oldState = newState;
  
          // Return result
          return retType;
      }
  
      // Method: Generate a new map
      public List&lt;Block&gt; newMap(Map map, List&lt;Block&gt; blockList, Console console)
      {
          // Create new map block coordinates
          List&lt;Vector2&gt; positions = new List&lt;Vector2&gt;();
          positions = map.generateMap(console);
  
          // Clear list and reallocate memory previously used up by it
          blockList.Clear();
          blockList.TrimExcess();
  
          // Add new blocks to the list using positions created by generateMap()
          foreach (Vector2 pos in positions)
          {
              blockList.Add(new Block() { Position = pos, Texture = dirtTex });
          }
  
          // Return modified list
          return blockList;
      }
  
      // ...
  }
  </code></pre>
  
  <p>I never touched any of the above code for this when it broke - changing keys won't seem to fix it. Despite this, I have camera movement set inside another Game1 method that uses WASD and works perfectly. All I did was add a few lines of code here:</p>
  
  <pre><code>private int BackBufferWidth = 1280; // Added these variables
  private int BackBufferHeight = 800;
  
  public Game1()
  {
      graphics = new GraphicsDeviceManager(this);
      graphics.PreferredBackBufferWidth = BackBufferWidth; // and this
      graphics.PreferredBackBufferHeight = BackBufferHeight; // this
      Content.RootDirectory = "Content";
  
      this.graphics.IsFullScreen = true; // and this
  }
  </code></pre>
  
  <p>When I try adding text to be displayed in the event the key is pressed, it seems that the If is never even triggered despite the correct key being pressed.</p>
  
  <p>It seems that when the CheckInput method attempts to check for 'Enter' having just been pressed, it passes the first check <code>if (newState.IsKeyDown(key))</code> (which returns true) but fails the second <code>if (!oldState.IsKeyDown(key))</code> check. (and returns true, but shouldn't)</p>