pynput 没有直接看到大写字母。
使用 pinput 来捕捉组合键。能够读取"h",但不能读取"H"。Python 3.6,Windows 10机器,尝试以管理员身份运行。能够看到Key.shift和Key.ctrl_l,但不能正确转换密钥。我希望我清楚。
也许我下面的代码缺少某些内容,或者它目前无法读取组合键。
from pynput.keyboard import Key, Listener
def look_for_key(key):
letter = str(key)
letter = letter.replace("'", "")
if letter == 'Key.esc':
return False
print(letter)
with Listener(on_press = look_for_key) as l:
l.join()
通过查看其他帖子和示例,如果键入了"H",我应该看到它打印出来,而是看到"h"。
您可以检测按下的键是否等于Key.caps_lock,并在此基础上使用 upper(( 方法打印或修改键,但您必须将键转换为字符串。第二步,创建一个全局变量"count">,该变量将节省按下caps_lock键的次数,以检测caps_lock是否已关闭。如果计数变量为奇数,程序将打印一个大写键,否则为小写。
from pynput.keyboard import Key, Listener
count = 0
def on_press(key):
global count
if key == Key.caps_lock:
count = count + 1
elif count%2!=0:
print(str(key).upper())
else:
print(str(key).lower())
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()