Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Клавиатура.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
3.63 Mб
Скачать

Программа kbdscan

Для демонстрации использования функции 00h прерывания INT 16h ниже приведена программа, выводящая на экран скэн-коды и коды ASCII нажимаемых клавиш.

Листинг:

#include <stdio.h>

#include <dos.h>

int main(void)

{

union REGS rg;

for(;;)

{

// Вызываем прерывание INT 16h

rg.h.ah = 0;

int86(0x16, &rg, &rg);

// Выводим на экран содержимое регистров AH и AL,

// содержащих, соответственно, скэн-код и код ASCII

// нажатой клавиши

printf("\nScan = %02.2X Ascii = %02.2X",

rg.h.ah, rg.h.al);

// Если была нажата клавиша ESC, завершаем работу

// программы

if(rg.h.ah == 1)

break;

}

return 0;

}

Программа kbdascii

Программа KBDASCII отображает на экране коды ASCII и расширенные коды ASCII нажимаемых клавиш.

Листинг:

#include <conio.h>

#include <ctype.h>

#include <stdio.h>

int main(void)

{

int key;

// Читаем в цикле символы с клавиатуры и отображаем

// коды ASCII нажатых клавиш.

// Выходим из цикла, когда пользователь нажимает

// клавишу <Esc>

{for(;;)

// Читаем символ

key = getch( );

// Если прочитанный символ равен 0, вызываем функцию

// getch для получения расширенного

// кода ASCII нажатой клавиши

{ if((key == 0) || (key == 0xe0))

key = getch();

printf("Extended code ASCII:\t"); }

else

printf( "Code ASCII:\t");

printf("%d\n", key);

// Когда пользователь нажимает клавишу

// <Esc>, выходим из цикла

if(key == 27)

break;}

return 0;}

2.8. Лицевая панель клавиатуры

Общий вид клавиатуры изображен на рис. 5. В клавиатуре MFII функциональные клавиши, как и некоторые специальные, находятся в самом верхнем ряду клавиатуры.

Рис. 5. Клавиатура

Функциональные клавиши (верхний ряд клавиатуры) при работе программного обеспечения выполняют определенные функции, которые не одинаковы для различных программ. Нажатие <F4> может привести при выполнении одной программы обработки текста к запоминанию документа, а при выполнении другой – к стиранию строки, в которой находится курсор. Все же в большинстве программ соблюдается некоторый стандарт использования функциональных клавиш. С помощью <F1> во всех приложениях можно вызвать окно помощи. Нажатие <Esc> всегда означает выход из текущего меню или конец выполнения программы. Клавиша <PrintScreen> позволяет скопировать содержание дисплея на подключенное печатающее устройство (принтер). Клавиша <ScrollLock> функционирует как переключатель. Она позволяет включить или выключить функцию прокрутки экрана. При нажатии этой клавиши загорается световой индикатор, расположенный рядом с ней. Нажимая на клавишу <Pause>, вы останавливаете работу всей системы. PC только тогда продолжит работу, когда вы нажмете любую другую клавишу.

Алфавитно-цифровая область клавиатуры напоминает пишущую машинку и объяснение большинства клавиш излишне, т. к. здесь находятся буквы от A до Z и цифры от 0 до 9. Первыми шестью буквенными клавишами слева вверху на американской клавиатуре являются <Q>, <W>, <E>, <R>, <T>, <Y>. Поэтому часто подобную топологию клавиатуры называют клавиатура типа QWERTY. Клавиатура содержит специальные клавиши. Клавиша <Tab> перемещает курсор вправо на заданную величину табуляции. Комбинация клавиш <Shift> + <Tab> обеспечивает табуляцию влево. Клавиша <Shift> служит для перевода клавиатуры в режим ввода прописных букв алфавита. Клавиша <CapsLock> переводит клавиатуру в режим постоянного ввода прописных букв. Когда клавиатура находится в этом режиме, то при нажатой клавише <Shift> можно вводить строчные буквы. Клавиша <Backspace> служит для стирания символа слева от курсора. Клавиша <Del> стирает символ в позиции курсора. Клавиши <Alt> и <Ctrl> используются часто вместе для перевода языка, а также применяются и в других сочетаниях клавиш. Самой важной клавишей является <Enter>, выполняющая сразу несколько функций. В операционной системе она служит для завершения ввода командной строки, а в программе обработки текста предназначена для окончания ввода строки.

Блок управления курсором содержит 10 клавиш, служащих для управления курсором (рис. 6).

Рис. 6. Клавиши блока управления курсором

Клавиша <Insert> определяет режим ввода. Она служит обычно для переключения режима вставки или замены при обработке текста. Клавишей <Delete> можно удалять выделенные объекты. Клавиши <Home>, <End> служат для перемещения курсором на экране или в файле в начало или конец строки. Клавиши <Page Up>, <PageDown> перемещают курсор на страницу вверх или страницу вниз. Почти все клавиши цифрового блока имеют двойное значение. Переключение осуществляется с помощью клавиши <NumLock> (рис. 7).

При нажатии этой кнопки загорается соответствующий индикатор LED, и клавиши выполняют функцию ввода чисел. При повторном нажатии клавиши выполняют функцию управления курсором.

Рис. 7. Цифровой блок

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]