Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/009-gtk-capture-keys/example.py
blob: c451161cfba2852fd37d06820dcd7161130e4873 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/python
import gtk


class MyApp():

    def __init__(self):
        window = gtk.Window()
        window.set_title('Grabbing keys example.')

        label = gtk.Label()
        label.set_text('Press any key.')

        window.connect('destroy', self.destroy)
        window.connect('key-press-event', self.__key_press_cb, label)

        window.add(label)

        window.show()
        label.show()

    def destroy(self, window, event=None):
        gtk.main_quit()

    def __key_press_cb(self, window, event, label):
        key_name = gtk.gdk.keyval_name(event.keyval)
        label.set_text(key_name)


if __name__ == "__main__":
    my_app = MyApp()
    gtk.main()