Используя pynput с Windows 10, Python 3.7, возвращаемый код символа отражает состояние клавиши блокировки caps при запуске программы.Изменения в этом ключе не приводят к изменению возвращаемого значения.
from pynput import keyboard
def on_release(key):
print('{0} released'.format(key))
if key == keyboard.Key.esc:
# Stop listener
return False
with keyboard.Listener(on_release=on_release) as listener:
listener.join()
Когда он запускается с включенной блокировкой caps, я получаю:
'A' released
Key.caps_lock released
'A' released
Key.esc released
Aa
>>>
Таким образом, блокировка caps теперь отключена,Перезапуская, я получаю
=== RESTART: C:/Users/davec/Documents/Perkins/Browser/tests/pynput-kbd.py ===
'a' released
Key.caps_lock released
'a' released