XFree86-Second-Mouse mini-HOWTO (Использование второй мыши в системе X)

Greg Wierzchowski

Перевод: Сергей Воложанин, ASPLinux

Аннотация

Краткие инструкции об использовании второй мыши в системе X Window.


Содержание
Введение
Авторское право и Лицензия
Протоколы мыши
XFree 3.x
XFree 4.x
Альтернативные способы
Благодарности

Введение

Данный mini-HOWTO был создан на основе доступной информации из интернет, телеконференций и других HOWTO. Я добивался одновременной работы USB мыши и встроенного трэкпойнта на моей портативной ЭВМ Thinkpad.

Примеры, приведенные в данном mini-HOWTO, соответствуют моей аппаратной конфигурации: первичное устройство - PS/2 мышь, дополнительное - USB мышь с колесом прокрутки. Конечно, возможны и другие варианты, например и PS/2 и последовательная мышь. Будут изменяться два параметра - протокол мыши и тип мыши. Везде, где это будет возможно, я постараюсь приводить примеры.

Команды для системы X разделены на два раздела: один для XFree версии 3, другой для XFree версии 4. Формат файла XF86Config в разных версиях имеет значительные различия. В XFree 3.x вторая мышь определяется в секции Xinput, имеющей синтаксис, слегка отличающийся от синтаксиса обычной секции Pointer. В XFree 4.x вторая мышь определяется еще одним указателем.


Авторское право и Лицензия

Авторские права на данный документ принадлежат Greg Wierzchowski. Он выпущен в соответствии с лицензией GNU Free Documentation License. Связь с автором: greg.wierzchowski@usa.net.

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

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

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

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

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


Протоколы мыши

Два очень важных параметра, отвечающих за корректную работу мыши, содержатся в файле XF86Config. Это параметр Protocol и параметр Device.

Относительно содержания параметра Protocol: очевидно, это имя протокола, поддерживаемого gpm. Далее приводится выдержка из справочной страницы по gpm. (Наиболее распространенные типы):

Таблица 1. Most Common Mouse Protocols in X

Имя протоколаОписание
MicrosoftСтандартная мышь Microsoft.
MouseSystemsСтандартный протокол для трехкнопочных последовательных устройств.
MMSeriesНазвание говорит само за себя. Это декодер для мыши, в любом случае принимающий стандартные последовательные команды.
LogitechПротокол, используемый старыми версиями последовательных мышей Logitech.
BusMouseНекоторые шинные устройства используют этот протокол, включая устройства от Logitech.
PS/2Протокол, используемый большинством мышей для шинного контроллера.
IMPS/2"IntelliMouse" для порта ps/2. Аналогично для USB мыши


XFree 3.x

В системе XFree 3.x дополнительные указательные устройства типа мыши или планшетного указателя определены в секции Xinput. Первичная мышь обычно определена так:
Section "Pointer"
    Protocol    "PS/2"
    Device      "/dev/mouse"
EndSection
В данном случае это обычная, хорошо себя зарекомендовавшая трехкнопочная мышь PS/2. Теперь, для USB мыши:
    Section "Xinput"
  SubSection "Mouse"
    DeviceName "USB Mice"
    Protocol "IMPS/2"
    ZAxisMapping 4 5
    Port "/dev/input/mice"
    Alwayscore
  EndSubSection
EndSection
Моя мышь с колесом прокрутки, таким образом, протокол - IMPS/2. Строка ZAxisMapping необходима для работы колеса прокрутки. Так же я желаю, чтобы данная мышь работала совместно с другими указательными устройствами. Это обеспечивает опция AlwaysCore. Если бы это была последовательная мышь, то Port считывал бы "/dev/ttyS0" для COM1.


XFree 4.x

В системе XFree 4.x еще проще. Первая мышь обычно уже прописана в файле конфигурации:
Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Device" "/dev/mouse"
        Option      "Protocol" "PS/2"
        Option      "Emulate3Buttons" "off"
        Option      "ZAxisMapping" "4 5"
EndSection
Для добавления еще одной мыши просто скопируйте данную секцию и измените данные примерно так, как указано ниже:
Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "IMPS/2"
        Option      "Emulate3Buttons" "off"
        Option      "ZAxisMapping" "4 5"
EndSection
Таким образом Вы можете определить разные дополнительные указательные устройства, то же самое применимо к джойстикам и планшетным указателям.

Для того, чтобы заставить работать мыши совместно, в конфигурационном файле XF86Config необходимо сделать еще одно изменение в секции ServerLayout, где определены все компоненты. Так выглядит содержимое секции перед тем, как мы решили добавить вторую мышь:
Section "ServerLayout"
        Identifier "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
И так она выглядит после добавления второй мыши:
Section "ServerLayout"
        Identifier "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Mouse1" "AlwaysCore"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


Альтернативные способы

Другой метод одновременного использования двух (или более) мышей состоит в использовании программы MultiMouse, созданной Takashi Manabe. Это демон, осуществляющий мультиплексирование мышей, и делающий их доступными как MouseSystems-совместимык мыши через особое устройство /dev/mumse.

От автора: "Данная программа позволяет использовать несколько мышей одновременно. Она разрабатывалась для пользователей, желающих пользоваться подключенными устройствами совместно с внешней мышью, присоединенной к последовательному порту."

Я не уверен, будет ли программа поддерживать мышь, присоединенную не к последовательному порту, MultiMouse можно найти на сайте Sun (sunsite.unc.edu /pub/Linux/system/Misc) и Tucows (www.tucows.com Linux Console -> Utilities).


Благодарности

Большое спасибо всем, кто внес свой вклад в развитие Linux и сделал возможным создание данного HOWTO.