ya2 · news · projects · code · about

some fixes for building
[pmachines.git] / lib / engine / functional.py
index 88392fdf44a934681bd814a6c87bfc805373af5c..6dce38cc4a1c8d5dc00250b8cbb6ecbd7b2ba800 100644 (file)
@@ -93,8 +93,15 @@ class FunctionalTest(GameObject):
         dev.keystroke(ord(char))
 
     def __mouse_click(self, pos, btn):
-        base.win.move_pointer(0, pos[0], pos[1])
-        self.__keypress('mouse%s' % (3 if btn == 'right' else 1))
+        #base.win.move_pointer(0, pos[0], pos[1])
+        #self.__keypress('mouse%s' % (3 if btn == 'right' else 1))
+        offset_x = int((1920 - 1360) / 2) + 1  # xfce decorations
+        offset_y = int((1080 - 768) / 2) + 24  # xfce decorations
+        btn = 3 if btn == 'right' else 1
+        system('xdotool mousemove %s %s' % (offset_x + pos[0], offset_y + pos[1]))
+        def click(task):
+            system('xdotool click %s' % btn)
+        taskMgr.do_method_later(.01, click, 'click')
 
     def __mouse_move(self, pos):
         center = base.pipe.get_display_width() / 2, \
@@ -103,16 +110,29 @@ class FunctionalTest(GameObject):
         system('xdotool mousemove %s %s' % tgt)
 
     def __mouse_drag(self, start, end, btn):
-        btn = 'mouse%s' % (3 if btn == 'right' else 1)
-        dev = base.win.get_input_device(0)
-        base.win.move_pointer(0, start[0], start[1])
-        dev.buttonDown(btn)
-        def drop(task):
-            base.win.move_pointer(0, end[0], end[1])
-            def drop_up(task):
-                dev.button_up(btn)
-            taskMgr.do_method_later(.01, drop_up, 'drop_up')
-        taskMgr.do_method_later(.01, drop, 'drop')
+        # btn = 'mouse%s' % (3 if btn == 'right' else 1)
+        # dev = base.win.get_input_device(0)
+        # base.win.move_pointer(0, start[0], start[1])
+        # dev.buttonDown(btn)
+        # def drop(task):
+        #     base.win.move_pointer(0, end[0], end[1])
+        #     def drop_up(task):
+        #         dev.button_up(btn)
+        #     taskMgr.do_method_later(.01, drop_up, 'drop_up')
+        # taskMgr.do_method_later(.01, drop, 'drop')
+        offset_x = int((1920 - 1360) / 2) + 1  # xfce decorations
+        offset_y = int((1080 - 768) / 2) + 24  # xfce decorations
+        btn = 3 if btn == 'right' else 1
+        system('xdotool mousemove %s %s' % (offset_x + start[0], offset_y + start[1]))
+        def mousedown(task):
+            system('xdotool mousedown %s' % btn)
+            def mousemove(task):
+                system('xdotool mousemove %s %s' % (offset_x + end[0], offset_y + end[1]))
+                def mouseup(task):
+                    system('xdotool mouseup %s' % btn)
+                taskMgr.do_method_later(.01, mouseup, 'mouseup')
+            taskMgr.do_method_later(.01, mousemove, 'mousemove')
+        taskMgr.do_method_later(.01, mousedown, 'mousedown')
 
     def _event(self, time, evt, messenger_evt=False, append_up=True, mouse_args=None):
         def _append_up(evt_name):