Скан-код – это то число, которое выдает клавиатура при нажатии определенной клавиши. Скан-коды не следует путать с виртуальными кодами клавиш – последние формируются уже на уровне BIOS и Windows и в дальнейшем определяют коды символов, те самые, что, например, образуют содержимое текстовых документов. В большинстве случаев они никак между собой не связаны. Например, виртуальный код клавиши «пробел» – 32 (совпадает с кодом символа «пробел» в однобайтных кодировках), а скан-код ее – 57 (в HEX-форме это будет 20 и 39 соответственно). Заметьте, что виртуальные коды не эквивалентны символьным – чтобы превратить виртуальный код в код символа, надо еще учесть языковую раскладку, состояние клавиш
Для наших целей скан-коды, как вы можете догадаться по приведенной таблице, должны быть представлены в шестнадцатеричной (HEX), а не десятичной форме. Таблицы виртуальных кодов и кодов символов обычно прилагается к любому пособию по Windows-программированию, а вот полную таблицу скан-кодов разыскать непросто. Одна из таких таблиц находится на сайте «Электронная библиотека» по ссылке http://ntlib.chat.ru/ware/tables/scan.htm
. Она немного неудачно составлена – так называемые расширенные клавиши (это те, у которых второй байт в нашей таблице равен E0) там показаны добавлением лишнего разряда, равного 1. То есть выбрав из колонки HEX скан-код, например, 11С (клавиша