}, -2)
self.onLayoutFinish.append(self.buildVirtualKeyBoard)
+
+ self.max_key=47+len(self.keys_list[4])
def buildVirtualKeyBoard(self, selectedKey=0):
list = []
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":
elif self.selectedKey == 35:
self.selectedKey = 47
elif self.selectedKey == 47:
- self.selectedKey = 59
+ self.selectedKey = self.max_key
self.showActiveKey()
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()
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()