#Test event injection import gtk import gobject import time import types class ClickMaster(): def __init__(self): self.event = None def connect(self, button): self.id = button.connect("pressed",self.capture_event) self.id2 = button.connect("released",self.capture_event2) self.id3 = button.connect("clicked",self.capture_event3) self.button = button def capture_event(self, *args): print "Capture Event" print args self.eventPress = args[-1] return False def capture_event2(self, *args): print "Capture Release" print args self.eventReleased = args[-1] return False def capture_event3(self, *args): print "Capture Clicked" print args self.eventClicked = args[-1] return False def inject_event(self): print "Injecting" print self.event #self.event.put() self.button.emit("button_press_event", self.event) def print_Event(event): for att in dir(event): if not isinstance(att, types.MethodType): print att, getattr(event, att) if __name__=='__main__': w = gtk.Window() b = gtk.CheckButton("Auto toggle!") c=ClickMaster() w.add(b) b.show() c.connect(b) w.show() gtk.main()