X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bce53d4a67d1655a496eebe5912c8573e880114e..0cb206d2c07cb9e4130e13234e3fd59b127421a8:/lib/python/Screens/VirtualKeyBoard.py diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index 9b676a5f..19500ed7 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -157,6 +157,8 @@ class VirtualKeyBoard(Screen): }, -2) self.onLayoutFinish.append(self.buildVirtualKeyBoard) + + self.max_key=47+len(self.keys_list[4]) def buildVirtualKeyBoard(self, selectedKey=0): list = [] @@ -193,13 +195,19 @@ class VirtualKeyBoard(Screen): selectedKey = self.selectedKey + text = None + for x in list: if selectedKey < 12: - text = x[selectedKey] + if selectedKey < len(x): + text = x[selectedKey] break else: selectedKey -= 12 + if text is None: + return + text = text.encode("utf-8") if text == "EXIT": @@ -251,7 +259,7 @@ class VirtualKeyBoard(Screen): elif self.selectedKey == 35: self.selectedKey = 47 elif self.selectedKey == 47: - self.selectedKey = 59 + self.selectedKey = self.max_key self.showActiveKey() @@ -266,7 +274,7 @@ class VirtualKeyBoard(Screen): self.selectedKey = 24 elif self.selectedKey == 48: self.selectedKey = 36 - elif self.selectedKey == 60: + elif self.selectedKey > self.max_key: self.selectedKey = 48 self.showActiveKey() @@ -274,16 +282,20 @@ class VirtualKeyBoard(Screen): def up(self): self.selectedKey -= 12 - if self.selectedKey < 0: - self.selectedKey += 60 + if (self.selectedKey < 0) and (self.selectedKey > (self.max_key-60)): + self.selectedKey += 48 + elif self.selectedKey < 0: + self.selectedKey += 60 self.showActiveKey() def down(self): self.selectedKey += 12 - if self.selectedKey > 59: + if (self.selectedKey > self.max_key) and (self.selectedKey > 59): self.selectedKey -= 60 + elif self.selectedKey > self.max_key: + self.selectedKey -= 48 self.showActiveKey()