aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Keyboard.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-05-10 14:04:45 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-05-10 14:04:45 +0200
commit946fb003e4be2e1485308d7fc5bb7274732751a3 (patch)
tree8cc44adc5dc7a7885632c410925e4e6d6c7d332d /lib/python/Components/Keyboard.py
parenta012dfc95def3f4043f5b0bb319f1f4073592543 (diff)
parentd245191dd27ad9884c33ad3a76992dc6c4e8f33b (diff)
downloadenigma2-946fb003e4be2e1485308d7fc5bb7274732751a3.tar.gz
enigma2-946fb003e4be2e1485308d7fc5bb7274732751a3.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
Diffstat (limited to 'lib/python/Components/Keyboard.py')
-rwxr-xr-xlib/python/Components/Keyboard.py47
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()