1 # -*- coding: iso-8859-1 -*-
2 from enigma import eTimer
3 from Components.Language import language
5 class NumericalTextInput:
6 def __init__(self, nextFunc=None, handleTimeout = True):
8 self.lang = language.getLanguage()
10 self.nextFunction=nextFunc
12 if self.lang == 'de_DE':
13 self.mapping.append (u".,?'\"0-()@/:_") # 0
14 self.mapping.append (u" 1") # 1
15 self.mapping.append (u"aäbc2AÄBC") # 2
16 self.mapping.append (u"def3DEF") # 3
17 self.mapping.append (u"ghi4GHI") # 4
18 self.mapping.append (u"jkl5JKL") # 5
19 self.mapping.append (u"mnoö6MNOÖ") # 6
20 self.mapping.append (u"pqrsß7PQRSß") # 7
21 self.mapping.append (u"tuüv8TUÜV") # 8
22 self.mapping.append (u"wxyz9WXYZ") # 9
23 elif self.lang == 'es_ES':
24 self.mapping.append (u".,?'\"0-()@/:_") # 0
25 self.mapping.append (u" 1") # 1
26 self.mapping.append (u"abcáà2ABCÁÀ") # 2
27 self.mapping.append (u"deéèf3DEFÉÈ") # 3
28 self.mapping.append (u"ghiíì4GHIÍÌ") # 4
29 self.mapping.append (u"jkl5JKL") # 5
30 self.mapping.append (u"mnñoóò6MNÑOÓÒ") # 6
31 self.mapping.append (u"pqrs7PQRS") # 7
32 self.mapping.append (u"tuvúù8TUVÚÙ") # 8
33 self.mapping.append (u"wxyz9WXYZ") # 9
35 self.mapping.append (u".,?'\"0-()@/:_") # 0
36 self.mapping.append (u" 1") # 1
37 self.mapping.append (u"abc2ABC") # 2
38 self.mapping.append (u"def3DEF") # 3
39 self.mapping.append (u"ghi4GHI") # 4
40 self.mapping.append (u"jkl5JKL") # 5
41 self.mapping.append (u"mno6MNO") # 6
42 self.mapping.append (u"pqrs7PQRS") # 7
43 self.mapping.append (u"tuv8TUV") # 8
44 self.mapping.append (u"wxyz9WXYZ") # 9
48 self.timer.timeout.get().append(self.timeout)
54 def setUseableChars(self, useable):
55 self.useableChars = useable
57 def getKey(self, num):
59 if self.timer is not None:
60 self.timer.start(1000, True)
61 if self.lastKey != num:
66 if len(self.mapping[num]) <= self.pos:
69 pos = self.useableChars.find(self.mapping[num][self.pos])
72 if cnt < len(self.mapping[num]):
77 return self.mapping[num][self.pos]
80 if self.timer is not None: