Controller.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import threading
  2. from tcp_server import TcpServer
  3. from keyboard_listener import KeyboardListener
  4. from service import *
  5. from computer_monitor import ComputerMonitor
  6. from CommandMessage import CommandMessage;
  7. import json
  8. import pyautogui
  9. from KeyboardManager import *
  10. import time
  11. def on_message_received(data):
  12. command_message = json.loads(data)
  13. script = command_message["script"]
  14. params = command_message["params"]
  15. exec(script)
  16. def on_screen_locked():
  17. print("screen locked")
  18. data = json.dumps({"command":2,"message":""})
  19. print(data)
  20. tcpServer.send_text(data)
  21. computerMonitor = ComputerMonitor(on_screen_locked)
  22. def on_tcp_connected():
  23. if not computerMonitor.started:
  24. computerMonitor.start()
  25. tcpServer = TcpServer()
  26. tcpServer.set_receive_listener(on_message_received)
  27. tcpServer.connected_listener = on_tcp_connected
  28. tcpServer.start()
  29. if __name__=='__main__':
  30. # 按键监听
  31. keyboardListener = KeyboardListener(tcpServer)
  32. def onTrans():
  33. print("need trans")
  34. content = getClipContent()
  35. text = json.dumps({"command":1,"message":content})
  36. tcpServer.send_text(text)
  37. keyboardListener.listen_keyboard(onTrans)