def save(self): for x in self["config"].list: x[1].save() keymapfile = open("/usr/share/enigma2/keymap.xml", "r") text = keymapfile.read() keymapfile.close() keymapfile = open("/usr/share/enigma2/keymap.xml", "w") if config.plugins.babelzapper.enabled.value: text = text.replace("volumeMute", "babelzapperMute") text = text.replace( "id=\"KEY_MUTE\" mapto=\"deleteForward\" flags=\"mr\"", "id=\"KEY_MUTE\" mapto=\"babelzapperMute\" flags=\"m\"") text = text.replace( "id=\"KEY_MUTE\" mapto=\"delete\" flags=\"mr\"", "id=\"KEY_MUTE\" mapto=\"babelzapperMute\" flags=\"b\"") else: text = text.replace( "id=\"KEY_MUTE\" mapto=\"babelzapperMute\" flags=\"b\"", "id=\"KEY_MUTE\" mapto=\"delete\" flags=\"mr\"") text = text.replace( "id=\"KEY_MUTE\" mapto=\"babelzapperMute\" flags=\"m\"", "id=\"KEY_MUTE\" mapto=\"deleteForward\" flags=\"mr\"") text = text.replace("babelzapperMute", "volumeMute") keymapfile.write(text) keymapfile.close() ActionMap.removeKeymap("/usr/share/enigma2/keymap.xml") ActionMap.loadKeymap("/usr/share/enigma2/keymap.xml") self.close(True)
flags = sum(map(flag_ascii_to_id, flags)) assert mapto, "%s: must specify mapto in context %s, id '%s'" % (filename, context, id) assert id, "%s: must specify id in context %s, mapto '%s'" % (filename, context, mapto) assert flags, "%s: must specify at least one flag in context %s, id '%s'" % (filename, context, id) if len(id) == 1: keyid = ord(id) | 0x8000 elif id[0] == '\\': if id[1] == 'x': keyid = int(id[2:], 0x10) | 0x8000 elif id[1] == 'd': keyid = int(id[2:]) | 0x8000 else: raise KeymapError("key id '" + str(id) + "' is neither hex nor dec") else: try: keyid = KEYIDS[id] except: raise KeymapError("key id '" + str(id) + "' is illegal") actionmap.bindKey(filename, device, keyid, flags, context, mapto) addKeyBinding(filename, keyid, context, mapto, flags) else: ParseKeys(context, filename, actionmap, device, keys) else: ParseKeys(context, filename, actionmap, device, keys) if config.AdvancedMovieSelection.overwrite_left_right.value: ActionMap.parseKeys = parseKeys ActionMap.removeKeymap(config.usage.keymap.value) ActionMap.loadKeymap(config.usage.keymap.value)