Таблица кодов клавиш клавиатуры для программистов и геймеров

Иван Корнев·29 июля 2026·4 мин

Таблица кодов клавиш клавиатуры для программистов и геймеров содержит точные значения виртуальных кодов (Virtual-Key Codes) Windows API, ASCII и скан-кодов. Эти данные необходимы для корректной обработки ввода в разрабатываемом ПО и настройки элементов управления в игровых проектах на платформе Windows.

Оглавление

Различия между типами кодов клавиш

При работе с вводом важно понимать архитектуру обработки нажатий в Windows. Система использует два основных типа идентификаторов: скан-коды (Scan Codes) и виртуальные коды (Virtual-Key Codes).

Скан-коды зависят от аппаратной раскладки клавиатуры и могут варьироваться в зависимости от используемого набора (Set 1, Set 2 или Set 3). Виртуальные коды, напротив, абстрагированы от аппаратной части и стандартизированы операционной системой Windows. Именно VK-коды рекомендуется использовать в большинстве случаев программирования, так как они обеспечивают единообразие независимо от физического устройства ввода.

Диапазон кодов: Стандартный набор виртуальных кодов клавиш Windows API находится в диапазоне от 0x01 до 0xFE (от 1 до 254 в десятичной системе).

Основные управляющие клавиши и модификаторы

Базовые клавиши управления имеют фиксированные значения, которые необходимо знать для реализации стандартного поведения интерфейса (закрытие окон, подтверждение действий, навигация).

КлавишаHex код (VK)Dec код (VK)Примечание
Escape (Esc)0x1B27Отмена действия / выход
Enter (Return)0x0D13Подтверждение / новая строка
Space (Пробел)0x2032Пауза / пробел
Shift0x1016Модификатор регистра
Control (Ctrl)0x1117Модификатор команд
Alt (Menu)0x1218Модификатор меню

Эти коды совпадают со значениями ASCII для соответствующих печатных символов (например, Enter как CR = 13, Esc = 27, Пробел = 32).

Алфавитно-цифровой блок и функциональные клавиши

Для букв латинского алфавита и цифр виртуальные коды совпадают с их ASCII-значениями, что упрощает обработку текстового ввода.

  • Клавиши A–Z: Диапазон от 0x41 до 0x5A (от 65 до 90). Например, VK_A = 65.
  • Клавиши 0–9: Диапазон от 0x30 до 0x39 (от 48 до 57). Например, VK_0 = 48.
  • Функциональные клавиши F1–F12: Расположены последовательно от VK_F1 = 0x70 (112) до VK_F12 = 0x7B (123).

Совет для разработчиков: При обработке буквенных клавиш учитывайте, что VK-коды не чувствительны к регистру. Для определения заглавной или строчной буквы необходимо проверять состояние модификатора Shift.

Навигация и игровое управление

В геймдеве критически важна быстрая реакция на нажатия клавиш направления. Виртуальные коды стрелок имеют следующие значения:

  • Стрелка влево (Left): 0x25 (37)
  • Стрелка вверх (Up): 0x26 (38)
  • Стрелка вправо (Right): 0x27 (39)
  • Стрелка вниз (Down): 0x28 (40)

Обработка ввода мыши

Помимо клавиатуры, игровое программирование требует обработки событий мыши. Сообщения Windows API для кнопок мыши имеют следующие идентификаторы:

Событие мышиHex кодDec код
Левая кнопка (нажатие)0x0201513
Правая кнопка (нажатие)0x0204516
Средняя кнопка (нажатие)0x0207519

Частые ошибки

  1. Использование скан-кодов вместо виртуальных. Начинающие разработчики часто пытаются обрабатывать аппаратные скан-коды, что приводит к ошибкам на клавиатурах с нестандартной раскладкой или в разных языковых локалях. Всегда используйте стандартизированные Virtual-Key Codes.
  2. Путаница между ASCII и VK. Хотя для букв и цифр коды совпадают, для специальных клавиш (например, функциональных F1–F12 или стрелок) ASCII-коды отсутствуют или не применимы. Используйте VK-диапазон 0x01–0xFE.
  3. Игнорирование модификаторов. При назначении горячих клавиш (например, Ctrl+C) необходимо отдельно отслеживать состояние VK_CONTROL (17) и VK_SHIFT (16), так как они не генерируют уникальный VK-код в комбинации с другими клавишами.

FAQ

Какой код у клавиши Escape в Windows API? Код клавиши Escape составляет 0x1B в шестнадцатеричной системе или 27 в десятичной. Это значение совпадает с ASCII-кодом символа ESC.

Чем отличаются виртуальные коды от скан-кодов? Скан-коды зависят от физической аппаратной раскладки клавиатуры (Set 1/2/3), тогда как виртуальные коды (Virtual-Key Codes) абстрагированы от железа и стандартизированы ОС Windows для единообразной обработки ввода в программах.

Какие коды у клавиш направления для игр? Стрелки имеют следующие виртуальные коды: Влево — 37 (0x25), Вверх — 38 (0x26), Вправо — 39 (0x27), Вниз — 40 (0x28).

Где находятся коды функциональных клавиш F1–F12? Они расположены в диапазоне от 112 до 123. VK_F1 равен 112 (0x70), а VK_F12 равен 123 (0x7B).