Dimensione: 6385
Commento:
|
Dimensione: 6387
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 108: | Linea 108: |
BR Indice() VersioniSupportate(hardy)
Introduzione
Evdev è un modulo per la gestione generica delle periferiche di input di X.org. Permette di gestire qualsiasi tipo di periferica di input ed utilizza direttamente i file descrittori del tipo /dev/input/event*, permettendo un'accesso più diretto alle periferiche; è così possibile sfruttare maggiormente queste, senza subire le limitazioni imposte dall'accesso tramite altri file come /dev/input/mouse*, /dev/input/kbd* o /dev/input/js*.
Preparativi
In Ubuntu 8.04, Hardy Heron, è disponibile la versione 1.2.0 di questo modulo. Per essere sicuri di averlo installato, digitare in un terminale
sudo dpkg -s xserver-xorg-input-evdev | grep Status
La risposta a tale comando deve essere :
Status: install ok installed
Purtroppo il modulo in questo pacchetto è afflitto da bug, come riferito in [https://bugs.launchpad.net/ubuntu/hardy/+source/xserver-xorg-input-evdev questa pagina] su Launchpad. Per ovviare a questo installare una versione più recente presente nei repository di launchpad.
Aprire il file /etc/apt/sources.list con un [:Ufficio/EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] e aggiungere le righe
Aggiungere in fondo le seguenti righe
deb http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main deb-src http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main
Salvare le modifiche e dare
sudo apt-get update
Identificazione del file descrittore
Per una configurazione basilare della periferica, è sufficiente sapere qual'è il suo file descrittore. Per la maggior parte delle periferiche di acquisizione questo si può scoprire con l'analisi dell'output del comando
sudo ls -l /dev/input/by-id/ | grep event
Ad esempio, volendo configurare un particolare mouse della Logitech, nell'output del comando precedente ci sarà
lrwxrwxrwx 1 root root 9 2008-09-16 12:14 usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse -> ../event2
e quindi il file descrittore sarà /dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse.
Per verificare che il file identificato sia quello corretto si può dare il seguente comando
sudo less -f /dev/input/by-id/nome_file
sostituendo a "nome_file", il nome del file identificato in precedenza. Alcune periferiche non permettono l'identificazione "by-id" e si deve usare quella per percorso:
sudo ls -l /dev/input/by-path/ | grep event
un esempio di queste periferiche sono i joystick su gameporto e nell'output ci sarà una riga come
lrwxrwxrwx 1 root root 9 2008-09-16 12:13 pci-gameport0--event-joystick -> ../event6
e il file descrittore sarà /dev/input/by-path/pci-gameport0--event-joystick.
Per verificare che il file identificato sia quello corretto si può dare il seguente comando
sudo less -f /dev/input/by-path/nome_file
sostituendo a "nome_file", il nome del file identificato in precedenza.
Identificando le periferiche tramite percorso, queste cambieranno file ogni volta che verrà fisicamente cambiata la porta a cui è connessa la periferica. |
Se muovendo la periferica o premendo i tasti su di essa compaiono caratteri non leggibili sul terminale, vuol dire che il file è stato identificato correttamente, se invece non compare nulla, si è scelto male il file descrittore, oppure il file descrittore è già utilizzato dal modulo evdev.
Configurazione del server grafico
Una volta identificato correttamente il file, è necessario configurare il server grafico affinché lo usi.
Aprire il file \etc\X11\xorg.conf con un [:Ufficio/EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione]
Se si sta configurando un mouse, una tastiera o un'altra periferica già in uso, bisogna come prima cosa eliminare i riferimenti a questa periferica già presenti.
Controllare quindi nella sezione "ServerLayout" e commentare tutte le righe che si riferiscono a quella periferica aggiungendo un "#" all'inizio della riga.
Sempre all'interno di questa sezione aggiungere una nuova riga, in modo che assuma il seguente aspetto:
Section "ServerLayout" ... # InputDevice "Mouse0" "CorePointer" InputDevice "MouseEvent0" "CorePointer" InputDevice "KeyboardEvent0" "CoreKeyboard" InputDevice "JoystickEvent0" ... EndSection
Notare inoltre che per i mouse è bene aggiungere la stringa "CorePointer" e per le tastiere "CoreKeyboard".
Il testo riportato sopra è solo esemplificativo, non è necessario usare tutte le periferiche di input con il modulo evdev.
Aggiungere una sezione per questa periferica. In fondo al file aggiungere delle righe come le seguenti:
Section "InputDevice" Identifier "Identificativo" Driver "evdev" Option "Path" "/dev/input/by-id/nome_file" EndSection
Dove "Identificativo va sostituito con quello aggiunto nella sezione "ServerLayout" (ad esempio "KeyboardEvent0") mantenendo le virgolette, e "nome_file" con il nome del file che è stato precedentemente trovato.
Configurazione avanzata
L'attuale versione di evdev supporta poche opzioni native, in compenso supporta anche tutte le opzioni di tutti gli altri moduli di input. Ad esempio se si sta configurando una tastiera con evdev, per avere la configurazione italiana, inserire sella sezione "InputDevice" anche una riga che reciti
Option "XkbLayout" "it"
come se si stesse configurando la tastiera con il modulo kbd.
Per avere un elenco di tutte le opzioni utilizzabili consultare i manuali dei moduli per l'input, come
man evdev man joystick man kdb man mousedrv man synaptics man wacom
a seconda del tipo di periferica che si sta configurando.
Ulteriori risorse
[https://launchpad.net/ubuntu/hardy/+source/xserver-xorg-input-evdev Pagina del pacchetto xserver-xorg-input-evdev su Launchpad]