Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单击一次pynput时双击_Python_Pynput - Fatal编程技术网

Python 单击一次pynput时双击

Python 单击一次pynput时双击,python,pynput,Python,Pynput,试图做一个程序,当你用pynput点击鼠标左键一次时,它会为你双击。我有下面的代码,但如果我运行代码,我的鼠标会出现故障并停止工作 from pynput.mouse import Listener, Button, Controller mouse = Controller() def on_click(x, y, button, pressed): if pressed == True: mouse.click(Button.left, 2) else:

试图做一个程序,当你用pynput点击鼠标左键一次时,它会为你双击。我有下面的代码,但如果我运行代码,我的鼠标会出现故障并停止工作

from pynput.mouse import Listener, Button, Controller

mouse = Controller()

def on_click(x, y, button, pressed):
    if pressed == True:
        mouse.click(Button.left, 2)
    else:
        pass

with Listener(on_click=on_click) as listener:
    listener.join()

除此之外,按“F10”的实现如何使1次单击的行为类似于双击,再次按“F10”将禁用它,因此1次单击的行为类似于1次单击是可能的?

哦,我可能发现了你的问题, 两个可能的原因:

  • 在您的脚本中,当您按下鼠标按钮时,它将在单击时调用函数
    。然后它将
    鼠标。单击(button.left,2)
    。但此代码也将在单击时调用
    。因此这将是一个无休止的循环。最后,您将发现您的鼠标将没有响应。因此,我认为您应该使用另一种方法来实现这一点
  • pynput
    官方文档中,它似乎可以在macOS中使用(可能windows无法使用它。我还发现,如果我只使用
    鼠标。在我的PC中单击(Button.left,2)
    ,我的python将不会响应。(它无法停止)。也许你应该直接使用
    。按
    。释放
    ):
    
  • 除此之外,按“F10”的实现如何使1次单击的行为类似于双击,再次按“F10”将使其禁用

    因此,这似乎是一个开关,您可以使用
    全局
    变量来执行此操作。这里有一个使用pynput执行开关的最小示例。(如果不按F10,则不会打印
    模式处于打开状态,并且在再次按F10后也不会打印)


    我不能使用
    鼠标。单击(Button.left,2)
    。这会使我的鼠标无法工作。是的,我想这就是问题所在。但是这个函数在pynput的文档中。
    # import win32api,win32con
    from pynput.mouse import Controller
    from pynput import keyboard
    from pynput.keyboard import Key
    
    mouse = Controller()
    Mode = False
    
    def on_press(key):
        global Mode
        if key == Key.f10:
            if Mode:
                Mode = False
            else:
                Mode = True
    
    listener = keyboard.Listener(on_press=on_press)
    listener.start()
    while True:
        if Mode:
            print("Mode is on")