Виртуальный код клавиши
Виртуальный код нажатой клавиши имеет 16 разрядов и передается в битах 16 - 31 параметра mp2. Для обычных символьных клавиш виртуальных код равен нулю. Функциональные клавиши и клавиши серого цвета имеют виртуальные коды, приведенные ниже:
Клавиша | Виртуальный код | Значение виртуального кода |
Левая клавиша мыши | VK_BUTTON1 | 0x01 |
Правая клавиша мыши | VK_BUTTON2 | 0x02 |
Средняя клавиша мыши | VK_BUTTON3 | 0x03 |
<Break> | VK_BREAK | 0x04 |
Забой | VK_BACKSPACE | 0x05 |
Табуляция <Tab> | VK_TAB | 0x06 |
Обратная табуляция | VK_BACKTAB | 0x07 |
Переход на новую строку, клавиша <Enter> основной клавиатуры | VK_NEWLINE | 0x08 |
Левая или правая клавиша сдвига <Shift> | VK_SHIFT | 0x09 |
Левая или правая клавиша <Control> | VK_CTRL | 0x0A |
Левая клавиша <Alt> | VK_ALT | 0x0B |
Правая клавиша <Alt> | VK_ALTGRAF | 0x0C |
<Pause> | VK_PAUSE | 0x0D |
<Caps Lock> | VK_CAPSLOCK | 0x0E |
<Esc> | VK_ESC | 0x0F |
Пробел | VK_SPACE | 0x10 |
Переход на следующую страницу <PgUp> | VK_PAGEUP | 0x11 |
Переход на предыдущую страницу <PgUp> | VK_PAGEDOWN | 0x12 |
<End> | VK_END | 0x13 |
<Home> | VK_HOME | 0x14 |
Перемещение курсора влево <Left> | VK_LEFT | 0x15 |
Перемещение курсора вверх <Up> | VK_UP | 0x16 |
Перемещение курсора вправо <Right> | VK_RIGHT | 0x17 |
Перемещение курсора вниз <Down> | VK_DOWN | 0x18 |
Печать экрана | VK_PRINTSCRN | 0x19 |
Вставка <Insert> | VK_INSERT | 0x1A |
Удаление <Delete> | VK_DELETE | 0x1B |
<Scroll Lock> | VK_SCRLLOCK | 0x1C |
<Num Lock> | VK_NUMLOCK | 0x1D |
<Enter> на дополнительной (цифровой) клавиатуре | VK_ENTER | 0x1E |
Клавиша запроса системы | VK_SYSRQ | 0x1F |
Функциональная клавиша <F1> | V K_F1 | 0x20 |
- // - <F2> | VK_F2 | 0x21 |
- // - <F3> | VK_F3 | 0x22 |
- // - <F4> | VK_F4 | 0x23 |
- // - <F5> | VK_F5 | 0x24 |
- // - <F6> | VK_F6 | 0x25 |
- // - <F7> | VK_F7 | 0x26 |
- // - <F8> | VK_F8 | 0x27 |
- // - <F9> | VK_F9 | 0x28 |
- // - <F10> | VK_F10 | 0x29 |
- // - <F11> | VK_F11 | 0x2A |
- // - <F12> | VK_F12 | 0x2B |
- // - <F13> | VK_F13 | 0x2C |
- // - <F14> | VK_F14 | 0x2D |
- // - <F15> | VK_F15 | 0x2E |
- // - <F16> | VK_F16 | 0x2F |
- // - <F17> | VK_F17 | 0x30 |
- // - <F18> | VK_F18 | 0x31 |
- // - <F19> | VK_F19 | 0x32 |
- // - <F20> | VK_F20 | 0x33 |
- // - <F21> | VK_F21 | 0x34 |
- // - <F22> | VK_F22 | 0x35 |
- // - <F23> | VK_F23 | 0x36 |
- // - <F24> | VK_F24 | 0x37 |
Завершение перемещения | VK_ENDDRAG | 0x38 |
Вызов меню | VK_MENU | VK_F10 |
Заметьте, что в приведенном выше списке есть коды клавиш, которые отсутствуют на стандартной клавиатуре компьютера, совместимого с IBM PC. В этом нет ничего удивительного, так как в механизм виртуальных кодов клавиш заложена возможность работы и на других платформах.
Виртуальный код клавиши можно получить из параметра mp2 при помощи макрокоманды SHORT2FROMMP :
nVirt = SHORT2FROMMP (mp2);