Регистрация
Войти
Стать экспертом Правила
Другие предметы

Как называется номер нажатой клавиши на клавиатуре?

ОТВЕТЫ

Кто занимался программированием на Visual Basic, обычно знает, что там есть два основных названия, и соответственно две переменные, в которых хранится какую кнопку на клавиатуре нажал пользователь.

Например в Visual Basic 5-й и 6-й части было так (они почти одинаковые, а другие версии я не стал изучать):

1 Кейкод (переменная называется KeyCode). Эта переменная возвращает некий код-число нажатой клавиши вне зависимости от того, на русский ли язык переключено или на английский (на любом языке выводится одно и то же число). Там есть ещё вспомогательная переменная Shift, из которой можно узнать, нажата ли клавиша Shift в данный момент.

2 ASCII код нажатой клавиши (переменная называется KeyAscii). Тут переменная Shift недоступна, однако тут несколько иначе. Тут в зависимости от раскладки клавиатуры (RUS/ENG) и от нажатой клавиши Shift, выводятся различные коды. Но этим способом не опознаются клавиши F1-F12.

Система ASCII кодов довольно старая и использовалась ещё в 20-м веке на ПК с объёмом памяти всего 32 Килобайта (а иногда даже и меньше). В Википедии, если надо, есть список ASCII кодов. Это что-то типа ГОСТа на символы.

Есть ещё способ определения нажатых клавиш посредством языка Ассемблер. Там это делается либо через прерывания (специальные системные подпрограммы), либо через порты ввода-вывода. Соответственно там никаких названий переменных нет, есть лишь номер порта ввода-вывода, откуда это можно считать. Я проверял, там их по-моему несколько. При нажатии какой-либо клавиши, на это реагировало то ли 3, то ли 4 разных порта, причём реагировали они одинаково.

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

автор вопроса выбрал этот ответ лучшим
136
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам