keyboard ввод данных при русской раскладке
Мне необходимо на выходе функции отправлять данные о нажатой кнопке только в латинице. Проблема в том, что библиотека keyboard считывает нажатие на клавиатуру при любой раскладке и выдает символы в той раскладке, которая стоит у пользователя. Можно как то, чтобы при нажатии на клавиатуру на русской раскладке, скажем на кнопку с русской буквой "И" конвертировала в латинскую букву "B" этой же кнопки.
text = keyboard.read_hotkey()
Ответы (1 шт):
Автор решения: Xybyyn
→ Ссылка
Функция возвращающая текущую раскладку
import ctypes
def get_language() -> str:
"""
Данная функция проверяет раскладку клавиатуры
:return: 'ru'/'en'
"""
u = ctypes.windll.LoadLibrary("user32.dll")
pf = getattr(u, "GetKeyboardLayout")
if hex(pf(0)) == '0x4190419':
return 'ru'
if hex(pf(0)) == '0x4090409':
return 'en'