Краткий ответ
Мышь — это координатное устройство ввода: она не задаёт курсору абсолютную точку, а сообщает компьютеру, на сколько она сместилась по двум осям (ΔX и ΔY). Компьютер пересчитывает это смещение в пиксели и сдвигает указатель от его текущего положения.
Как это происходит по шагам
- Датчик мыши «видит» движение. Оптическая мышь подсвечивает поверхность и тысячи раз в секунду фотографирует её миниатюрной камерой. Процессор мыши сравнивает соседние «снимки» и определяет, на сколько микронеровностей рисунок сместился, — получаются ΔX и ΔY в условных единицах (их называют mickey).
- Данные передаются в компьютер. Контроллер мыши упаковывает смещение и состояние кнопок/колеса в пакет и отправляет его по проводу USB или по радиоканалу.
- Драйвер и ОС переводят единицы в пиксели. Смещение умножается на коэффициент, зависящий от чувствительности (DPI) и настроек системы, часто с «ускорением»: при быстром движении курсор проходит больше пикселей, чем при медленном за тот же путь.
- Курсор перерисовывается. Новые координаты считаются так: \[ x_{\text{нов}} = x_{\text{стар}} + \Delta X \cdot k, \qquad y_{\text{нов}} = y_{\text{стар}} + \Delta Y \cdot k \] Система стирает старую стрелку, рисует её в новой точке и не даёт выйти за границы экрана. Именно поэтому стрелка «упирается» в край, а не исчезает.
Важно: перемещение мыши и перемещение курсора — не одно и то же. Если поднять мышь и поставить её в другое место, курсор не сдвинется: он реагирует только на относительное смещение. Кнопки и колесо работают как отдельные события — «щелчок» и «прокрутка», а не как координаты.
Проверка на примере
Мышь с чувствительностью 800 dpi за 1 дюйм пути по столу даёт 800 единиц смещения. При коэффициенте 1:1 курсор пройдёт ровно 800 пикселей. Если в настройках включено ускорение, тот же путь, проделанный быстрее, сдвинет курсор заметно дальше — это легко проверить, сравнив медленное и резкое движение.
Сравнение для понимания: сенсорный экран и графический планшет передают абсолютные координаты («палец здесь»), а мышь — относительные («сдвинулась на столько-то»). Отсюда и разные принципы работы курсора.