Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lessonscreen.py
diff options
context:
space:
mode:
authorLive System User <liveuser@localhost.localdomain>2009-02-26 03:02:54 (GMT)
committer Live System User <liveuser@localhost.localdomain>2009-02-26 03:02:54 (GMT)
commitc6619e0bec3cb53fdb42f35cb26b24fbbb2cdfce (patch)
tree762e3a3b66f78ccdbd067342c86e51e6dc62cfc4 /lessonscreen.py
parenta22a4dc9a9a486d762e7cae08e7f1439ed123135 (diff)
Fix beeps when typing under SoaS.
Diffstat (limited to 'lessonscreen.py')
-rw-r--r--lessonscreen.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/lessonscreen.py b/lessonscreen.py
index 2f222ad..33b15eb 100644
--- a/lessonscreen.py
+++ b/lessonscreen.py
@@ -140,22 +140,15 @@ class LessonScreen(gtk.VBox):
self.timer_id = None
self.begin_lesson()
-
- # Used to suppress warning beeps on keypresses.
- def keynav_failed_cb(self, widget, dir):
- print "keynav failed"
- return False
def realize_cb(self, widget):
self.activity.add_events(gtk.gdk.KEY_PRESS_MASK|gtk.gdk.KEY_RELEASE_MASK)
self.key_press_cb_id = self.activity.connect('key-press-event', self.key_cb)
self.key_release_cb_id = self.activity.connect('key-release-event', self.key_cb)
- self.keynav_failed_cb_id = self.activity.connect('keynav-failed', self.keynav_failed_cb)
def unrealize_cb(self, widget):
self.activity.disconnect(self.key_press_cb_id)
self.activity.disconnect(self.key_release_cb_id)
- self.activity.disconnect(self.keynav_failed_cb_id)
def start_timer(self):
self.start_time = time.time()
@@ -352,15 +345,18 @@ class LessonScreen(gtk.VBox):
self.hilite_next_key()
def key_cb(self, widget, event):
+ # Pass events on to the keyboard.
+ self.keyboard.key_press_release_cb(widget, event)
+
# Ignore either press or release events, depending on mode.
if self.mode == 'key' and event.type == gtk.gdk.KEY_PRESS:
- return False
+ return True
if self.mode != 'key' and event.type == gtk.gdk.KEY_RELEASE:
- return False
+ return True
# Ignore hotkeys.
if event.state & (gtk.gdk.CONTROL_MASK | gtk.gdk.MOD1_MASK):
- return False
+ return True
# Extract information about the key pressed.
key = gtk.gdk.keyval_to_unicode(event.keyval)
@@ -448,13 +444,13 @@ class LessonScreen(gtk.VBox):
self.advance_step()
else:
self.begin_line()
- return False
+ return True
self.update_stats()
self.hilite_next_key()
- return False
+ return True
def hilite_next_key(self):
if not self.line: