看不到大写字母



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()

最新更新