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'
→ Ссылка