3 Button Serial Mouse mini-HOWTO

Geoff Short

Перевод: Александр Ермолаев, ASPLinux

Аннотация

В данном документ описывается, как правильно настроить 3-х кнопочную мышь, чтобы она работала в консоли и X-Windows.


Содержание
Ответственность
Авторские права
Введение
Последовательные порты
Переключаемые мыши
Обычная мышь
Переключение мыши в 3-х кнопочный режим
Мыши с колесиком
Использование GPM для переключения режимов
Использование 2-х мышей
Примеры файлов Xconfig и X86Config
Кабели, расширения и адаптеры
Различные проблемы и их решения
Протестированные модели
Дополнительная информация
Заключение

Ответственность

Использование любых инструкций и методов предложенных в этом документе - предмет доброй воли читателя. Автор не не берет на себя ответственности за любой ущерб, который может быть прямо или косвенно причинен использованием инструкций, предложенных в данном документе.


Авторские права

Авторские права на русский перевод этого текста принадлежат (c) 2000 ASPLinux Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но так или иначе автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: , или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу


Введение

Большинство последних версий этого документа находятся по адресу http://kipper.york.ac.uk/mouse.html

Японский перевод http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc; и французский http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html. Другие переводы также могут быть доступны - проверьте ваши локальные LDP зеркала.

Большинство приложений для X написано в расчете на то, что пользователь будет использовать 3-х кнопочную мышь. Чаще всего такие мыши "совместимы" с протоколом мыши, разработанным фирмой Microsoft что (теоретически) означает, что они должны быть идеально совместимы и с X Windows.

Большинство мышей работают в двух режимах:

Этот документ подскажет вам действия, необходимые, чтобы настроить вашу мышь для работы в двух различных режимах, особенно будет уделено внимание использованию наиболее полезного 3-х кнопочного режима.

Хотя дистрибутивы обеспечивают простую установку, проблемы все же пока остаются. Например, в RedHat есть программа mouseconfig для настройки мыши. Однако, в некоторых версиях RH5.0 есть ошибка в этой программе, поэтому убедитесь, что у вас есть для нее исправления.


Последовательные порты

Первое, что необходимо сделать при настройке мыши - это убедиться, что программы могут её обнаруживать. Определите к какому из портов подключена мышь - обычно это /dev/ttyS0 (COM1 в DOS) или /dev/ttyS1 (COM2 в DOS) (ttyS0 - чаще всего 9 контактный разъем , а ttyS1 - 25 контактный). Также существуют соответствующие устройства /dev/cua, которые идентичны ttyS устройствам , но в настоящее время почти не используются. Для надежности также сделайте соответствующую ссылку /dev/mouse. Например для порта /dev/ttyS0:

ln -s /dev/ttyS0 /dev/mouse


Переключаемые мыши

Некоторые мыши (не самые дешевые обычно) имеют переключатель для переключения между 2-мя протоколами : Microsoft и Mousesystems. Второй отличается от первого тем, что обеспечивает нам все три клавиши. Такие переключатели обычно обозначаются как 2/3 или PC/MS. Где 2 или MS обозначает 2-х кнопочный совместимый с протоколом Microsoft режим, а 3 или PC - режим поддержки протокола MouseSystems (т.е.поддержка всех 3-х клавиш) Если вы - счастливый обладатель именно такой мыши, то для поддержки 3-х кнопочного режима вам всего лишь необходимо указать протокол MouseSystems в вашем Xconfig и установить соответствующее положение переключателя на мыши, и идеальная поддержка всех 3-х кнопок вам практически обеспечена.


Обычная мышь

Если ваша мышь не оснащена переключателем и у вас нет никаких инструкций насчет переключения режима её работы, то придется экспериментировать. Для начала попробуйте установить в Xconfig режим поддержки мыши Microsoft. Если производитель мыши ничего не напутал, написав на коробке Microsoft Compartible, и мышь 100% совместима с протоколами MS, то это должно помочь ввести её в правильный режим работы.

Если при указании такого типа протокола мышь отказывается работать вообще, то у вас явно не Microsoft-совместимая мышь. Можете попробовать разыскать информацию о протоколе вашей мыши в страницах руководства к файлам конфигурации или заглянуть в раздел "Проблемы" в конце этого документа.

Если же вы обнаружите, что в режиме Microsoft работают только две крайних клавиши мыши (самый распространенный случай), то у вас есть два варианта: включить эмуляцию 3-й клавиши (когда её нажатие эмулируется нажатие двух крайних) (Но зачем вам в таком случае 3-х кнопочная мышь ?), или продолжить читать и попробовать один из описанных в этом документе способов переключения мыши в трехкнопочный режим.


Переключение мыши в 3-х кнопочный режим

Даже самые дешевые мыши обычно также могут работать с протоколом Mouse Systems, и, соответственно, с возможностью использования всех 3 кнопок. Весь вопрос заключается в том , как заставить мышь думать, что она - поддерживает Mouse Systems. Далее описаны несколько спобосов сделать это.

Когда мышь получает питание, она проверяет, не нажата ли левая клавиша мыши и, если она нажата, то происходит автоматическое переключение в режим Mouse Systems. (!!!Внимание при простой перезагрузке компьютера (без отключения питания) мышь не выключается , поэтому для использования описанного выше метода надо отключить питание компьютера).

Т.о. перед вами выбор. Либо работать мышью с двумя кнопками, либо доработать переключатель мыши и установить в X использование 3-х кнопочной мыши.


Мыши с колесиком

Мыши с колесиком, которые обрели в последнее время популярность имеют дополнительное действие в протоколе - скроллинг. Для его поддержки необходимо иметь достаточно новый X сервер и произвести соответствующую настройку программ. Более полное руководство по настройке таких устройств вы можете найти по адресу : http://www.inria.fr/koala/colas/mouse-wheel-scroll/

В общем, вам понадобится довольно новый Xserver, чтобы использовать функции прокрутки, т.к. некоторые старые серверы будут распознавать эту функцию как нажатие клавиши. Например, Intellimouse поддерживается XFree 3.3.1 и более новыми версиями.


Использование GPM для переключения режимов

gpm - это драйвер мыши для консольного режима, он включен практически во все дистрибутивы Linux, и обычно запускается из скрипта /etc/rc.d/rc.local. Примечательно, что дистрибутивы не всегда содержат наиболее последние версии (1.13 на момент написания), которые можно найти на зеркалах сайта sunsite.unc.edu.

Основные режимы поддержимые GPM:
gpm -t ms
gpm -t msc
gpm -t help

первые два - для режимов Microsoft или MouseSystems, третий для опроса мыши и вывода результатов опросов. Чтобы запустить gpm в режиме MouseSystems, вам может придется использовать параметр -3 и, возможно, установить опцию DTR, используя параметр -o dtr:

gpm -3 -o dtr -t msc

gpm часто способен распознать все три клавиши мыши, даже в режиме Microsoft. А новые версии (1.0 или более новые (?)) могут предоставить эту информацию другим программам. Для этого, вам необходимо запустить gpm с параметром -R, подобно этому:
gpm -R -t ms
Этим самым gpm реэкспортирует данные от мыши новому устройству, называемому /dev/gpmdata, которое позволяет видеть мышь другим программам. Примечательно, что это устройство всегда использует протокол MouseSystems. Вы можете настроить ваш Xconfig, чтобы использовать это устройство, вместо /dev/mouse, как показано ниже, но тогда вы должны гарантировать, что gpm всегда будет запущен, когда вы используете X. Некоторые сообщают, что иногда средняя кнопка мыши не корректно интерпретируется X, используя этот метод, такое возможно лишь до установки мыши.

Изменение раскладки клавиш для gpm и X (gustafso@math.utah.edu)

Вы можете обнаружить, что gpm и X используют различные раскладки основных клавиши мыши, т.о. использование обеих систем на одной и той же машине, может быть запутанным. Чтобы сделать в X использование одинаковых клавиш для операций выделения и вставки, как в gpm, используйте команду X

xmodmap -e "pointer = 1 3 2"
после чего левая клавиша будет использоваться для выделения, а правая для вставки, для 2-х и 3-х кнопочных мышей. Чтобы вынудить GPM использовать стандартную X раскладку, запускайте его с параметром -B, например:
gpm -t msc -B 132


Использование 2-х мышей

В некоторых случаях, например на ноутбуке с встроенных указателем, вы можете использовать последовательную мышь в качестве второго устройства. В большинстве случаев встроенное устройство использует протокол PS/2, что позволяет просто игнорировать его при конфигурировании мыши. Просто настройте gpm или X так, чтобы использовать /dev/ttyS0.

Если же вы, по некой причине, хотите использовать два устройства одновременно, то вам необходимо использовать опцию -M при запуске gpm, чтобы реэкспортировать устройства. Также вы можете для этой же цели использовать XInput. (Обычно необходимые строки с XInput уже есть в закомментированом виде в автоматически сгенерированном файле XF86Config).


Примеры файлов Xconfig и X86Config

Расположение файлов конфигурации X зависит от конкретного дистрибутива, обычно это /etc/Xconfig, /etc/XF86Config или /usr/X11/lib/X11/XF86Config. Для того, чтобы определить, какой файл используется, посмотрите за тем, что выводится на экран при запуске X. Название файла обычно будет выведено в самом начале перед всеми опциями. Синтаксис файлов XF86Config и Xconfig различен, поэтому привожу оба варианта.

MS-совместимая последовательная мышь

MS-совместимая мышь с эмуляцией 3й кнопки

MSS-совместимая мышь с 3 кнопками

MS-совместимая мышь с gpm -R


Кабели, расширения и адаптеры

В кабеле мыши необходимы следующие провода: TxD и RxD для передачи данных, RTS и/или DTR для питания и земли. Номера контактов будут следующие:
            9-контактный порт     25-контактный порт
    TxD            3                     2
    RxD            2                     3
    RTS            7                     4
    DTR            4                     20
    Gnd            5                     7

Вышеприведенная таблица может быть использована, если вы хотите сделать переходники между 9- и 25-контактными вилками, или удлинители.


Различные проблемы и их решения


Протестированные модели

Существует огромное количество различных моделей мышей, и я не стал бы рекомендовать одну из них в ущерб другой. Ниже приведен список мышей, которые после определенных настроек (или вовсе без них) могут работать в Linux с использованием всех 3х кнопок. Любые добавления к этому списку только приветствуются.

Mouse Systems оптическая мышь, версия для последовательного порта

WiN mouse

Agiler Mouse 2900

Sicos mouse

Artec mouse

DynaPoint 3 кнопочная последовательная мышь

Genius Easymouse трех-кнопочная мышь

Truemouse, сделано в Тайване

Champ brand mouse

MicroSpeed mouse

Venus brand ($7)

Saturn

Manhattan mouse

Inland mouse

qMouse (3 кнопки), FCC ID E6qmouse X31

Mitsumi Mouse (2 кнопки), FCC ID EW4ECM-S3101

Мышь PC Accessories, которую я получил от CompUSA за $10

First Mouse

Trust 3-х кнопочная мышь

Chic 410

KeyMouse 3-х кнопочная мышь

Qtronix keyboard `Scorpio 60'

Tecra 720 laptop

Мышь Anubis

Мышь Yakumo No.1900

Genius `Easy Trak' Trackball

Highscreen Mouse Pro

Logitech CA

Мышь A4-Tech

Мышь Vertech

Boeder M-7 ``Bit Star'' (и другие серии M, кроме M13)

Мышь Mouse Systems ``Scroll'' (4 кнопки и колесо-кнопка)

Radio Shack 3-х кнопочная мышь для последовательного порта

Dexxa для последовательного порта

Belkin 3-х кнопочная мышь


Дополнительная информация


Заключение

Большая часть информации для этого документа выужена из различных конференций по linux. Мне очень жаль, что я не сохранил запись о каждом, кто косвенно мне способствовал, огромное спасибо всем.

Итак, подведем итог: