1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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_click(x, y, button, pressed):
- # function:0
- # x:
- # y:
- # button
- # pressed
- #
- # function:1
- # x,
- # y,
- # dx,
- # dy,
- 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_click=on_click,
- on_scroll=on_scroll) as listener:
- listener.join()
- # ...or, in a non-blocking fashion:
- listener = mouse.Listener(
- on_click=on_click,
- on_scroll=on_scroll)
- listener.start()
|