Скрипт Pynput не возвращает вывод с escape-ключом - PullRequest
0 голосов
/ 05 июня 2019

В последнее время я использую Pynput, чтобы опробовать некоторые новые программы.В одной из таких программ я намереваюсь открывать веб-страницу всякий раз, когда щелкают мышью, она открывает веб-страницу (более или менее похожая на шутку, но та, которую я, вероятно, буду использовать в качестве помощи какой-либо другой программе Pynput).Открытие веб-страницы всякий раз, когда щелкают мышью, работает хорошо, но выключатель, который я пытаюсь реализовать, - нет.Сценарий абсолютно ничего не возвращает при нажатии escape.

Я довольно новичок в Pynput в целом, поэтому я не невероятен в этом.Я подозреваю, что проблема может быть в блоке 'listener1' в конце.Вот код:

#!/usr/bin/env python
from pynput import mouse
from pynput import keyboard
from pynput.keyboard import Key, Listener
import webbrowser
def on_release(key):
    if str(key) == Key.esc:
        quit()
def on_click (x, y, button, pressed):
    webbrowser.open('[website]')
listener1 = mouse.Listener(
        on_click=on_click)
listener1.start()
with keyboard.Listener(
        on_press=on_press,
        on_release=on_release) as listener:
    listener.join()

Я бы хотел, чтобы программа открыла веб-страницу вместо [website].Любая помощь в решении этой проблемы будет принята с благодарностью!

Спасибо!

1 Ответ

0 голосов
/ 05 июня 2019

Я не знаю много о pynput, но похоже, что у вас нет управления потоком для команды open browser.

Возможно, это должно выглядеть так:

def on_click (x, y, button, pressed):    
     listener1.start()
     with keyboard.Listener(on_press=on_press,on_release=on_release) as
     listener:listener.join()
     listener1 = mouse.Listener(on_click=on_click)
     if listener1:
          webbrowser.open('[website]')
     else:
          break
...