123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import time
- from pynput import mouse
- from pynput.mouse import Controller, Button
- import asyncio
- import win32Test
- mouse_controller = Controller()
- middle_point, base_width, base_height = win32Test.arrange_windows()
- print(middle_point)
- print(base_width)
- print(base_height)
- def in_monitorZone():
- now_position = mouse_controller.position
- if now_position < (base_width, base_height):
- return True
- else:
- return False
- def on_move(x, y):
- return
- # print('Pointer moved to {0}'.format(
- # (x, y)))
- def on_click(x, y, button, pressed):
- print('{0} at {1}'.format(
- 'Pressed' if pressed else 'Released',
- (x, y)))
- print(button)
- # if not pressed:
- # # Stop listener
- # return False
- async def scroll_to_next_point(middle_point, mouse_controller, dx, dy):
- for i in range(1, len(middle_point)):
- print('Scrolled to next point')
- mouse_controller.position = middle_point[i]
- await asyncio.sleep(1)
- mouse_controller.scroll(dx, dy)
- def on_scroll(x, y, dx, dy):
- print('Scrolled {0} at {1}'.format(
- 'down' if dy < 0 else 'up',
- (x, y)))
- if in_monitorZone():
- origin = mouse_controller.position
- for i in range(1, len(middle_point)):
- print('scrolled')
- mouse_controller.position = middle_point[i]
- mouse_controller.click(Button.right, 1)
- time.sleep(0.5)
- mouse_controller.position = origin
- # Collect events until released
- with mouse.Listener(
- on_move=on_move,
- on_click=on_click,
- on_scroll=on_scroll) as listener:
- listener.join()
- # ...or, in a non-blocking fashion:
- listener = mouse.Listener(
- on_move=on_move,
- on_click=on_click,
- on_scroll=on_scroll)
- listener.start()
|