繁体   English   中英

Python 密钥。 钥匙

[英]Python Key. keys

嘿,我正在用 pyautogui 制作一个自动点击器,但我不知道我可以为 Key 输入的密钥。 (变量开头)我想把鼠标左键按下。 如果我只是放一个键,它会给我一个错误,所以是的,我在任何地方都找不到这个。

import pyautogui
from pynput.keyboard import *
from pynput import mouse
import random
#  ======== settings ========

delay = random.uniform(.03,.22)  # in seconds
resumeKey = Key.f4
pauseKey = Key.f6
exitKey = Key.esc


pause = True
running = True

def on_press(key):
    global running, pause

    if key == resumeKey:
        pause = False
        print("[Resumed]")
    elif key == pauseKey:
        pause = True
        print("[Paused]")
    elif key == exitKey:
        running = False
        print("[Exit]")
mouseLis = mouse.Listener(on_click = on_click)
mouseLis.start()
def on_click(x,y,button,pressed):
    if button == mouse.Button.left:
        pause = False


def main():
    lis = Listener(on_press=on_press)
    lis.start()

    while running:
        if not pause:
            delay = random.uniform(.03,.22)
            pyautogui.click(pyautogui.position())
            pyautogui.PAUSE = delay
    lis.stop()
mouseLis.stop()

if __name__ == "__main__":
    main()

鼠标需要自己的监听器,据我所知,它没有键盘的键绑定。 像这样:(在此处的文档中找到。)

from pynput import mouse

def on_click(x, y, button, pressed):
    # do something here

mouse_lis = mouse.Listener(on_click=on_click)
mouse_lis.start()

为了解决这个问题,我刚刚创建了另一个名为on_click的 function 来处理鼠标按钮按下。

这个 function 是

def on_click(x,y,button,pressed):
    if button == mouse.Button.left:
        print("Output")

基本上它需要单击,如果单击的按钮是鼠标左键,那么它会在 if 语句中打印 output。 如果您愿意,还必须处理其他三个参数。

在你的主要 function 添加

mouseLis = mouse.Listener(on_click = on_click)
mouseLis.start()

这将创建实际的鼠标侦听器,然后该侦听器将用于侦听鼠标点击。

在你的主要 function 的末尾,一定要包括

mouseLis.stop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM