Il tasto centrale del mouse

di C.Merlano

Un problema che affligge spesso i nuovi utenti di Window Manager in Linux e' l'impossibilita' ad usare il tasto centrale del mouse, specialmente se si possiede un mouse Microsoft compatibile.  Tra l'altro e' possibile invece che il tasto centrale funzioni benissimo al di fuori dell'interfaccia grafica, alla consolle.
Se si possiede un mouse con 2 soli tasti allora non c'e' problema, il terzo tasto viene emulato premendo contemporaneamente i tasti destro e sinistro. Il fatto e' che anche in mouse a tre tasti puo' accadere di non riuscire ad usare il tasto centrale, mentre e' possibile emularlo con gli altri due.

Nel 3 BUTTON SERIAL MOUSE MINI-HOWTO di Geoff Short si legge:



Alcuni mouse, di solito non quelli piu' economici, c'e' un interruttore (switch) sotto che indica 2/3 o a volte PC/MS. In questo caso la posizione  2 e' per il modo Microsoft a 2 tasti, e il 3 e' per il modo MouseSystems a 3 tasti. L'interruttore PC/MS e' un po' piu' complicato. Probabilmente la posizione MS e' per Microsoft, e la PC e' per MouseSystems. Si puo' trovare la posizione PC decritta anche come modo PS/2,  ma dovrebbe lavorare anche come MouseSystems. Se avete un simile mouse, potete mettere l'interruttore in posizione 3 o PC, settare gli XConfigs con MouseSystems e il mouse dovrebbe lavorare perfettamente con 3 tasti.
...
Anche alcuni mouse economici possono lavorare sotto il protocollo MouseSystems, con tutti e tre i bottoni funzionanti. Il trucco e' quello di far credere al mouse di essere un MouseSystems, qualcosa che si trova raramente nel manuale.
* Prima di accendere il PC, schiacciare il tasto sinistro del mouse (e tenerlo schiacciato dopo l'accensione del PC fino al suo caricamento).
Quando il mouse si attiva, se il bottone sinistro e' schiacciato, esso passa al modo MouseSystems. Una cosa semplice, ma non sempre riportata dai manuali.


L'HOWTO sopracitato contiene anche altri trucchi (piu' drastici) per utilizzare il tasto centrale.

Dunque, dopo avere posizionato l'interruttore sotto il mouse in posizione 2 o PC (questo l'ho provato e funziona) o dopo avere avviato il sistema tenendo premuto il tasto sinistro (questo non l'ho provato), bisogna configurare il sistema. Piu' o meno tutte le distribuzioni contengono una comoda utility per configurare il mouse. Ad esempio in Slackware si usa setup, mentre in Red Hat c'e' mouseconfig.

Configurazione con mouseconfig

Durante le fasi di installazione di Red Hat si e' incontrata una finestra sulla configurazione del mouse che e' possibile richiamare in ogni momento digitando

[root@localhost /]# mouseconfig
 
 



 






e questo e' cio' che appare sullo schermo. Si selezioni con le frecce SU e GIU' il tipo di mouse evidenziato in figura (Mouse Systems) e con il tasto TAB portarsi sulla richiesta Emulate 3 Buttons? premendo successivamente il tasto SPAZIO per togliere l'asterisco. Infine premere ancora TAB per evidenziare il tasto OK e premere INVIO. La scermata successiva richiede il device che di solito e' /dev/cua0, ma basta sapere la porta COM usata da Win9X per risalire immediatamente al device esatto.

La distribuzione Slackware consente di configurare il mouse attraverso il programma setup che si utilizza per installare il sistema e i programmi.

Dopo avere configurato il mouse puo' essere necessario riavviare la macchina. Fatto cio' si passa alla configurazione  dell'interfaccia grafica di Linux: Xfree86.

Configurazione di XFree86 con xf86config

Di seguito si spiega come rispondere alle richieste del programma xf86config. L'output sullo schermo e' scritto in blu, mentre le nostre risposte sono scritte in rosso (ovviamente in realta' e' tutto scritto in bianco su sfondo nero :-). Le scritte in nero sono i miei commenti.

[root@localhost /]# xf86config

... seguono un paio di schermate dove basta premere INVIO...

First specify a mouse protocol type. Choose one from the following list:

 1.  Microsoft compatible (2-button protocol)
 2.  Mouse Systems (3-button protocol)
 3.  Bus Mouse
 4.  PS/2 Mouse
 5.  Logitech Mouse (serial, old type, Logitech protocol)
 6.  Logitech MouseMan (Microsoft compatible)
 7.  MM Series
 8.  MM HitTablet
 9.  Microsoft IntelliMouse

If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).

Enter a protocol number: 2

You have selected a Mouse Systems protocol mouse. If your mouse is normally
in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options
may cause it to switch to Mouse Systems mode when the server starts.

Please answer the following question with either 'y' or 'n'.
Do you want to enable ClearDTR and ClearRTS? n

A questa domanda provare prima rispondendo n, e se il mouse non dovesse andare dopo la configurazione provare la risposta affermativa.

You have selected a three-button mouse protocol. It is recommended that you
do not enable Emulate3Buttons, unless the third button doesn't work.

Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? n

Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.

Mouse device:

Qui il piu' delle volte e' sufficiente rispondere premendo semplicemente INVIO. Il resto della configurazione riguarda la tastiera, la scheda video, il monitor, eccetera.

Configurazione di XFree86 editando il file XF86Config

Senza bisogno di eseguire xf86config, se lo si e' gia' fatto in precedenza, basta editare il file XF86Config, di solito presente nella directory /etc/ o /etc/X11/ (in Red Hat) o /usr/X11/lib/X11/.
Nella sezione "Pointer" bisogna scrivere le cose seguenti, eventualmente correggendo l'esistente:

Section "Pointer"
#   Protocol        "Microsoft"
   Protocol        "mousesystems"
   Device          "/dev/mouse"
   BaudRate        1200
   Resolution      100
   Buttons         3
EndSection

Tutto il resto presente nella sezione (tra Section "Pointer" e EndSection)  deve essere cancellato o "commentato con un # all'inizio della riga, come ho fatto io con il protocollo "Microsoft".

Conclusione

Fatto tutto cio' siamo pronti a dare startx e ad utilizzare il tasto centrale per il copia e incolla (di solito con il tasto sinistro si seleziona e con il tasto centrale si incolla).