[hbbtv] revert keymap fixed.
[vuplus_dvbapp] / lib / python / Plugins / Extensions / HbbTV / plugin.py
index 7b40106..1dd214c 100644 (file)
@@ -35,6 +35,8 @@ _OPCODE_LIST = [
                'CONTROL_TITLE',
                'CONTROL_OK',
                'CONTROL_OUT_OF_MEMORY',
+               'CONTROL_INVALIDATE',
+               'CONTROL_GET_FBSIZE',
                'CONTROL_GET_VOLUME',
                'CONTROL_SET_VOLUME',
                'CONTROL_VOLUME_UP',
@@ -51,6 +53,7 @@ _OPCODE_LIST = [
                'OOIF_BROADCAST_PLAY',
                'OOIF_BROADCAST_STOP',
                'OOIF_BROADCAST_CHECK',
+               'CONTROL_RELOAD_KEYMAP',
                'OPCODE_END'
                ]
 
@@ -123,6 +126,18 @@ class VBHandler(VBHandlers):
                vbcfg.need_restart = True;
                return (True, None)
 
+       def _CB_CONTROL_INVALIDATE(self, result, packet):
+               # redraw enigma
+               from enigma import getDesktop
+               getDesktop(0).paint()
+               return (True, None)
+
+       def _CB_CONTROL_GET_FBSIZE(self, result, packet):
+               from enigma import getDesktop
+               desktop_size = getDesktop(0).size()
+               data = "%dx%d" % (desktop_size.width(), desktop_size.height())
+               return (True, data)
+
        def _CB_CONTROL_SET_VOLUME(self, result, packet):
                if self.max_volume < 0:
                        self.max_volume = VolumeControl.instance.volctrl.getVolume()
@@ -165,7 +180,7 @@ class VBHandler(VBHandlers):
        def _CB_OOIF_GET_CURRENT_CHANNEL(self, result, packet):
                if (vbcfg.g_channel_info):
                        try:
-                               data = struct.pack('iiii', vbcfg.g_channel_info[1], vbcfg.g_channel_info[2], vbcfg.g_channel_info[0], len(vbcfg.g_channel_info[3])) + vbcfg.g_channel_info[3]
+                               data = struct.pack('iiii', vbcfg.g_channel_info[0], vbcfg.g_channel_info[1], vbcfg.g_channel_info[2], len(vbcfg.g_channel_info[3])) + vbcfg.g_channel_info[3]
                        except Exception, err:
                                vbcfg.ERR(err)
                                return (False, None)