【发布时间】:2020-06-01 21:51:53
【问题描述】:
我正在使用 pynput 模块,我想在满足特定规则 - 条件 - 组合键后重新启动侦听器。
我写的代码如下所示:
from pynput.keyboard import Key, Listener
from langdetect import detect
from pynput import keyboard
def listener_manager():
#the idea is to return a new listener when needed
listener = keyboard.Listener(on_press=on_press)
return listener
def on_press(key):
global string
global listener
global controller
if key == keyboard.Key.esc: #if button escape is pressed close the program
listener.stop()
elif key == keyboard.Key.space:
print(string)
string=""
elif key == keyboard.Key.shift:
listener.stop()
controller = keyboard.Controller()
listener = listener_manager()
listener.start()
print("New listener started")
elif key== keyboard.Key.alt_l:
listener.stop()
controller = keyboard.Controller()
listener = listener_manager()
listener.start()
print("Left alt pressed")
else:
string = ''.join([string,str(key).replace("'","")])
string=""
"""This is the beginning"""
controller = keyboard.Controller()
# Collect events until released
listener = keyboard.Listener(on_press=on_press)
listener.start()
基本上,我想在 shift 或 alt (或更改语言时)时重新启动侦听器,但我编写的代码并没有真正起作用。
【问题讨论】:
标签: python-3.x keyboard listener keylogger pynput