if self.allmarked:
self.deleteAllChars()
self.allmarked = False
- self.insertChar(unichr(code), self.currPos, False, False);
+ #self.insertChar(unichr(code), self.currPos, False, False);
+ from Components.config import getCharValue
+ newcode = getCharValue(code)
+ if newcode is None:
+ return
+ self.insertChar(newcode, self.currPos, False, False);
self.innerright()
self.update()
else:
self["text"] = Input(text, maxSize=False, visible_width = 55, type=Input.TEXT)
- self["actions"] = NumberActionMap(["WizardActions", "InputActions", "TextEntryActions", "KeyboardInputActions","ShortcutActions"],
+ self["actions"] = NumberActionMap(["WizardActions", "InputActions", "TextEntryActions", "KeyboardInputActions","ShortcutActions", "InputAsciiActions"],
{
+ "gotAsciiCode": self.gotAsciiCode,
"ok": self.go,
"back": self.close,
"red": self.close,
self.onLayoutFinish.append(self.layoutFinished)
+ def gotAsciiCode(self):
+ self["text"].handleAscii(getPrevAsciiCode())
+
def layoutFinished(self):
self.setWindowTitle()
self["text"].right()
self.setNextIdx(keyvalue[0])
def keyGotAscii(self):
- keyvalue = unichr(getPrevAsciiCode()).encode("utf-8")
+ from Components.config import getCharValue
+ unichar = getCharValue(getPrevAsciiCode())
+ if unichar is None:
+ return
+ if len(str(unichar)) > 1:
+ return
+ keyvalue = unichar.encode("utf-8")
if len(keyvalue) == 1:
self.setNextIdx(keyvalue[0])
self.servicelist.moveToChar(charstr[0])
def keyAsciiCode(self):
- unichar = unichr(getPrevAsciiCode())
+ #unichar = unichr(getPrevAsciiCode())
+ from Components.config import getCharValue
+ unichar = getCharValue(getPrevAsciiCode())
+ if unichar is None:
+ return
+ if len(str(unichar)) > 1:
+ return
charstr = unichar.encode("utf-8")
if len(charstr) == 1:
self.servicelist.moveToChar(charstr[0])
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)
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
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