при подключении к компьютеру клавиатура отправляет «коды сканирования» в операционную систему.в Windows коды сканирования затем преобразуются в виртуальные клавиши (аппаратно-независимое сопоставление клавиатуры), а затем в реальные символы.
MapVirtualKeyEx()
Функция Windows API позволяет переводитьмежду кодами сканирования, виртуальными ключами и символами.он также должен быть в состоянии сказать вам, если клавиша не существует.
вместе с GetKeyboardLayout()
, который сообщает вам, какая клавиатура активна в любой момент времени (раскладка клавиатуры может бытьотличается для разных запущенных приложений), это должно позволить вам построить довольно точную карту клавиатуры.
в любом случае, взгляните на keyboard input section of the MSDN
iдобавим, что все клавиатуры имеют практически одинаковую раскладку.хотя нет никакого способа узнать, где физически расположена клавиша, вы, вероятно, сможете догадаться по коду сканирования и базовым знаниям ваших собственных клавиатур.