Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lessonbuilder.py
diff options
context:
space:
mode:
authorWade Brainerd <wadetb@gmail.com>2008-12-31 22:05:37 (GMT)
committer Wade Brainerd <wadetb@gmail.com>2008-12-31 22:05:37 (GMT)
commitb6204b0afe9ba2b3bc6351705409648406351c7b (patch)
tree6e237de8fe0f709375e02edf10556735025e7d8d /lessonbuilder.py
parentcc20790707b816f860a4cb49afa2e6a692e1c5f5 (diff)
Progress towards release.
Diffstat (limited to 'lessonbuilder.py')
-rw-r--r--lessonbuilder.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/lessonbuilder.py b/lessonbuilder.py
index 983cfa6..a25507c 100644
--- a/lessonbuilder.py
+++ b/lessonbuilder.py
@@ -19,6 +19,9 @@
import os, sys, random, json, locale, re
from gettext import gettext as _
+# For modifier constants.
+import gtk
+
# Set up remote debugging.
#import dbgp.client
#dbgp.client.brkOnExcept(host='192.168.1.104', port=12900)
@@ -314,12 +317,33 @@ def build_lesson(
% { 'name': name, 'keynames': keynames },
'key', '\n')
- for key in new_keys:
- k = kb.find_key_by_letter(key)
- add_step(lesson,
- _('Press the %(name)s key using your %(finger)s finger.') \
- % { 'name': key, 'finger': FINGERS[k['key-finger']] },
- 'key', key)
+ for letter in new_keys:
+ key, state, group = kb.get_key_state_group_for_letter(letter)
+
+ finger = FINGERS[key['key-finger']]
+
+ if state == gtk.gdk.SHIFT_MASK:
+ # Choose the finger to press the SHIFT key with.
+ if key['key-finger'][0] == 'R':
+ shift_finger = FINGERS['LP']
+ else:
+ shift_finger = FINGERS['RP']
+
+ instructions = _('Press and hold the SHIFT key with your %(finger)s finger, ') % { 'finger': shift_finger }
+ instructions += _('then press the %(letter)s key with your %(finger)s finger.') % { 'letter': letter, 'finger': finger }
+
+ elif state == gtk.gdk.MOD5_MASK:
+ instructions = _('Press and hold the ALTGR key, ')
+ instructions += _('then press the %(letter)s key with your %(finger)s finger.') % { 'letter': letter, 'finger': finger }
+
+ elif state == gtk.gdk.SHIFT_MASK | gtk.gdk.MOD5_MASK:
+ instructions = _('Press and hold the ALTGR and SHIFT keys, ')
+ instructions += _('then press the %(letter)s key with your %(finger)s finger.') % { 'letter': letter, 'finger': finger }
+
+ else:
+ instructions = _('Press the %(letter)s key with your %(finger)s finger.') % { 'letter': letter, 'finger': finger }
+
+ add_step(lesson, instructions, 'key', letter)
add_step(lesson,
_('Practice typing the keys you just learned.'),