title: Pygame: key.get_pressed() does not coincide with the event queue
body: <p>I'm attempting to work out simple controls for an application using pygame in Python. I have got the basics working, but I'm hitting a weird wall: I am using the arrow keys to control my character. If I hold down one arrow key, then hold down another arrow key (to move diagonally), the character moves as expected. However, if I release the <em>second</em> key that I pressed (while still holding down the <em>first</em> key), the character stops moving, even though I am still holding down that first key. Here is my simple movement code:</p>
  
  <pre><code>for event in pygame.event.get():
      if event.type == QUIT:
          pygame.quit()
          sys.exit()
      elif event.type == KEYDOWN:
          if pygame.key.get_pressed()[K_LEFT]:
              player.pos = (player.pos[0] - 2, player.pos[1])
          if pygame.key.get_pressed()[K_RIGHT]:
              player.pos = (player.pos[0] + 2, player.pos[1])
          if pygame.key.get_pressed()[K_UP]:
              player.pos = (player.pos[0], player.pos[1] - 2)
          if pygame.key.get_pressed()[K_DOWN]:
              player.pos = (player.pos[0], player.pos[1] + 2)
  </code></pre>
  
  <p>Now, I was naturally very confused by this. So I tried to print some lines to debug. In the top of the main control loop, I wrote:</p>
  
  <pre><code>print (pygame.key.get_pressed()[K_DOWN], pygame.key.get_pressed()[K_RIGHT])
  print pygame.event.get()
  </code></pre>
  
  <p>...to output a tuple displaying the state of the down and right arrow keys, and then display the pygame event queue. My results baffled me even more. If I move the character diagonally down and right, pressing the down key first and then the right key, <em>then</em> release the right key to make it move simply downward, the character stops moving as before... but this is printed to the shell:</p>
  
  <pre><code>(1, 0)
  []
  </code></pre>
  
  <p>That is, when I <em>release</em> the right arrow key and still hold down the down arrow key, pygame.key.get_pressed() understands that the down arrow key is still being held down, but there is nothing in the event queue.</p>
  
  <p>Also, earlier in the code (before the control loop) I am invoking </p>
  
  <pre><code>pygame.key.set_repeat(1, 2)
  </code></pre>
  
  <p>to make the character continue to move while the key is held down.</p>
  
  <p>Any help will be appreciated! Thanks :)    </p>