Мышь – это устройство компьютера для ввода информации, относящееся к классу манипуляторов. Курсор мыши – это указатель мыши, перемещающийся по экрану в зависимости от перемещения мыши по столу. Так как курсор мыши представляет собой матрицу растрового изображения, для определения координат курсора мыши вводится понятие точки-указателя. Точка-указатель – это точка в матрице растрового изображения курсора, координаты которой принимаются за координаты курсора мыши. Положение точки-указателя в курсоре зависит от формы и типа курсора и может задаваться программно.
Минимальное расстояние на экране, на которое может перемещаться курсор мыши в текстовом режиме – знакоместо, в графическом режиме – пиксел.
Координаты мыши считаются попиксельно для любого режима видеоадаптера, поэтому в графическом режиме видеоадаптера они совпадают с пиксельной организацией экрана, а в текстовом режиме для преобразования пиксельных координат курсора мыши в координаты знакоместа необходимо воспользоваться следующей формулой:
symbol=pixel/8+1,
где symbol – координата (x или y) знакоместа в текстовом режиме, pixel – координата курсора мыши, +1 – из-за разности координат левого верхнего угла в текстовом и графическом режимах.
Взаимодействие мыши с компьютером производится следующим образом: при изменении своего состояния (перемещение мыши по столу или нажатие кнопки) мышь генерирует соответствующий пакет данных, в котором хранится информация об изменении состояния, и посылает этот пакет по соответствующему интерфейсу компьютера, к которому мышь подключена. Это генерирует аппаратное прерывание, которое активизирует драйвер мыши (номер аппаратного прерывания зависит от типа мыши и интерфейса, к которому она подключена). Так как в состав BIOS и MS-DOS драйвер не входит, то он должен быть загружен пользователем (или ОС через настройки в файлах config.sys и autoexec.bat). Этот драйвер выполняет следующие функции: отслеживает перемещение мыши и состояние её кнопок; рисует на экране курсор мыши, повторяющий движения мыши; предоставляет программам пользователя интерфейс для работы с мышью, реализованный через программное прерывание 33h для обслуживания мыши.