Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 36 del 07/10/2008 15.17.45

Nascondi questo messaggio

BR Indice() VersioniSupportate(hardy)

Anchor(introduzione)

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 [:Ufficio/EditorDiTesto:editor di testo] ed i [:AmministrazioneSistema/Sudo: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 usare quella per percorso:

sudo ls -l /dev/input/by-path/ | grep event

un esempio di queste periferiche sono i joystick su gameport0 e nell'output ci sarà una riga come

lrwxrwxrwx 1 root root 9 2008-09-16 12:13 pci-gameport0--event-joystick -> ../event6

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

sostituire la dicitura «nome_file» com il nome del file identificato in precedenza.

Immagine(Icone/Piccole/warning.png,,center)

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 il cancelletto 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.

Immagine(Icone/Piccole/note.png,,center)

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.


CategoryHomepage