Привет, пишу скрипт на питоне, такой себе логгер нажатий.
Столкнулся с проблеймой, что всякие спец. символы по типу пробела записываются в лог как Key.Space и т.д.
Мне нужно, что бы возвращалось название "Пробел" или "Стрелочка вверх" и т.д.
Код:
import pynput.keyboard
from pynput.keyboard import Key
log = "" # Создаю переменную, в которую буду записывать всё, что печатает пользователь.
f = open('keylog.txt', 'a', buffering=1)
def process_key_press(key):
global log;
log = log + str(key) #Логируем всё что пишет юзер в переменную log
array = str(log).split("'"); # Разделяем по симбволу << ' >>
clear_log = ''.join(array);
print(clear_log);
if key == Key.space:
print('Нажат пробел')
f.write(str(clear_log) + "\n");
f.flush()
log = ""
if key == Key.esc:
return False
keyboard_listener = pynput.keyboard.Listener(on_press=process_key_press)
with keyboard_listener:
keyboard_listener.join()