import string,sys,os,time import gtk from gtk import GDK from gtk import FALSE,TRUE import os __author__ = "Brian Hone" __email__ = "bhone@eink.com" __version__ = "0.1" __date__ = "March 23, 2002" class stuffToDo: def __init__(self): """ Initialize our stuffToDo class. Open a file to write to """ self.fileHandle = open("/tmp/foo", "w") def writeStuff(self,inString): """ write stuff to our file """ self.fileHandle.write(inString) class MainThing: def __init__(self): """ This starts our main loop """ self.win = gtk.GtkWindow() self.win.connect("delete_event", gtk.mainquit) # this connects key preses to a method self.win.connect("key_press_event", self.event_callback) self.win.show() self.myStuff = stuffToDo() # This sends us through our loop gtk.timeout_add(self.timeout, self.main_callback) def event_callback(self,widget, event=None): """ Here we catch button presses and send them to keyval_callback """ if event.type == GDK.BUTTON_PRESS: pass elif event.type == GDK.KEY_PRESS: self.keyval_callback(event) return TRUE return FALSE def keyval_callback(self, event): """ Here we take actions based on what keyvals we catch """ if event.keyval == 269025056: self.myStuff.writeStuff("Button 1: %s" % event.keyval) elif event.keyval == 2809: self.myStuff.writeStuff("Button 2: %s" % event.keyval) elif keyval == 269025049: self.myStuff.writeStuff("Button 3: %s" % event.keyval) elif event.keyval == 269025050: self.myStuff.writeStuff("Button 4: %s" % event.keyval) else: self.myStuff.writeStuff("Other: %s" % event.keyval) def main_callback(self): """ Here we keep the loop going """ gtk.timeout_add(self.timeout, self.main_callback) if __name__=="__main__": a = MainThing() gtk.mainloop()