Установка временных характеристик клавиатуры
Мы уже рассказывали о возможности изменения временных характеристик клавиатуры. Если 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);