Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
03.06.2014
Размер:
2.63 Mб
Скачать

Драйверы мыши в ms-dos

Как это ни странно, ни BIOS, ни MS-DOS не содержат средств для работы с мышью. Для того чтобы задействовать это устройство, вам надо использовать драйвер мыши или специальную резидентную программу, выполняющую функцию драйвера мыши. Как правило, это программное обеспечение поставляется вместе с мышью.

Для подключения драйвера мыши файл CONFIG.SYS должен содержать строку следующего вида:

device=c:\mouse\mouse.sys

Если используется резидентная программа, она обычно вызывается в файле AUTOEXEC.BAT:

c:\mouse\mouse.com

Драйвер мыши выполняет следующие функции:

  • отслеживает перемещения курсора и нажатия на клавиши мыши;

  • рисует на экране курсор, повторяющий движения мыши в графическом или текстовом режимах;

  • предоставляет программам интерфейс для работы с мышью, основанный на вызове прерывания INT 33h.

Прерывание для обслуживания мыши

Драйвер мыши, независимо от того, реализован он через устанавливаемый драйвер или резидентную программу, устанавливает в операционной системе MS-DOS обработчик прерывания INT 33h. Этот обработчик выполняет все операции, связанные с обслуживанием мыши:

  • сброс мыши и установка драйвера в исходное состояние;

  • включение и выключение курсора мыши;

  • установка курсора в определенное место экрана;

  • определение текущих координат курсора и текущего состояния клавиш;

  • определение координат курсора и состояния клавиш в момент нажатия на клавишу и в момент отпускания клавиши;

  • определение области на экране, в пределах которой может перемещаться курсор;

  • определение области на экране, в пределах которой курсор не будет виден;

  • определение формы графического и текстового курсоров;

  • определение величины перемещения мыши в сотых долях дюйма;

  • подключение к драйверу процедуры, определенной в программе, получающей управление при нажатии на заданную клавишу или при перемещении мыши;

  • запоминание и восстановление состояния драйвера;

  • управление эмуляцией светового пера;

  • управление скоростью движения курсора;

  • указание или определение используемой страницы видеопамяти;

  • управление драйвером мыши

Приведем подробное описание всех функций прерывния INT 33h, используемых при работе с мышью.

Инициализация мыши

Эта функция с кодом 00h выполняет аппаратный сброс мыши и программную установку драйвера мыши в начальное состояние. Заметим, что с помощью функции 21h можно выполнить установку драйвера в исходное состояние, не выполняя аппаратного сброса мыши.

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

AX = 0000h

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

AX = состояние мыши;

BX = количество клавиш у мыши

Если на выходе из прерывания регистр AX содержит значение0000h, значит драйвер мыши не установлен. Если же содержимое этого регистра равно0FFFFh, драйвер имеется и вы можете использовать другие функции для работы с мышью.

В регистре BX возвращается количество клавиш мыши:

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

Количество клавиш

0

Больше или меньше, чем две

2

Две клавиши

3

Мышь системы Mouse Systems, имеет три клавиши

При установке драйвера мыши в исходное состояние для программ, работающих в текстовом режиме, выполняются следующие действия:

  • курсор перемещается в центр экрана и гасится;

  • разрешается перемещение курсора по всей поверхности экрана, причем на экране отсутствуют зоны, в которых курсор является невидимым;

  • устанавливается режим отображения курсора - инвертирование атрибута символа, на который указывает курсор;

  • для изображения курсора выбирается нулевая страница видеопамяти;

  • разрешается эмуляция светового пера (хотя это вам едва ли пригодится);

  • устанавливается начальная скорость перемещения курсора

Соседние файлы в папке несколько программ