Second Mouse in X mini-HOWTO

Greg Wierzchowski

2001-07-18

Diario delle Revisioni
Revisione 1.22001-11-17Revisionato da: GW
Corretto per il Wheel Mouse in XFree 3.x.
Revisione 1.12001-07-21Revisionato da: GW
Aggiunta sezione "Alternative".
Revisione 1.02001-07-18Revisionato da: GW
Release iniziale.

Istruzioni rapide per abilitare un secondo mouse in X. Traduzione a cura di pctips (pctips AT hardwaretips DOT com) e revisione a cura di Sandro Cardelli.


Sommario
1. Introduzione
2. Copyright e Licenza
3. Protocolli del mouse
4. XFree 3.x
5. XFree 4.x
6. Alternative
7. Crediti

1. Introduzione

Questo mini-HOWTO è stato creato collezionando informazioni tuttora disponibili su Internet, nei newsgroups e negli altri HOWTO. Ho avuto la necessità di collegare un mouse USB in aggiunta al puntatore integrato del mio portatile Thinkpad.

Gli esempi di questo mini-HOWTO concernono la mia particolare configurazione hardware, che è costituita da un mouse PS/2 come puntatore primario e da un wheel mouse usb come puntatore addizionale. Dovrebbe essere altrettanto facile implementare un'altra combinazione come un mouse PS/2 con uno seriale. I due parametri che devono essere modificati sono il protocollo ed il dispositivo del mouse. Ovunque possibile, cercherò di fornire degli esempi appropriati.

Le istruzioni per X sono divise in due sezioni, una per la versione 3 di XFree ed una per XFree 4. Il formato di XF86Config è stato modificato significativamente tra le due versioni e richiede approcci leggermente differenti. In XFree 3.x, il secondo mouse deve apparire nella sezione Xinput, che ha una sintassi leggermente differente dalla sezione regolare Pointer. In XFree 4.x, è semplicemente un altro puntatore.


2. Copyright e Licenza

This document is copyright 2001 by Greg Wierzchowski and is released under the terms of the GNU Free Documentation License, which is hereby incorporated by reference. Send feedback to greg.wierzchowski@usa.net.

Questo documento è copyright 2001 di Greg Wierzchowski ed è rilasciato sotto i termini della GNU Free Documentation License, che è qui incorporata come riferimento. Inviate i vostri suggerimenti a greg.wierzchowski@usa.net.


3. Protocolli del mouse

I due parametri più importanti del file XF86Config, ossia quelli cruciali per il funzionamento corretto del mouse, sono Protocol e Device.

Per quanto concerne Protocol, sembra che gpm usi nomi di protocollo compatibili, per cui date un'occhiata qui per informazioni dettagliate. Questo è un estratto della pagina info di gpm (semplicemente i pochi tipi più diffusi):

Tabella 1. Protocolli del mouse più comuni in X

Nome del protocolloDescrizione
MicrosoftMouse standard Microsoft.
MouseSystemsIl protocollo standard per mouse seriali a tre bottoni.
MMSeriesIl titolo dice già tutto. Questo decodificatore per mouse accetta le opzioni seriali standard, sebbene esse non dovrebbero essere richieste.
LogitechIl protocollo usato dai vecchi mouse seriali Logitech.
BusMouseAlcuni dispositivi bus usano questo protocollo, inclusi quelli prodotti da Logitech.
PS/2Il protocollo usato dalla maggior parte dei mouse bus.
IMPS/2"IntelliMouse" sulla porta ps/2. Funziona anche con i mouse USB.


4. XFree 3.x

In XFree 3.x, i dispositivi di puntamento aggiuntivi, come mouse e tavolette, sono definiti attraverso l'uso della sezione Xinput. Il mouse principale è definito come di consueto:

Section "Pointer"
    Protocol    "PS/2"
    Device      "/dev/mouse"
EndSection
In questo esempio, si tratta di un normale mouse ps/2 a tre bottoni, che funziona bene per il puntatore integrato. Ora, per il mouse USB:
    Section "Xinput"
  SubSection "Mouse"
    DeviceName "USB Mice"
    Protocol "IMPS/2"
    ZAxisMapping 4 5
    Port "/dev/input/mice"
    Alwayscore
  EndSubSection
EndSection
Il mio mouse è un wheel mouse, per cui il protocollo da usare è IMPS/2. La linea ZAxisMapping è necessaria per far funzionare la rotella per lo scroll. Inoltre voglio che il mouse funzioni in contemporanea all'altro, e ciò è reso possibile dall'opzione AlwaysCore. Se, ad esempio, si fosse trattato di un mouse seriale, l'opzione Port doveva essere impostata su "/dev/ttyS0" per la porta COM1.


5. XFree 4.x

Con XFree 4.x il lavoro è persino più semplice. Per prima cosa, il mouse principale, in genere già presente nel file di configurazione:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Device" "/dev/mouse"
        Option      "Protocol" "PS/2"
        Option      "Emulate3Buttons" "off"
        Option      "ZAxisMapping" "4 5"
EndSection
Per aggiungere un altro mouse semplicemente copiate questa sezione e modificatela, in modo tale che si legga:
Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "IMPS/2"
        Option      "Emulate3Buttons" "off"
        Option      "ZAxisMapping" "4 5"
EndSection
Bene, in questo modo potete configurare tanti puntatori aggiuntivi quanti ne volete, e lo stesso discorso si applica ai joystick ed alle tavolette.

Per far funzionare i due mouse insieme, c'è un ulteriore cambiamento da effettuare al file XF86Config. Al suo interno è presente una sezione chiamata ServerLayout dove sono specificati tutti i componenti. Ecco come essa si mostra prima di aggiungere un secondo mouse:

Section "ServerLayout"
        Identifier "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
E dopo l'aggiunta del secondo mouse:
Section "ServerLayout"
        Identifier "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Mouse1" "AlwaysCore"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


6. Alternative

Un altro modo per utilizzare due o più mouse contemporaneamente consiste nell'utilizzare un programma come MultiMouse di Takashi Manabe. Esso è un demone che "fonde" diversi mouse e li rende accessibili attraverso il dispositivo speciale /dev/mumse come un mouse compatibile con il protocollo MouseSystems.

In accordo con l'autore: "Questo programma vi permette di utilizzare mouse multipli contemporaneamente. Questo programma è stato sviluppato per gli utenti che vogliono usare un dispositivo di puntamento integrato insieme ad un mouse seriale esterno."

Non sono sicuro che il programma supporti un secondo mouse non seriale, ma il vantaggio è che il secondo mouse funziona anche nella console. MultiMouse può essere trovato presso Sunsite (/pub/Linux/system/Misc) e Tucows (Linux Console -> Utilities).


7. Crediti

Un ringraziamento speciale a tutte le persone che contribuiscono alla comunità Linux e che hanno reso possibile la stesura di questo HOWTO.