X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FVirtualKeyBoard.py;h=36d8e7c3f2a81058c0d4a0a3df0f42134d7a0c2a;hp=c0d0c10f933054920e30bdd142992bebbff80bd3;hb=HEAD;hpb=fc1dd11742a464ade58d161b25e9cf59f6998634 diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index c0d0c10..36d8e7c 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -10,12 +10,14 @@ from Components.MenuList import MenuList from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN from Tools.LoadPixmap import LoadPixmap +import skin class VirtualKeyBoardList(MenuList): def __init__(self, list, enableWrapAround=False): MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent) - self.l.setFont(0, gFont("Regular", 28)) - self.l.setItemHeight(45) + font = skin.fonts.get("VirtualKeyboard", ("Regular", 28, 45)) + self.l.setFont(0, gFont(font[0], font[1])) + self.l.setItemHeight(font[2]) def VirtualKeyBoardEntryComponent(keys, selectedKey,shiftMode=False): key_backspace = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_backspace.png")) @@ -212,13 +214,13 @@ class VirtualKeyBoard(Screen): self.keys_list = [ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"], [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"+", u"@"], - [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"#", u"\\"], + [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"#", u"\\", u"|"], [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"], [u"SHIFT", u"SPACE", u"OK"]] self.shiftkeys_list = [ [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"], - [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"*"], - [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"'", u"?"], + [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"*", u"["], + [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"'", u"?", u"]"], [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"], [u"SHIFT", u"SPACE", u"OK"]] self.lang = 'en_EN' @@ -232,26 +234,28 @@ class VirtualKeyBoard(Screen): if self.shiftMode: self.k_list = self.shiftkeys_list for keys in self.k_list: - if selectedKey < 12 and selectedKey > -1: + keyslen = len(keys) + if selectedKey < keyslen and selectedKey > -1: list.append(VirtualKeyBoardEntryComponent(keys, selectedKey,True)) else: list.append(VirtualKeyBoardEntryComponent(keys, -1,True)) - selectedKey -= 12 + selectedKey -= keyslen else: self.k_list = self.keys_list for keys in self.k_list: - if selectedKey < 12 and selectedKey > -1: + keyslen = len(keys) + if selectedKey < keyslen and selectedKey > -1: list.append(VirtualKeyBoardEntryComponent(keys, selectedKey)) else: list.append(VirtualKeyBoardEntryComponent(keys, -1)) - selectedKey -= 12 + selectedKey -= keyslen self["list"].setList(list) def backClicked(self): self.text = self["text"].getText()[:-1] self["text"].setText(self.text) - + def okClicked(self): if self.shiftMode: list = self.shiftkeys_list @@ -263,12 +267,13 @@ class VirtualKeyBoard(Screen): text = None for x in list: - if selectedKey < 12: + xlen = len(x) + if selectedKey < xlen: if selectedKey < len(x): text = x[selectedKey] break else: - selectedKey -= 12 + selectedKey -= xlen if text is None: return @@ -375,7 +380,11 @@ class VirtualKeyBoard(Screen): return False def keyGotAscii(self): - char = str(unichr(getPrevAsciiCode()).encode('utf-8')) + #char = str(unichr(getPrevAsciiCode()).encode('utf-8')) + from Components.config import getCharValue + char = getCharValue(getPrevAsciiCode()) + if len(str(char)) == 1: + char = char.encode("utf-8") if self.inShiftKeyList(char): self.shiftMode = True list = self.shiftkeys_list @@ -383,6 +392,9 @@ class VirtualKeyBoard(Screen): self.shiftMode = False list = self.keys_list + if char == " ": + char = "SPACE" + selkey = 0 for keylist in list: for key in keylist: