Компьютерная мышь, подключаемая через COM-порт (последовательный интерфейс RS-232), до сих пор встречается на старых промышленных ПК, в ретро-сборках и системах, где USB недоступен или занят специализированным оборудованием. Опознать такую мышь просто: у неё разъём DB-9 (реже DB-25) с девятью контактами, а не круглый PS/2 и не плоский USB.

Главная сложность в том, что последовательная мышь не определяется автоматически, как современные USB-устройства: ей нужны правильный порт, корректные настройки прерывания и часто отдельный драйвер. Ниже разберём, как устроено взаимодействие мыши с COM-портом, как её подключить и что проверять, если курсор не двигается.

Как мышь работает через COM-порт

Последовательная мышь передаёт данные о перемещении и нажатии кнопок по протоколу RS-232 — тому же, что используют модемы, сканеры штрих-кодов и промышленные контроллеры. При включении компьютер подаёт на мышь питание через линии RTS и DTR, а мышь отвечает идентификационным байтом (обычно символом M), по которому драйвер понимает, что устройство подключено.

Данные передаются небольшими пакетами: по три байта на событие для классического протокола Microsoft Mouse и до пяти байтов для расширенных протоколов с колесом прокрутки. Скорость обмена обычно составляет 1200 бод — этого достаточно, потому что объём информации от мыши минимален.

💡

COM-мышь питается от сигнальных линий порта (RTS/DTR), поэтому без активного драйвера или инициализации порта она даже не включится — светодиод оптопары не загорится.