logo
несколько программ / bsp33

Установка временных характеристик клавиатуры

Мы уже рассказывали о возможности изменения временных характеристик клавиатуры. Если BIOS, установленная в вашей машине, изготовлена после 15 декабря 1985 года, вы можете воспользоваться функцией 03h для ускорения (или замедления) работы клавиатуры:

Регистры на входе:

AH = 03h;

AL = 05h;

BL = Период автоповтора (количество повторов за одну секунду)

BH = Задержка включения режима автоповтора

Регистры на выходе:

Не используются

Период автоповтора задается следующим образом:

Содержимое регистра BL

Период автоповтора

0

30,0

1

26,7

2

24,0

4

20,0

8

15,0

0Ah

10,0

0Dh

9,2

10h

7,5

14h

5,0

1Fh

2,0

Для задержки включения режима автоповтора вы можете указывать следующие значения:

Содержимое регистра BH

Задержка включения режима автоповтора, mc

0

250

1

500

2

750

3

1000

В качестве примера приведем два фрагмента программы. Первый фрагмент увеличивает быстродействие клавиатуры до его верхнего предела, второй восстанавливает исходные значения временных характеристик.

union REGS rg;

. . .

rg.h.al = 5;

rg.h.ah = 3;

// Устанавливаем максимальное быстродействие клавиатуры

rg.h.bl = 0;

rg.h.bh = 0;

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

. . .

// Восстанавливаем исходное быстродействие клавиатуры

rg.h.bl = 0xa;

rg.h.bh = 1;

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