pcremote-client-n8x0 -> client sources
[remotepc] / pcremote-server-desktop-60 / debian / pcremote-server / usr / share / pcremote-server / services / ServerHandlers.py
diff --git a/pcremote-server-desktop-60/debian/pcremote-server/usr/share/pcremote-server/services/ServerHandlers.py b/pcremote-server-desktop-60/debian/pcremote-server/usr/share/pcremote-server/services/ServerHandlers.py
deleted file mode 100755 (executable)
index 4b16012..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# ****************************************************************************
-# Copyright (c) 2008 INdT/Fucapi.
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU Lesser General Public License for more details.
-#
-#  You should have received a copy of the GNU Lesser General Public License
-#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# ============================================================================
-# Project Name : PC Remote
-# Author       : Nilson Silva
-# Email        : fergus.mao@gmail.com
-# Reviewer     : Jônatas Isvi
-# Email        : jonatas.nona@gmail.com
-# Version      : 1.0
-# Package      : service
-# Description  : Singleton, Mouse and Keyboard
-# ============================================================================
-
-import Xlib
-from Xlib import display, X, XK
-
-class Singleton_Xlib():
-
-    """ Singleton
-    defines a singleton. 
-    """
-    def __init__(self):
-       self.display = display.Display()
-       self.screen = self.display.screen()
-
-xlib_srv = Singleton_Xlib()
-
-class Mouse(object):
-
-    """ Mouse
-    pass mouse information to Xorg
-    """
-
-    #Initialize the class
-    def __init__(self):
-        self.disp = xlib_srv.display
-        self.screen = xlib_srv.screen
-        self.fator = 10
-        self.lbutton = False
-        self.mbutton = False
-        self.rbutton = False
-       self.buttons = []
-
-    #Set the mouse pointer position
-    def position(self,x=None,y=None):            
-        
-        if (x == None):
-            x = self.fator
-            
-        if (y == None):
-            y = self.fator
-
-        #Get the current mouse pointer position
-        current_x = self.screen.root.query_pointer()._data["root_x"]
-        current_y = self.screen.root.query_pointer()._data["root_y"]
-        
-        def absolute(ax = None, ay = None):
-            if (ax == None):
-                ax = x
-            if (ay == None):
-                ay = y
-
-            self.screen.root.warp_pointer(ax, ay)
-            self.disp.sync()
-
-        def relative():
-            rX = current_x + x
-            rY = current_y + y
-            absolute(rX,rY)
-
-        relative()
-
-    #Returns the current X position
-    def get_x(self):
-        return self.screen.root.query_pointer()._data["root_x"]
-
-    #Returns the current Y position
-    def get_y(self):
-        return self.screen.root.query_pointer()._data["root_y"]
-
-    #Defines the factor(px) of the mouse pointer move
-    def set_fator(self,fator):
-        self.fator = fator
-
-    #Returns the factor
-    def get_fator(self):
-        return self.fator
-        
-    #Mouse Left Click 
-    def left_click(self, fg_lbutton = None):
-
-        if (fg_lbutton != None):
-            self.lbutton = not fg_lbutton
-
-        if not self.lbutton:
-            self.disp.xtest_fake_input(X.ButtonPress, 1, 0)
-           self.buttons.append('left_button')
-            self.lbutton = True
-        else:
-            self.disp.xtest_fake_input(X.ButtonRelease, 1, 5)
-           self.buttons.remove('left_button')
-            self.lbutton = False
-
-        self.disp.flush()
-        
-    #Mouse Middle Click 
-    def middle_click(self):
-        if not self.mbutton:    
-            self.disp.xtest_fake_input(X.ButtonPress, 2, 0)
-           self.buttons.append('middle_button')
-            self.mbutton = True
-        else:
-            self.disp.xtest_fake_input(X.ButtonRelease, 2, 5)
-           self.buttons.remove('middle_button')
-            self.mbutton = False
-
-        self.disp.flush()
-
-    #Mouse Right Click 
-    def right_click(self, fg_rbutton = None):
-
-        if (fg_rbutton != None):
-            self.rbutton = not fg_rbutton
-
-        if not self.rbutton:
-            self.disp.xtest_fake_input(X.ButtonPress, 3, 0)
-           self.buttons.append('right_button')
-            self.rbutton = True
-        else:
-            self.disp.xtest_fake_input(X.ButtonRelease, 3, 5)
-           self.buttons.remove('right_button')
-            self.rbutton = False
-
-        self.disp.flush()
-
-    def clean_up(self):
-        if self.buttons:
-            while self.buttons:
-               button = self.buttons.pop()
-              if button == 'left_button':
-                  self.disp.xtest_fake_input(X.ButtonRelease, 1, 5)
-                  self.disp.xtest_fake_input(X.ButtonPress, 3, 5)
-                  self.disp.xtest_fake_input(X.ButtonRelease, 3, 5)
-              elif button == 'middle_button':
-                  self.disp.xtest_fake_input(X.ButtonRelease, 2, 5)
-              elif button == 'right_button':
-                  self.disp.xtest_fake_input(X.ButtonRelease, 3, 5)
-
-       print self.buttons
-
-class Keyboard():
-
-    """ Keyboard
-    pass keyboard information to Xorg 
-    """
-
-    def __init__(self):
-       self.display = xlib_srv.display
-       self.screen = xlib_srv.screen
-        self.keys = []
-
-    # encode key 
-    def __key_to_code(self,key):
-       new_key = getattr(XK, "XK_" + key)
-       code = self.display.keysym_to_keycode(new_key)
-       return code
-
-    # reproduce key pressed
-    def reproduce_key_press(self, key):
-       Xlib.ext.xtest.fake_input(self.display, Xlib.X.KeyPress, self.__key_to_code(key))
-       self.display.sync()
-        self.keys.append(key)
-
-    # reproduce key release
-    def reproduce_key_release(self, key):
-       Xlib.ext.xtest.fake_input(self.display, Xlib.X.KeyRelease, self.__key_to_code(key))
-       self.display.sync()
-        self.keys.remove(key)
-
-    # clean all pressed keys
-    def clean_up(self):
-        if self.keys:
-            while self.keys:
-                key = self.keys.pop()
-                self.reproduce_key_release(key)
-