Utilitaires =========== Répétition simultanée de plusieurs touches clavier -------------------------------------------------- De base, lorsque l'utilisateur appuie sur plusieurs touches clavier à la fois, pygame ne prend en compte que la première touche enfoncée. Dans cette section, nous développons un utilitaire nous permettant de gérer plusieurs touches enfoncées simultanément. Pygame fournit la méthode ``pygame.key.get_pressed()`` qui renvoie l'état de toutes les touches du clavier sous forme d'une liste de booléens. L'indice d'une touche dans cette liste est la "constante de touche" correspondante (définie par pygame, par exemple ``pygame.K_e``), et la valeur correspondante est ``1`` si la touche est enfoncée. De là, il est assez simple "d'injecter", pour chaque touche enfoncée, un nouvel évènement ``pygame.KEYPRESSED`` dans la file d'évènements que votre code lit (``pygame.event.get()``) pour traiter les entrées de utilisateur. Le code ci-dessous permet de créer une ``nouvelleGestionClavier``, d'enregister un délai initial et une période de répétition pour les touches qui vous intéressent (``repeteTouche``). La méthode ``scan`` doit être appelée AVANT de lire la file d'évènements de pygame. Notez bien que l'utilisation de la méthode ``pygame.key.set_repeat`` dans votre programme peut interférer avec le bon fonctionnement de notre utilitaire, et cette méthode ne devrait donc pas être utilisée avec l'utilitaire. .. literalinclude:: ../util/keyboard.py