Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/typingturtle.py
diff options
context:
space:
mode:
authorWade Brainerd <wadetb@gmail.com>2008-11-11 22:20:53 (GMT)
committer Wade Brainerd <wadetb@gmail.com>2008-11-11 22:20:53 (GMT)
commit777fceb60edd521dc4e1c976d77ec60f9f48a18c (patch)
tree34663278fc01728037707727fe970d52db2d1723 /typingturtle.py
parent61535bcc8d8a73e527a3ff1ff2aac3eae8b56ae9 (diff)
Keyboard improvements.
Diffstat (limited to 'typingturtle.py')
-rwxr-xr-xtypingturtle.py13
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()