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 번 클릭이 가능한 것처럼 작동하는 방법은 무엇입니까?
오, 아마도 당신의 문제를 찾을 수 있습니다. 두 가지 가능한 원인 :
on_click
됩니다 mouse.click(Button.left, 2)
. 그러면 이 코드도 호출 됩니다 . 따라서이 코드는 on_click
무한 루프가 될 것입니다. 그렇게하려면 다른 방법을 사용해야합니다.pynput
공식 문서 에서는 macOS에서 사용할 수있는 것 같습니다 (아마도 Windows에서 사용할 수 없었고 mouse.click(Button.left, 2)
PC 에서만 사용하면 Python이 응답하지 않는 것으로 나타났습니다 (멈출 수 없음). 사용 .press
하고 .release
직접) :또한 "F10"을 눌러 구현하면 1 번 클릭이 더블 클릭처럼 작동하고 "F10"을 다시 누르면 비활성화됩니다.
그래서 이것은 스위치처럼 보입니다, 당신은 global
그것을 하기 위해 변수를 사용할 수 있습니다 . 스위치를하기 위해 pynput을 사용하는 최소한의 예가 있습니다. ( Mode is on
F10을 누르지 않으면 인쇄되지 않고 인쇄되지 않을 것입니다. F10을 다시 누른 후).
# 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")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다