listenTest.py 2.0 KB

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