title: Detecting duration of a keypress python/pygame
body: <p>In my program I'd like users to be able to hold down a button. Upon releasing the button I wish to print the duration that they held down the key. I have been trying to use the pygame clock function but have run into some trouble. The program works fine for the first keypress, but on later keypresses records any downtime between keypresses. Any help would be appreciated, here is my code:</p>
  
  <pre><code>import pygame
  from pygame.locals import *
  def main():
      key = 0
      pygame.init()
  
      self = pygame.time.Clock()
  
      surface_sz = 480
  
      main_surface = pygame.display.set_mode((surface_sz, surface_sz))
  
      small_rect = (300, 200, 150, 90)
      some_color = (255, 0, 0)
  
      while True:
          ev = pygame.event.poll()
  
          if ev.type == pygame.QUIT:
              break;
          elif ev.type == KEYUP:
              if ev.key == K_SPACE:       #Sets the key to be used
                  key += 1                #Updates counter for number of keypresses
                  while ev.type == KEYUP:
                      self.tick_busy_loop()
                      test = (self.get_time()/1000.0)
                      print "number: ", key, "duration: ", test 
                      ev = pygame.event.poll()
  
  
  
  main()
  </code></pre>