ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Спецификация функции bioskeyПротип функции bioskey() находится в файле bios.h. Режимы работы функции определяются значениями параметра. int bioskey(int cmd), где cmd может иметь следующие значения:
Необходимо знать, что состояния шифт- и триггерных клавиш могут быть проанализированы и другим способом, поскольку им соответствует содержимое ОЗУ по адресу 40:17h. В качестве примера ниже приводится фрагмент программы сканирования клавиатуры в процессе отображения меню и контроля за сделанным выбором: for(;;) { while (!bioskey(1)); // цикл на клавиатуре до ожидания выбора c.i = bioskey(0); ……………………………….. if(c.ch[0]) // ASCII-код { ………………………………… switch(c.ch[0]) { case ‘\r’:……………..; // была нажата клавиша ввода case ‘ ‘:………………; // был введен пробел case ESC:…………….; // была нажата ESC-клавиша ……………………………………………. } } else // не отображаемая спец-клавиша { switch(c.ch[1]) { case 72:……………..; // была нажата клавиша стрелка вверх case 80:………………; // была нажата клавиша стрелка вниз ……………………………………………. } } } Кодирование клавиш, информацию о скэн-кодах, шифт- и триггерных клавишах можно найти в книге Касаткина, а детали программирования меню для Турбо-С в книге «Язык С для профессионалов». Информацию по ASCII-кодам можно посмотреть, напрмер, в книге Фигурнова В.Э. «IBM PC для пользователя». В программе выше используется переменная c типа union inkey{ char ch[2]; int i;}, содержащая комбинацию – «ASCII-код – скэн-код клавиатуры».
Не нашли, что искали? Воспользуйтесь поиском:
|