import libtcodpy as tc class EventHandler(object): def __init__(self): self.key = tc.Key() self.mouse = tc.Mouse() self.cbs = {} def register(self, event, cb): self.cbs.setdefault(event,[]).append(cb) def tick(self): tc.sys_check_for_event(tc.EVENT_KEY_PRESS|tc.EVENT_MOUSE|tc.KEY_PRESSED, self.key, self.mouse ) alt, shift, ctrl = self.key.lalt|self.key.ralt, self.key.shift, self.key.lctrl|self.key.rctrl char = chr(self.key.c) if char != '\x00' and char in self.cbs: for cb in self.cbs[char]: cb(alt,shift,ctrl) elif self.key.vk in self.cbs: for cb in self.cbs[self.key.vk]: cb(alt,shift,ctrl)