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

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

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

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

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)