Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЫШЬ_1.doc
Скачиваний:
22
Добавлен:
24.08.2019
Размер:
501.76 Кб
Скачать

Драйверы мыши

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функции прерывания 33h

00h - Проверка наличия в системе драйвера "мыши",

результат -> AX, если AX = 0 - драйвер не установлен.

01h - Вывод курсора "мыши" на экран,

результат: если установлен драйвер "мыши", на экране появляется курсор.

02h - Удаление курсора "мыши" с экрана,

результат: удаляет с экрана курсор только в том случае, если функция 01h вызывалась до этого 1 раз

03h - Определение положения курсора и состояния кнопок

результат:

CX - номер колонки,

DX - номер строки,

BX - состояние кнопок: 7_6_5_4_3_2_1_0__

бит0 = 1 - левая кнопка нажата,

бит1 = 1 - правая кнопка нажата,

бит2 = 1 - средняя кнопка нажата.

04h - Установка курсора в определенное положение на экране

на входе:

CX - номер колонки,

DX - номер строки.

07h - Установка ограничения перемещение "мыши" по горизонтали

на входе:

CX - левая граница,

DX - правая граница.

08h - Установка ограничения перемещение "мыши" по вертикали

на входе:

CX - верхняя граница,

DX - нижняя граница.

0Bh - Определение величины перемещения со времени последнего вызова

результат:

CX - перемещение по горизонтали,

DX - перемещение по вертикали.