按下键时监视鼠标坐标
Monitoring mouse coordinate while a key is pressed
我正在尝试使用一些快速命令 windows 模拟 Dota 2 或战地的聊天轮盘 like this。
应该是这样的:
按下 G 键时 - 带有某些部分的滚轮出现在屏幕中央,鼠标以其为中心,如果我将鼠标移动到 side_1 然后释放 G 键 -> func_1 执行。
如果它在 side_2 -> func_2。
如果我在中央松开 G 键 -> 滚轮消失,什么也没有发生。
所以为了监控鼠标的 X Y 坐标,我使用以下代码:
from pynput import mouse
def on_move(x, y):
print(x, y)
# Collect events until released
with mouse.Listener(on_move=on_move) as listener:
listener.join()
当我移动鼠标时,它是垃圾坐标。
但是我卡在了我需要的部分:
从另一个 .py 文件启动侦听器并将这些坐标用于程序的可视部分(例如用命令描述突出显示轮子的一侧),
从另一个 .py 文件关闭监听器,并在释放 G 键时获取鼠标的最后坐标,以与函数规定的 tge 坐标范围进行比较。
你想要这样的东西:
from pynput import mouse, keyboard
import time
def on_press(key):
print("pressed {}".format(key))
def on_release(key):
print("released {}".format(key))
def on_move(x,y):
print((x,y))
mouse_listener = mouse.Listener(
on_move=on_move)
mouse_listener.start()
key_listener = keyboard.Listener(
on_press=on_press,
on_release=on_release)
key_listener.start()
# prevent the script from exiting immediately
time.sleep(10)
import time
import keyboard
from pynput.mouse import Controller
def get_xy():
mouse = Controller()
mouse_coord = str(mouse.position)
mouse_coord = mouse_coord.replace("(", "")
mouse_coord = mouse_coord.replace(")", "")
mouse_coord = mouse_coord.replace(",", "")
mouse_coord = mouse_coord.split(" ")
mouse_x = int(mouse_coord[0])
mouse_y = int(mouse_coord[1])
print(mouse_x, mouse_y)
while True:
if keyboard.is_pressed('b'):
get_xy()
time.sleep(0.01)
输出示例:654 326
我正在尝试使用一些快速命令 windows 模拟 Dota 2 或战地的聊天轮盘 like this。
应该是这样的: 按下 G 键时 - 带有某些部分的滚轮出现在屏幕中央,鼠标以其为中心,如果我将鼠标移动到 side_1 然后释放 G 键 -> func_1 执行。 如果它在 side_2 -> func_2。 如果我在中央松开 G 键 -> 滚轮消失,什么也没有发生。
所以为了监控鼠标的 X Y 坐标,我使用以下代码:
from pynput import mouse
def on_move(x, y):
print(x, y)
# Collect events until released
with mouse.Listener(on_move=on_move) as listener:
listener.join()
当我移动鼠标时,它是垃圾坐标。 但是我卡在了我需要的部分:
从另一个 .py 文件启动侦听器并将这些坐标用于程序的可视部分(例如用命令描述突出显示轮子的一侧),
从另一个 .py 文件关闭监听器,并在释放 G 键时获取鼠标的最后坐标,以与函数规定的 tge 坐标范围进行比较。
你想要这样的东西:
from pynput import mouse, keyboard
import time
def on_press(key):
print("pressed {}".format(key))
def on_release(key):
print("released {}".format(key))
def on_move(x,y):
print((x,y))
mouse_listener = mouse.Listener(
on_move=on_move)
mouse_listener.start()
key_listener = keyboard.Listener(
on_press=on_press,
on_release=on_release)
key_listener.start()
# prevent the script from exiting immediately
time.sleep(10)
import time
import keyboard
from pynput.mouse import Controller
def get_xy():
mouse = Controller()
mouse_coord = str(mouse.position)
mouse_coord = mouse_coord.replace("(", "")
mouse_coord = mouse_coord.replace(")", "")
mouse_coord = mouse_coord.replace(",", "")
mouse_coord = mouse_coord.split(" ")
mouse_x = int(mouse_coord[0])
mouse_y = int(mouse_coord[1])
print(mouse_x, mouse_y)
while True:
if keyboard.is_pressed('b'):
get_xy()
time.sleep(0.01)
输出示例:654 326