2009-08-14 15 views
3

Je voulais savoir comment détecter quand deux touches sont pressées simultanément en utilisant pyglet. J'ai actuellementdétecter deux touches simultanées dans pyglet (python)

 
def on_text_motion(self, motion): 
    (dx,dy) = ARROW_KEY_TO_VERSOR[motion] 
    self.window.move_dx_dy((dx,dy)) 

Mais ce ne reçoit que les touches fléchées un à la fois ... Je voudrais faire la distinction entre la combinaison UP + GAUCHE et UP, puis à gauche ...

espère que je me suis fait clair Manu

+0

Est-ce que vous obtenez la clé jusqu'à, ke Y vers le bas des notifications? Si oui, vous avez les informations nécessaires. Sinon, vous devez obtenir cette information en quelque sorte. (Ensuite, vous pouvez distinguer UP_DOWN, LEFT_DOWN, UP_UP, LEFT_UP (UP/LEFT pressé simultanément) et UP_DOWN, UP_UP, LEFT_DOWN, LEFT_UP (UP appuyé, puis GAUCHE enfoncé). – jrockway

Répondre

4

Essayez pyglet.window.key.KeyStateHandler:

import pyglet 

key = pyglet.window.key 

win = pyglet.window.Window() 
keyboard = key.KeyStateHandler() 
win.push_handlers(keyboard) 

print keyboard[key.UP] and keyboard[key.LEFT]