Add level modifiers in JSON
This is needed because some layouts don't have an uppercase level. That shouldn't make symbols the 2nd level.
This commit is contained in:
10
cldr2json.py
10
cldr2json.py
@@ -97,19 +97,21 @@ def convert_xml(tree):
|
||||
root["levels"] = []
|
||||
# parse levels
|
||||
for index, keymap in enumerate(tree.iter('keyMap')):
|
||||
level = {}
|
||||
root["levels"].append(level)
|
||||
level["level"] = index + 1
|
||||
# FIXME: heuristics here
|
||||
modifiers = keymap.get('modifiers')
|
||||
if not modifiers:
|
||||
mode = 'default'
|
||||
elif 'shift' in modifiers.split(' ') or 'lock' in modifiers.split(' '):
|
||||
modifiers = ''
|
||||
elif 'shift' in modifiers.split(' '):
|
||||
mode = 'latched'
|
||||
modifiers = 'shift'
|
||||
else:
|
||||
mode = 'locked'
|
||||
level = {}
|
||||
level["level"] = modifiers
|
||||
level["mode"] = mode
|
||||
level["rows"] = parse_rows(keymap)
|
||||
root["levels"].append(level)
|
||||
return root
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user