Таблица 1. Разъем Bus Mouse
Контакт | Сигналы | Контакт | Сигналы |
1 | Vcc | 6 | Lb - левая кнопка |
2 | Xa – датчик X | 7 | Mb - средняя кнопка |
3 | Xb – датчик X | 8 | Rb – правая кнопка |
4 | Xa – датчик Y | 9 | GND |
5 | Xb – датчик Y | - | - |
Рис 1. Разъем Bus Mouse
Serial Mouse - мышь с последовательным интерфейсом, подключаемая через 25 или 9-штырьковый разъем СОМ-порта (табл. 2). Имеет встроенный микроконтроллер, который обрабатывает сигналы от координатных датчиков и кнопок. Каждое событие кодируется двоичной посылкой по интерфейсу RS-232C, а питание производится от интерфейса. Мышь с последовательным интерфейсом - Serial Mouse - может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно применение переходника DB-9S-DB-25P или DR25S-DB-9P. Для мыши требуется прерывание, для порти COM1 - IRQ4, для COM2 - IRQ3. Жесткая привязка номера IRQ к номеру порта обусловлена свойствами драйверов. Каждое событие - перемещение мыши или нажатие-отпускание кнопки - кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса (табл. 2).
Таблица 2. Разъемы Serial Mouse
Сигнал | Контакт | - |
- | DB-9 | DB-25 |
Data | 2 | 3 |
GND | 5 | 7 |
+V (питание) | 4,7 | 4,20 |
-V (питание) | 3 | 9 |
Две разновидности Serial Mouse - MS-Mouse и РС-Mouse (Mouse Systems Mouse) - требуют соответствующих драйверов, многие мыши имеют переключатель MS/PC. Мышь с «чужим» драйвером либо не отзывается, либо «скачет» загадочным образом. Эти разновидности используют различные форматы посылок при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля четности Microsoft-Mouse использует 7 бит данных, а PC-Mouse - 8 бит. Мышь посылает пакет при каждом изменении состояния: перемещении, нажатии или отпускании кнопки. Пакет, передаваемый MS-Mouse, состоит из трех байт (табл. 3). РС-Mouse передает 5 байт (табл. 4). Здесь LB (Left Buttom), MB (Middle Buttom) и RВ (Right Buttom) означают состояние левой, средней и правой кнопок, Х[7:0] и Y[7:0] - биты относительного перемещения мыши с момента предыдущей посылки по координатам X и Y. Положительным значениям соответствует перемещение по координате X вправо, а по координате Y - вниз для MS-Mouse и вверх для РС-Mouse. Отсюда становятся понятными беспорядочные перемещения курсора на экране при несоответствии драйвера типу мыши.
Таблица 3. Формат пакета MS-Mouse.
Биты | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1-й байт | 1 | LB | RB | Y7 | Y6 | Y7 | Y6 |
2-й байт | 0 | X5 | X4 | X3 | X2 | X1 | X0 |
3-й байт | 0 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
Таблица 4. Формат пакета РС-Mouse (Mouse Systems Mouse).
Биты | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1-й байт | 1 | 0 | 0 | 0 | 0 | LB | MB | RB |
2-й байт | X7 | X6 | X5 | X4 | X3 | X2 | X1 | X0 |
3-й байт | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
4-й байт | Совпадает со 2-м байтом | |||||||
5-й байт | Совпадает со 3-м байтом |
PS/2-Mouse - мышь, появившаяся с компьютерами PS/2. Ее интерфейс и 6-штырьковый DIN мини-разъем аналогичны клавиатурному (рис. 2). Адаптер и разъем PS/2-Mouse устанавливается на современных системных платах brand-namе. Контроллер такой мыши может входить и в контроллер клавиатуры или занимать дополнительные адреса в пространстве ввода/вывода. Для PS/2-Mullse используется прерывание IRQI2.