From fc297655b7b84c058985200d4f712e49dba9ac29 Mon Sep 17 00:00:00 2001 From: Wade Brainerd Date: Fri, 21 Nov 2008 18:01:52 +0000 Subject: Fix bug with old lessons still hearing keypresses. Change timer to 1 second. Use Unicode in word wrap regex. --- (limited to 'keyboard.py') diff --git a/keyboard.py b/keyboard.py index 5dc92c3..90b959b 100644 --- a/keyboard.py +++ b/keyboard.py @@ -245,10 +245,19 @@ class Keyboard(gtk.EventBox): self.shift_down = False + # Connect keyboard grabbing and releasing callbacks. + self.connect('realize', self._realize_cb) + self.connect('unrealize', self._unrealize_cb) + + def _realize_cb(self, widget): # Setup keyboard event snooping in the root window. - root_window.add_events(gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK) - root_window.connect('key-press-event', self._key_press_cb) - root_window.connect('key-release-event', self._key_release_cb) + self.root_window.add_events(gtk.gdk.KEY_PRESS_MASK | gtk.gdk.KEY_RELEASE_MASK) + self.key_press_cb_id = self.root_window.connect('key-press-event', self._key_press_cb) + self.key_release_cb_id = self.root_window.connect('key-release-event', self._key_release_cb) + + def _unrealize_cb(self, widget): + self.root_window.disconnect(self.key_press_cb_id) + self.root_window.disconnect(self.key_release_cb_id) def _build_key_list(self, layout): """Builds a list of Keys objects from a layout description. -- cgit v0.9.1