File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1010import logging
1111import shutil
1212import webbrowser
13+ import platform
1314
1415import numpy as np
1516
@@ -40,10 +41,22 @@ def __init__(self):
4041 self .__setup_shortcut_bindings ()
4142 self .__setup_variables ()
4243 self .__setup_autosave_timer ()
44+ self .setMouseTracking (True )
4345
4446 __generateFunscript = QtCore .pyqtSignal ()
4547 __logger = logging .getLogger (__name__ )
4648
49+
50+ def mouseMoveEvent (self , event ):
51+ """ Track the mouse in Qt Window """
52+ # On Windows the embedded mpv player do not get the mouse events
53+ if False :
54+ if platform .system () == 'Windows' :
55+ self .video_player .send_mouse_pos (
56+ event .x () - self .ui .videoPane .x (),
57+ event .y () - self .ui .videoPane .y () - self .ui .menubar .height ())
58+
59+
4760 def closeEvent (self , event ):
4861 """ Implement for the Qt closeEvent handler """
4962 self .__save_funscript ()
Original file line number Diff line number Diff line change @@ -506,6 +506,20 @@ def __update_stroke_indicator(self) -> None:
506506 )
507507
508508
509+ def send_mouse_pos (self , x :int , y :int ) -> None :
510+ """ Control mouse on mpv via commands
511+
512+ Args:
513+ x (int): x position
514+ y (int): y position
515+ """
516+ self .player .command ("mouse" , str (x ), str (y ))
517+ self .player .command ("keydown" , "MOUSE_BTN0" )
518+ time .sleep (0.01 )
519+ self .player .command ("keyup" , "MOUSE_BTN0" )
520+ # print("[DEBUG] click ui at", x, y)
521+
522+
509523 def run (self ) -> None :
510524 """ Video Player Thread Function """
511525 self .player .wait_until_playing ()
You can’t perform that action at this time.
0 commit comments