Я учусь обрабатывать ввод с клавиатуры в системах Windows.Официальный документ гласит:
TranslateMessage передает сообщение WM_KEYDOWN или WM_SYSKEYDOWN на раскладку клавиатуры.Макет проверяет код виртуальной клавиши сообщения и, если он соответствует символьной клавише, обеспечивает эквивалент кода символа (с учетом состояния клавиш SHIFT и CAPS LOCK).Затем он генерирует символьное сообщение, которое включает в себя код символа, и помещает сообщение в верхнюю часть очереди сообщений.
Как процесс генерации кодов символов работает под капотом, принимая во внимание вышеуказанную информацию?Использует ли он какую-то карту, которая связывает коды виртуальных клавиш с кодами символов?Что происходит при изменении языка ввода для каждого приложения на языковой панели?Есть ли что-то вроде языковой карты для преобразования кодов виртуальных клавиш в просто коды символов?