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 GizmoScriptActiveApplication import *
00035
00036 ENABLED = True
00037 VERSION_NEEDED = 3.2
00038 INTERESTED_CLASSES = [GizmoEventClass.Powermate]
00039 INTERESTED_WINDOWS = ["mplayer"]
00040
00041
00042
00043
00044
00045 class PowermateMPlayer(GizmoScriptActiveApplication):
00046 """
00047 MPlayer Powermate Event Mapping
00048 """
00049
00050
00051
00052
00053
00054 def onDeviceEvent(self, Event, Gizmo = None):
00055 """
00056 See GizmodDispatcher.onEvent documention for an explanation of this function
00057 """
00058
00059
00060 if Gizmo.DeviceClassID == 0:
00061
00062 if Event.Type == GizmoEventType.EV_REL:
00063
00064
00065 if not Gizmo.getKeyState(GizmoKey.BTN_0):
00066
00067 Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_REL, GizmoMouseAxis.WHEEL, Event.Value)
00068 else:
00069
00070 if Event.Value < 0:
00071 for repeat in range(abs(Event.Value)):
00072 Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PAGEDOWN)
00073 else:
00074 for repeat in range(abs(Event.Value)):
00075 Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PAGEUP)
00076 return True
00077 elif Event.Type == GizmoEventType.EV_KEY:
00078 if Event.Value == 0 and not Gizmo.Rotated:
00079 Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_SPACE)
00080 return True
00081 return False
00082
00083
00084
00085
00086
00087 def __init__(self):
00088 """
00089 Default Constructor
00090 """
00091
00092 GizmoScriptActiveApplication.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES, INTERESTED_WINDOWS)
00093
00094
00095
00096
00097
00098
00099 PowermateMPlayer()