listenTest.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import asyncio
  2. import time
  3. import pika
  4. from pynput import mouse
  5. from pynput.mouse import Controller
  6. import messageClass
  7. import screen
  8. connection = pika.BlockingConnection(pika.ConnectionParameters(host='192.168.0.13', port=5672))
  9. channel = connection.channel()
  10. channel.exchange_declare("sync", "fanout", durable=True)
  11. mouse_controller = Controller()
  12. screen.arrange_master()
  13. def in_monitorZone():
  14. now_position = mouse_controller.position
  15. if now_position < (500, 600):
  16. return True
  17. else:
  18. return False
  19. def on_click(x, y, button, pressed):
  20. # function:0
  21. # x:
  22. # y:
  23. # button
  24. # pressed
  25. #
  26. # function:1
  27. # x,
  28. # y,
  29. # dx,
  30. # dy,
  31. if in_monitorZone():
  32. if pressed:
  33. message = messageClass.ClickMessage(x, y, button).getMessage()
  34. channel.basic_publish(exchange='sync', routing_key='', body=message)
  35. print(time.time())
  36. # if not pressed:
  37. # # Stop listener
  38. # return False
  39. async def scroll_to_next_point(middle_point, mouse_controller, dx, dy):
  40. for i in range(1, len(middle_point)):
  41. print('Scrolled to next point')
  42. mouse_controller.position = middle_point[i]
  43. await asyncio.sleep(1)
  44. mouse_controller.scroll(dx, dy)
  45. def on_scroll(x, y, dx, dy):
  46. if in_monitorZone():
  47. message = messageClass.ScrollMessage(x, y, dx, dy).getMessage()
  48. channel.basic_publish(exchange='sync', routing_key='', body=message)
  49. # print('Scrolled {0} at {1}'.format(
  50. # 'down' if dy < 0 else 'up',
  51. # (x, y)))
  52. # if in_monitorZone():
  53. # origin = mouse_controller.position
  54. # for i in range(1, len(middle_point)):
  55. # print('scrolled')
  56. # mouse_controller.position = middle_point[i]
  57. # mouse_controller.click(Button.right, 1)
  58. # time.sleep(0.5)
  59. # mouse_controller.position = origin
  60. # Collect events until released
  61. with mouse.Listener(
  62. on_click=on_click,
  63. on_scroll=on_scroll) as listener:
  64. listener.join()