textinput works now except for the nextCharacter-thing
[enigma2.git] / lib / python / Tools / NumericalTextInput.py
index d867d74eb0cff2a97999027b0db1d2f5234e2fe2..260f80b4217d38e2024245b4a1ab759c42ea1764 100644 (file)
@@ -2,29 +2,46 @@ from enigma import *
 
 class NumericalTextInput:
     mapping = []
 
 class NumericalTextInput:
     mapping = []
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 0
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 1
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 2
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 3
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 4
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 5
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 6
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 7
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 8
-    mapping.append (('a', 'b', 'c', 'A', 'B', 'C')) # 9
+    mapping.append ("abcABC") # 0
+    mapping.append ("abcABC") # 1
+    mapping.append ("abcABC") # 2
+    mapping.append ("defDEF") # 3
+    mapping.append ("ghiGHI") # 4
+    mapping.append ("jklJKL") # 5
+    mapping.append ("mnoMNO") # 6
+    mapping.append ("pqrsPQRS") # 7
+    mapping.append ("tuvTUV") # 8
+    mapping.append ("wxyzWXYZ") # 9
+
+
     
                                 
     def __init__(self, nextFunction):
         self.nextFunction = nextFunction
         self.Timer = eTimer()
         self.Timer.timeout.get().append(self.nextChar)
     
                                 
     def __init__(self, nextFunction):
         self.nextFunction = nextFunction
         self.Timer = eTimer()
         self.Timer.timeout.get().append(self.nextChar)
+        self.lastKey = -1
+        self.pos = 0
     
     def getKey(self, num):
     
     def getKey(self, num):
+        self.Timer.stop()
         self.Timer.start(1000)
         self.Timer.start(1000)
-        return self.mapping[num][0]
+        if (self.lastKey != num):
+            self.lastKey = num
+            self.pos = 0
+        else:
+            self.pos += 1
+            if (len(self.mapping[num]) <= self.pos):
+                self.pos = 0
+        return self.mapping[num][self.pos]
+    
+    def nextKey(self):
+        self.Timer.stop()
+        self.lastKey = -1
     
     def nextChar(self):
         self.Timer.stop()
         print "Timer done"
     
     def nextChar(self):
         self.Timer.stop()
         print "Timer done"
+        self.nextKey()
         self.nextFunction()
         
\ No newline at end of file
         self.nextFunction()
         
\ No newline at end of file