Переглянути джерело

sdl-fix add: broken grab select-fix (box)

micha 1 рік тому
батько
коміт
ae506a9386
2 змінених файлів з 16 додано та 1 видалено
  1. 2 0
      _LibreLightDesk.py
  2. 14 1
      tksdl/fix.py

+ 2 - 0
_LibreLightDesk.py

@@ -428,6 +428,8 @@ def JSCB(x,sock=None):
                             #master.refresh_fix() # delayed
                             #refresher_fix.reset() # = Refresher()
                             #cb.cb(event)
+                        if "CLEAR" == msg["event"]:
+                            FIXTURES.clear()
             #bounce msg
             #if sock:
             #    msg = json.dumps(msg)

+ 14 - 1
tksdl/fix.py

@@ -475,6 +475,10 @@ while 1:
                     #t.btn2.clean()
                     t.btn1.clean()
 
+                msg=json.dumps([{"event":"CLEAR"}]).encode("utf-8")
+                print("ESC",msg)
+                cmd_client.send(msg)
+
         #print("event",event)
         if event.type == pygame.QUIT:
             pygame.quit()
@@ -518,7 +522,15 @@ while 1:
                         msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"VAL":"click","ATTR":ATTR}]).encode("utf-8")
                         print("   ",msg)
                         cmd_client.send(msg)
-                
+                    if "release" in change[key]:
+                        for mg in mouse_grab:
+                            FIX = mg.ID
+                            ATTR = mg.ATTR
+                            #ATTR = "ALL"
+                            msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"VAL":"click","ATTR":ATTR}]).encode("utf-8")
+                            print("  mouse_grab ",msg)
+                            cmd_client.send(msg)
+                        mouse_grab = []
             
 
 
@@ -569,6 +581,7 @@ while 1:
                 else:
                     t._set_mouse_focus(0)
 
+
     if resize_changed:# = True
         screen = pygame.display.set_mode(scrsize,pg.RESIZABLE)