00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 """
00013
00014 Copyright (c) 2007, Gizmo Daemon Team
00015 Licensed under the Apache License, Version 2.0 (the "License");
00016 you may not use this file except in compliance with the License.
00017 You may obtain a copy of the License at
00018
00019 http://www.apache.org/licenses/LICENSE-2.0
00020
00021 Unless required by applicable law or agreed to in writing, software
00022 distributed under the License is distributed on an "AS IS" BASIS,
00023 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00024 See the License for the specific language governing permissions and
00025 limitations under the License.
00026
00027 """
00028
00029
00030
00031
00032
00033 from GizmoDaemon import *
00034 from GizmoScriptDefault import *
00035 from GizmoScriptAltTabber import *
00036 import subprocess
00037
00038 ENABLED = True
00039 VERSION_NEEDED = 3.2
00040 INTERESTED_CLASSES = [GizmoEventClass.LIRC]
00041 USES_LIRC_REMOTES = ["Hauppauge_350"]
00042
00043
00044
00045
00046
00047 class LIRCHauppaugeIntercept(GizmoScriptDefault):
00048 """
00049 Intercept LIRC Event Mapping for the Hauppauge remote
00050 """
00051
00052
00053
00054
00055
00056 def onDeviceEvent(self, Event, Gizmo = None):
00057 """
00058 Called from Base Class' onEvent method.
00059 See GizmodDispatcher.onEvent documention for an explanation of this function
00060 """
00061
00062
00063 if Event.Remote not in USES_LIRC_REMOTES:
00064 return False
00065
00066
00067 if Event.Button == "Go" and self.AltTabber.isAltTabbing():
00068 self.AltTabber.doAltTab()
00069 return True
00070 else:
00071
00072 return False
00073
00074
00075
00076
00077
00078 def __init__(self):
00079 """
00080 Default Constructor
00081 """
00082
00083 GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)
00084 self.AltTabber = GizmoScriptAltTabber()
00085
00086
00087
00088
00089
00090
00091 LIRCHauppaugeIntercept()