diff options
author | Wade Brainerd <wadetb@gmail.com> | 2008-11-11 22:20:53 (GMT) |
---|---|---|
committer | Wade Brainerd <wadetb@gmail.com> | 2008-11-11 22:20:53 (GMT) |
commit | 777fceb60edd521dc4e1c976d77ec60f9f48a18c (patch) | |
tree | 34663278fc01728037707727fe970d52db2d1723 /typingturtle.py | |
parent | 61535bcc8d8a73e527a3ff1ff2aac3eae8b56ae9 (diff) |
Keyboard improvements.
Diffstat (limited to 'typingturtle.py')
-rwxr-xr-x | typingturtle.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/typingturtle.py b/typingturtle.py index ab9a0c7..a244de9 100755 --- a/typingturtle.py +++ b/typingturtle.py @@ -134,7 +134,7 @@ class LessonScreen(gtk.VBox): frame = gtk.Frame() frame.add(self.lessonscroll) - self.keyboard = keyboard.Keyboard() + self.keyboard = keyboard.Keyboard(self.activity) self.keyboard.set_layout(keyboard.DEFAULT_LAYOUT) activity.add_events(gtk.gdk.KEY_PRESS_MASK) @@ -202,6 +202,7 @@ class LessonScreen(gtk.VBox): self.add_text('<span font_family="monospace">' + self.step['text'] + '</span>\n') self.char_idx = 0 + self.hilite_next_key() else: self.finish_lesson() @@ -284,11 +285,17 @@ class LessonScreen(gtk.VBox): self.add_text('<span font_family="monospace">' + chr(event.keyval) + '</span>') + self.keyboard.clear_hilite() + self.keyboard.queue_draw() + self.char_idx += 1 if self.char_idx >= len(self.step['text']): self.add_text('\n\n') self.advance_step() + else: + self.hilite_next_key() + else: # TODO - Play 'incorrect key' sound here. @@ -299,6 +306,10 @@ class LessonScreen(gtk.VBox): return False + def hilite_next_key(self): + key = self.keyboard.find_key_by_letter(self.step['text'][self.char_idx]) + key.set_hilite(True) + def stop_cb(self, widget): self.activity.pop_screen() |