scripts/modules.d/299-Powermate-Default.py

00001     #***
00002   #*********************************************************************
00003 #*************************************************************************
00004 #*** 
00005 #*** GizmoDaemon Config Script
00006 #***    Powermate Default config
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 # Imports
00031 ##########################
00032 
00033 from GizmoDaemon import *
00034 from GizmoScriptDefault import *
00035 import time
00036 
00037 ENABLED = True
00038 VERSION_NEEDED = 3.2
00039 INTERESTED_CLASSES = [GizmoEventClass.Powermate]
00040 
00041 ############################
00042 # PowermateDefault Class definition
00043 ##########################
00044 
00045 class PowermateDefault(GizmoScriptDefault):
00046         """
00047         Default Powermate Event Mapping
00048         """
00049         
00050         ############################
00051         # Public Functions
00052         ##########################
00053                         
00054         def onDeviceEvent(self, Event, Gizmo = None):
00055                 """
00056                 Called from Base Class' onEvent method.
00057                 See GizmodDispatcher.onEvent documention for an explanation of this function
00058                 """
00059 
00060                 # Check for rotations
00061                 if Event.Type == GizmoEventType.EV_REL:
00062                         if not Gizmo.getKeyState(GizmoKey.BTN_0):
00063                                 if Gizmod.DefaultMixerVolume:
00064                                         Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value
00065                         else:
00066                                 # scroll quickly (by pages using the page up / page down keys)
00067                                 if Event.Value < 0:
00068                                         for repeat in range(abs(Event.Value)):
00069                                                 Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT, [GizmoKey.KEY_LEFTCTRL, GizmoKey.KEY_LEFTALT])
00070                                 else:
00071                                         for repeat in range(abs(Event.Value)):
00072                                                 Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT, [GizmoKey.KEY_LEFTCTRL, GizmoKey.KEY_LEFTALT])
00073                         return True
00074                 elif Event.Type == GizmoEventType.EV_KEY:
00075                         if Event.Value == 0 and not Gizmo.Rotated:
00076                                 Gizmod.toggleMuteAllCards()
00077                                 return True
00078                 return False
00079                 
00080         ############################
00081         # Private Functions
00082         ##########################
00083 
00084         def __init__(self):
00085                 """ 
00086                 Default Constructor
00087                 """
00088                 
00089                 GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)
00090 
00091 ############################
00092 # PowermateDefault class end
00093 ##########################
00094 
00095 # register the user script
00096 PowermateDefault()

Generated on Wed Nov 7 10:04:16 2007 for gizmod by  doxygen 1.5.3