class QwertyKeyboardView(gtk.DrawingArea): def __init__(self): gtk.DrawingArea.__init__(self) # setup for expose events (drawing) self.connect("expose_event", self.expose) self.set_flags(self.flags() | gtk.CAN_FOCUS) # track the mouse self.connect("motion_notify_event", self.motion_notify_event) self.connect("button_press_event", self.button_press_event) self.connect("button_release_event", self.button_release_event) self.connect("key_press_event", self.keyPress) self.connect("enter_notify_event", lambda b, e: b.grab_focus() and True) self.mouseDown = False self.transpose = 12 self.set_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_MASK # | gtk.gdk.POINTER_MOTION_HINT_MASK | gtk.gdk.BUTTON_RELEASE_MASK | gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK )