Документация по LinuxLinuxDoc.Ru 🔍

mouse - последовательный интерфейс мыши

НАЗВАНИЕ
mouse - последовательный интерфейс мыши

НАСТРОЙКА
Мышь подсоединяется к последовательному порту RS232/V24.
Для получения более подробной информации прочтите ttys(4)

ОПИСАНИЕ
Введение
ниже приведена описание разъема c девятью штырями,
используемого для подключения мыши:
штырь название используется для
2 RX Данные
3 TX -12 V, Imax = 10 mA
4 DTR +12 V, Imax = 10 mA
7 RTS +12 V, Imax = 10 mA
5 GND Заземление
Это описание приводится в документации, хотя 9-и V хватит
почти любой мыши.

Драйвер мыши может распознать мышь, посылая слабый сигнал
RTS и затем увеличивая его. Примерно через 14 миллисекунд
мышь вернет 0x4D ('M'). Еще через 63 милисекунды
трехкнопочная мышь Microsoft-compatible вернет сигнал 0x33
('3').

Относительное движение мыши посылается как dx
(положительное значение означает движение направо) и dy
(положительное значение означает движение вниз). Различные
мыши могут работать с разными скоростями. Для определения
скорости устанавливаются следующие ее значения (по
очереди): 9600, 4800, 2400 и 1200 бит/с; каждый раз при
установке значения скорости пишутся 2 символа из таблицы,
приведенной ниже, и после этого идет время ожидания,
равное 0,1 секунды. В таблице указаны скорости и символы,
соответствующие им:
бит/с символы
9600 *q
4800 *p
2400 *o
1200 *n
первый байт из пакета может использоваться для
синхронизации.

Протокол Microsoft
Протокол Microsoft использует один начальный бит, 7 битов
данных (без проверки четности), один стоп-бит; протокол
работает со скоростью 1200 бит/с. Данные пересылаются в
RxD трехбайтовыми пакетами. Движения по dx и dy
пересылаются как дополнения друг друга. Значение 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 имеет две кнопки. Но есть несколько
трехкнопочных мышей, также использующих протокол
Microsoft. О нажатии средней кнопки сообщается отсыланием
пакета с нулевым движением и ненажатыми клавишами. (Таким
образом, в отличие от двух других кнопок, статус средней
не отображается в каждом пакете).

Протокол Logitech
Трехкнопочная мышь Logitech использует варианты протокола
Microsoft: когда средняя кнопка отпущена, посылается
вышеописанный трехбайтовый пакет, а когда она нажата,
посылается четырехбайтовый пакет, где четвертый байт имеет
значение 0x20. В частности, о нажатии средней кнопки
сообщается с помощью пакета 0,0,0,0x20 при том, что
остальные кнопки остаются ненажатыми.

Протокол Mousesystems
Протокол Mousesystems использует один начальный бит, 8
битов данных, не использует проверку по четности и два
стоп-бита при скорости 1200 бит/с. Данные посылаются на
RxD пятибайтовыми пакетами. dx посылается как совокупность
двух величин, состоящих из двух частей, dy посылается как
совокупность двух отрицательных величин, состоящих из двух
частей. 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
Протокол Sun - это трехбайтовая версия протокола Mousesys-
tems (описанного выше), только два последних байта не
отсылаются.

Протокол MM
Протокол MM производит проверку на нечетность, использует
один начальный бит, восемь битов данных и один стоп-бита
при скорости 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
- это обычно используемая символьная ссылка на
устройство "мышь".
Читать новости Linux в Telegram
Linux - mouse - последовательный интерфейс мыши
Мы в соцсетях ✉