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