Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lessonscreen.py
diff options
context:
space:
mode:
authorWade Brainerd <wadetb@gmail.com>2009-11-19 00:58:04 (GMT)
committer Wade Brainerd <wadetb@gmail.com>2009-11-19 00:58:04 (GMT)
commit49ca80749aa0a5a23595cdb67105ca700e4bd2f4 (patch)
treeeac87616c1e3b6e725c356b19e0f4f32e998a2df /lessonscreen.py
parent0333a2bb7b1711641739a155c6131e6c4113a7e6 (diff)
Use GDK as a fallback when a custom keymap is not present. Also display a reasonable error when a key is not understood.
Diffstat (limited to 'lessonscreen.py')
-rw-r--r--lessonscreen.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/lessonscreen.py b/lessonscreen.py
index 58a3946..e7d66e7 100644
--- a/lessonscreen.py
+++ b/lessonscreen.py
@@ -135,7 +135,7 @@ class LessonScreen(gtk.VBox):
try:
self.keyboard.load_letter_map('lessons/%s.key' % code)
except:
- self.keyboard.load_letter_map('lessons/en_US.key')
+ pass
self.keyboard.set_layout(keyboard.OLPC_LAYOUT)
@@ -536,7 +536,12 @@ class LessonScreen(gtk.VBox):
pixbuf = self.keyboard.get_key_pixbuf(key, state, group, 1)
self.lessonbuffer.insert_pixbuf(self.lessonbuffer.get_end_iter(), pixbuf)
-
+
+ else: # No key found in the keymap.
+ instructions = _("Uh oh! Your keyboard cannot type the letter '%s'.\n") % char
+ instructions += _("Please change your keyboard settings and try this lesson again.")
+ self.lessonbuffer.insert(self.lessonbuffer.get_end_iter(), instructions + '\n\n')
+
self.lessonbuffer.apply_tag_by_name('image',
self.lessonbuffer.get_iter_at_mark(self.line_marks[0]),
self.lessonbuffer.get_end_iter())