Problemi in questa pagina? Segnalali in questa discussione
Introduzione
evdev è un modulo per la gestione generica delle periferiche di input di X. Consente la gestione di qualsiasi tipo di periferica di input e utilizza direttamente dei file descrittori come /dev/input/event*, permettendo un'accesso più diretto alle periferiche; è così possibile sfruttare maggiormente queste, senza subire le limitazioni imposte dall'accesso tramite gli altri file come /dev/input/mouse*, /dev/input/kbd* o /dev/input/js*.
Preparativi
Aprire il file /etc/apt/sources.list con un editor di testo ed i privilegi di amministrazione e aggiungere le seguenti righe:
deb http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main deb-src http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main
Per aggiornare la lista dei pacchetti e installare la versione aggiornata di xserver-xorg-input-evdev è sufficiente digitare i seguenti comandi in una finestra di terminale:
sudo apt-get update sudo apt-get upgrade
Identificazione del file descrittore
Per una configurazione di base della periferica, è sufficiente conoscere il suo file descrittore; digitare il seguente comando in una finestra di terminale:
sudo ls -l /dev/input/by-id/ | grep event
Per esempio, se si desidera configurare una periferica di imput, nel risultato del comando precedente potrebbe essere presente una riga simile alla seguente:
lrwxrwxrwx 1 root root 9 2008-09-16 12:14 usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse -> ../event2
In questo caso, il file descrittore sarà /dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse.
Per verificare la correttezza delle informazioni ottenute dal precedente comando, è utile digitare il seguente comando in una finestra di terminale:
sudo less -f /dev/input/by-id/nome_file
Sostituire la dicitura «nome_file» com il nome del file identificato in precedenza.
Identificazione delle periferiche di gioco
Alcune periferiche non permettono l'identificazione tramite l'ID, quindi si deve utilizzare quella per percorso; digitare il seguente comando in una finestra di terminale:
sudo ls -l /dev/input/by-path/ | grep event
Un esempio di queste periferiche sono i joystick su gameport0 e nel risultato del precedente comando sarà presente una riga simile alla seguente:
lrwxrwxrwx 1 root root 9 2008-09-16 12:13 pci-gameport0--event-joystick -> ../event6
In questo caso il file descrittore è /dev/input/by-path/pci-gameport0--event-joystick.
Per verificare la correttezza delle informazioni ottenute dal precedente comando, è utile digitare il seguente comando in una finestra di terminale:
sudo less -f /dev/input/by-path/nome_file
Sostituire la dicitura «nome_file» com il nome del file identificato in precedenza.
Quando si identificano le periferiche per percorso, è utile notare che queste cambieranno file ogni volta che verrà fisicamente cambiata la porta a cui vengono connesse.
Se muovendo la periferica o premendo i tasti su di essa compaiono caratteri non leggibili sul terminale allora il file è stato identificato correttamente, altrimenti tale file non è quello corretto o viene già utilizzato da evdev.
Configurazione del server grafico
Una volta identificato correttamente il file, è necessario configurare X.
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. Aprire il file /etc/X11/xorg.conf con un editor di testo e con i privilegi di amministrazione, controllare nella sezione «ServerLayout» e commentare tutte le righe che si riferiscono a tale periferica aggiungendo il carattere «#» 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
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 in questione.
Ora è necessario aggiungere una sezione per questa periferica; in fondo al file aggiungere delle righe simili alle seguenti:
Section "InputDevice" Identifier "Identificativo" Driver "evdev" Option "Path" "/dev/input/by-id/nome_file" EndSection
La dicitura «Identificativo» deve essere sostituita con l'identificativo aggiunto nella sezione «ServerLayout» (per esempio «KeyboardEvent0») mantenendo le virgolette, e «nome_file» con il nome del file descrittore identificato in precedenza.
L'attuale versione di evdev supporta poche opzioni native, in compenso supporta tutte le opzioni degli altri moduli di input; per esempio, se si desidera configurare una tastiera per la lingua italiana, inserire nella sezione «InputDevice» una riga simile alla seguente:
Option "XkbLayout" "it"