diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-07 08:17:59 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-07 08:17:59 +0200 |
| commit | 01261afa97d904fa9b2564aedabe1363d87ff186 (patch) | |
| tree | 988e90379c7e2198bd62a249b7cf18c099680358 /lib/python/Components/Keyboard.py | |
| parent | 2485162921817162f75d6e4fa14c700f501512ab (diff) | |
| parent | 8d3e9193ba0ddaa819db9c6a0447eca74a8328a3 (diff) | |
| download | enigma2-01261afa97d904fa9b2564aedabe1363d87ff186.tar.gz enigma2-01261afa97d904fa9b2564aedabe1363d87ff186.zip | |
Merge branch 'master' of git://git.opendreambox.org/git/acidburn/enigma2-master
Diffstat (limited to 'lib/python/Components/Keyboard.py')
| -rwxr-xr-x | lib/python/Components/Keyboard.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/python/Components/Keyboard.py b/lib/python/Components/Keyboard.py new file mode 100755 index 00000000..820d1036 --- /dev/null +++ b/lib/python/Components/Keyboard.py @@ -0,0 +1,47 @@ +from Components.Console import Console +from os import listdir as os_listdir, path as os_path +from re import compile as re_compile + +class Keyboard: + def __init__(self): + self.keyboardmaps = [] + self.readKeyboardMapFiles() + + def readKeyboardMapFiles(self): + for keymapfile in os_listdir('/usr/share/keymaps/'): + if (keymapfile.endswith(".info")): + f = open('/usr/share/keymaps/' + keymapfile) + mapfile = None + mapname = None + for line in f: + m = re_compile('^\s*(\w+)\s*=\s*(.*)\s*$').match(line) + if m: + key, val = m.groups() + if key == 'kmap': + mapfile = val + if key == 'name': + mapname = val + if (mapfile is not None) and (mapname is not None): + self.keyboardmaps.append(( mapfile,mapname)) + f.close() + + if len(self.keyboardmaps) == 0: + self.keyboardmaps = [('dream-de.kmap', 'Dreambox Keyboard Deutsch'), ('eng.kmap', 'Keyboard English')] + + def activateKeyboardMap(self, index): + try: + keymap = self.keyboardmaps[index] + print "Activating keymap:",keymap[1] + keymappath = '/usr/share/keymaps/' + keymap[0] + if os_path.exists(keymappath): + Console().ePopen(("loadkmap < " + str(keymappath))) + except: + print "Selected keymap does not exist!" + + def getKeyboardMaplist(self): + return self.keyboardmaps + + def getDefaultKeyboardMap(self): + return 'eng.kmap' + +keyboard = Keyboard() |
