mouse -
последовательный
интерфейс
мыши
Мышь
подключается
последовательному
порту RS232/V24,
описание
смотрите в
ttyS(4).
Описание
разъёма c 9
контактами,
используемого
для
подключения
мыши:
контакт |
название |
назначение |
2 |
RX |
Данные |
3 |
TX |
-12 В, Iмакс = 10
мА |
4 |
DTR |
+12 В, Iмакс = 10
мА |
7 |
RTS |
+12 В, Iмакс = 10
мА |
5 |
GND |
Земля |
Такое
описание
приводится
в
документации,
почти
любой мыши
хватает 9 V.
The mouse driver can recognize a mouse by dropping RTS to low and raising it
again. About 14 ms later the mouse will send 0x4D ('M') on the data line.
After a further 63 ms, a Microsoft-compatible 3-button mouse will send 0x33
('3').
Относительное
движение
мыши
посылается
как
dx
(положительное
значение
означает
движение
направо) и
dy
(положительное
значение
означает
движение
вниз).
Различные
мыши могут
работать
на разных
скоростях.
Для
определения
скорости
устанавливаются
следующие
её
значения
(по очереди):
9600, 4800, 2400 и 1200 бит/с;
каждый раз
при
установке
значения
скорости
пишутся 2
символа из
таблицы,
приведённой
ниже, и
после
этого
выполняется
ожидание,
равное 0,1
секунды. В
таблице
указаны
скорости и
символы,
соответствующие
им:
бит/с |
строка |
9600 |
*q |
4800 |
*p |
2400 |
*o |
1200 |
*n |
Первый
байт из
пакета
данных
может
использоваться
для
синхронизации.
В
протоколе
Microsoft
используется
один
начальный
бит, 7 битов
данных (без
проверки
четности),
один
стоп-бит;
протокол
работает
со
скоростью 1200
бит/с.
Данные
пересылаются
по RxD
трёх-байтовыми
пакетами.
Движения
по
dx и
dy
пересылаются
в коде
дополнения
до 2.
Значения
lb
(
rb),
устанавливаемые
при
нажатии
левой
(правой)
кнопки:
байт |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
lb |
rb |
dy7 |
dy6 |
dx7 |
dx6 |
2 |
0 |
dx5 |
dx4 |
dx3 |
dx2 |
dx1 |
dx0 |
3 |
0 |
dy5 |
dy4 |
dy3 |
dy2 |
dy1 |
dy0 |
Первоначально
мышь Microsoft
имела две
кнопки. Но
есть
несколько
трёх-кнопочных
мышей,
также
использующих
протокол Microsoft.
О нажатии
или
отпускании
средней
кнопки
сообщается
отправкой
пакета с
нулевым
движением
и
ненажатыми
клавишами.
(Таким
образом, в
отличие от
двух
других
кнопок,
состояние
средней в
каждом
пакете не
передаётся).
Трёх-кнопочная
мышь Logitech
представляет
собой
расширенный
вариант
протокола
Microsoft: когда
средняя
кнопка
отпущена,
посылается
вышеописанный
трёх-байтовый
пакет, а
когда она
нажата,
посылается
четырёх-байтовый
пакет, где
четвёртый
байт имеет
значение 0x20
(или, как
минимум, в
нём
установлен
бит 0x20). В
частности,
о нажатии
средней
кнопки
сообщается
с помощью
пакета 0,0,0,0x20
при том, что
остальные
кнопки
остаются
ненажатыми.
В
протоколе
Mousesystems
используется
один
начальный
бит, 8 битов
данных, без
проверки
чётности и
два
стоп-бита
при
скорости 1200
бит/с.
Данные
посылаются
по RxD
пяти-байтовыми
пакетами.
dx
посылается
как сумма
значений в
коде
дополнения
до 2,
dy
посылается
как
отрицательная
сумма
значений в
коде
дополнения
до 2.
lb (
mb,
rb)
обнуляются
при
нажатии
левой
(средней,
правой)
кнопки:
байт |
d7 |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
0 |
0 |
0 |
0 |
lb |
mb |
rb |
2 |
0 |
dxa6 |
dxa5 |
dxa4 |
dxa3 |
dxa2 |
dxa1 |
dxa0 |
3 |
0 |
dya6 |
dya5 |
dya4 |
dya3 |
dya2 |
dya1 |
dya0 |
4 |
0 |
dxb6 |
dxb5 |
dxb4 |
dxb3 |
dxb2 |
dxb1 |
dxb0 |
5 |
0 |
dyb6 |
dyb5 |
dyb4 |
dyb3 |
dyb2 |
dyb1 |
dyb0 |
Четвёртый
и пятый
байты
описывают
изменения,
произошедшие
за время
передачи
второго и
третьего
байта.
Протокол
Sun
представляет
собой
трёх-байтовую
версию
протокола
Mousesystems
(описанного
выше): два
последних
байта не
отсылаются.
В
протоколе
MM
используется
один
начальный
бит, 8 битов
данных,
контроль
по
нечётности
и один
стоп-бит
при
скорости 1200
бит/с.
Данные
посылаются
по RxD
трёх-байтовыми
пакетами.
dx
и
dy
отсылаются
как
единичные
значения
со знаком,
бит знака
указывает
на
отрицательное
значение.
lb
(
mb,
rb)
устанавливаются
при
нажатии
левой
(средней,
правой)
кнопки:
байт |
d7 |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
0 |
0 |
dxs |
dys |
lb |
mb |
rb |
2 |
0 |
dx6 |
dx5 |
dx4 |
dx3 |
dx2 |
dx1 |
dx0 |
3 |
0 |
dy6 |
dy5 |
dy4 |
dy3 |
dy2 |
dy1 |
dy0 |
- /dev/mouse
- Обычно
используется
символьная
ссылка на
устройство
мыши.
ttyS(4),
gpm(8)
Русский
перевод
этой
страницы
руководства
был сделан
aereiae <
[email protected]>, Alexey <
[email protected]>, Azamat
Hackimov <
[email protected]>, Dmitriy S. Seregin
<
[email protected]>, Dmitry Bolkhovskikh <
[email protected]>,
ITriskTI <
[email protected]>, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]>, Иван
Павлов <
[email protected]>
и Малянов
Евгений
Викторович
<
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]