Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Hardware/Video/Evdev"
Differenze tra le versioni 2 e 34 (in 32 versioni)
Versione 2 del 16/09/2008 15.24.50
Dimensione: 6282
Commento:
Versione 34 del 23/09/2008 15.09.45
Dimensione: 6707
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
= Il modulo evdev = = Introduzione =
Linea 10: Linea 10:
Il modulo evdev è un modulo per la gestione generica delle periferiche di input di X.org. Permette di gestire qualsiasi tipo di periferica di input e utilizza direttamente i file descrittori del tipo `/dev/input/event*`, permettendo un'accesso più diretto alle periferiche; è così possibile sfruttare maggiormente queste, senza subile le limitazioni imposte dall'accesso tramite altri file come `/dev/input/mouse*`, `/dev/input/kbd*` o `/dev/input/js*`. '''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 nei 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 altri file come `/dev/input/mouse*`, `/dev/input/kbd*` o `/dev/input/js*`.
Linea 12: Linea 12:
= Il pacchetto ''xserver-xorg-input-evdev'' = = Verifica =
Linea 14: Linea 14:
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 apt-get update
sudo apt-get install xserver-xorg-input-evdev
Nei [:Repository: repository ufficiali] di '''Ubuntu 8.04''' «'''Hardy Heron'''» è disponibile la versione 1.2.0 e viene installato per predefinito con il sistema, per verificare che il pacchetto sia installato digitare in una finestra di terminale: {{{
sudo dpkg -s xserver-xorg-input-evdev | grep Status
Linea 18: Linea 17:
Purtroppo il modulo in questo pacchetto è afflitto da alcuni problemi, come riferito in [https://bugs.launchpad.net/ubuntu/hardy/+source/xserver-xorg-input-evdev questa pagina] su Launchpad. Per ovviare a questo, attualmente il metodo miglio è ricompilare tale modulo, in modo da averne una versione più recente. Apparentemente le a partire dalla 1.99.2 non presentano più questi problemi.

= Ricompilazione di xf86-input-evdev =

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Nella seguente procedura si fa riferimento in più punti all'utilizzo di un terminale. Perchè la procedura funzioni, per come è strutturata la guida, è necessario far sempre uso dello stesso terminale virtuale.''' ||

Per cominciare è utile creare una cartella di lavoro, dando in un terminale i comandi: {{{
cd ~
mkdir evdev
cd evdev
}}}
È ora necessario ottenere il pacchetto con i sorgenti. Al momento della stesura di questa guida, la versione più recente di questo modulo è la 2.0.4, e di seguito tratteremo questa, ma la guida dovrebbe funzionare anche per versioni anteriori o posteriori. Per scaricare ed estrarre i sorgenti, digitare: {{{
wget ftp://ftp.x.org/pub/individual/driver/xf86-input-evdev-2.0.4.tar.bz2
tar -jxvf xf86-input-evdev-2.0.4.tar.bz2
cd xf86-input-evdev-2.0.4
}}}
Per la compilazione saranno anche necessari alcuni strumenti e diverse librerie. Per ottenere tutto il necessario digitare: {{{
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get build-dep xserver-xorg-input-evdev
}}}
Per installare il modulo vi sono diversi metodi metodi, qui tratteremo l'installazione diretta e la pacchettizzazione; l'utente può seguire uno o l'altro a sua scelta.

Indifferentemente dal percorso scelto, è necessario rimuovere il pacchetto ''xserver-xorg-input-evdev'' con il comando: {{{
sudo apt-get remove xserver-xorg-input-evdev
}}}
Qualora questo rimuova anche altri pacchetti, è bene segnarsi il nome di questi, anche se si tratterà prevalentemente di meta-pacchetti.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">L'installazione diretta è più veloce e più facile, ma sparge in maniera incontrollata file all'interno del filesystem. La pacchettizzazione invece è più laboriosa, ma permette di utilizzare il gestore dei pacchetti, in modo da mantenere più pulita la vostra installazione di Ubuntu. ||

== Installazione diretta ==

Per configurare, compilare ed installare il modulo è sufficiente eseguire nel terminale: {{{
./configure --prefix=/usr
make
sudo make install
}}}
Verrà chiesto l'inserimento della password dell'amministratore, poiché è necessario scrivere file in cartelle di sistema.
Qualora si necessario rimuovere questo modulo, bisogna eseguire i comandi: {{{
sudo rm /usr/lib/xorg/modules/input/evdev_drv.*
sudo rm /usr/share/man/man4/evdev.4
}}}
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Qualora fosse necessario reinstallare il pacchetto''' ''xserver-xorg-input-evdev'' '''è indispensabile rimuovere prima i file del modulo manualmente come descritto sopra.''' ||
Completata l'installazione è anche possibile rimuovere la cartella di lavoro senza problemi, col comando:{{{
cd ..
rm -r evdev
La risposta a tale comando deve essere :
{{{
Status: install ok installed
Linea 66: Linea 22:
== Pacchettizzazione == = Preparativi =
Linea 68: Linea 24:
Per pacchettizzare correttamente il modulo, ci appoggeremo ad un'altra cartella di lavoro con alcune sottocartelle. Nel crearla conviene darle un nome corretto in base al sistema operativo in uso e alla versione del modulo che si sta installando. Ad esempio: {{{
mkdir -p ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/usr/lib/xorg/modules/input
mkdir -p ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/usr/share/man/man4
mkdir -p ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/DEBIAN
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] 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
Linea 73: Linea 30:
Dove "1.2.0" va sostituito con la versione che si sta compilando e se si utilizza un sistema a 64 bit, "i368" va sostituito con "amd64".
Passiamo ora alla configurazione, e compilazione del programma: {{{
./configure --prefix=/usr
make
Per aggiornale la lista dei pacchetti e apportare gli aggiornamenti al pacchetto ''xserver-xorg-input-evdev'' lanciare in una finestra di terminale i seguenti comandi:{{{
sudo apt-get update
sudo apt-get upgrade
Linea 78: Linea 34:
Ora il metodo più veloce per proseguire è installare regolarmente il modulo e successivamente spostare i file installati nella cartella creata prima: {{{
sudo make install
sudo mv /usr/lib/xorg/modules/input/evdev_drv.* ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/usr/lib/xorg/modules/input/
sudo mv /usr/share/man/man4/evdev.4 ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/usr/share/man/man4/

= 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
Linea 83: Linea 40:
Ora che i file necessari sono correttamente posizionati, occorre creare un file descrittore del pacchetto in `~/evdev/xserver-xorg-input-evdev_1.2.0-homebuild0_i386/DEBIAN/control`. Per creare ed editare questo file si può usare l'editor di testo preferito. Se si utilizza '''Gedit''':{{{
gedit ../xserver-xorg-input-evdev_1.2.0-homebuild0_i386/DEBIAN/control
Ad esempio, volendo configurare una periferica di imput, 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
Linea 86: Linea 43:
Il file dovrà contenere le seguenti righe di testo: quindi il file descrittore sarà `/dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse`.
Linea 88: Linea 45:
== Titolo 2 == Per verificare che il file identificato sia quello corretto si può dare 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.
Linea 90: Linea 50:
= Titolo 1 = == Periferiche di gioco ==
Linea 92: Linea 52:
Testo... 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`.
Linea 94: Linea 61:
 0. Passo 1
 0. Passo 2
 0. Passo 3
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.
Linea 98: Linea 65:
== Titolo 2 == ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Identificando le periferiche tramite percorso, queste cambieranno file ogni volta che verrà fisicamente cambiata la porta a cui è connessa la periferica.''' ||
Linea 100: Linea 67:
Testo...
Linea 102: Linea 68:
= Ulteriori risorse = 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.
Linea 104: Linea 70:
 * Risorsa 1
 * Risorsa 2
= Configurazione del server grafico =
Linea 107: Linea 72:
## da questo punto in poi non modificare! 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'''.


||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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.
Linea 109: Linea 118:
CategoryNuoviDocumenti CategoryHomepage

BR Indice() VersioniSupportate(hardy)

Anchor(introduzione)

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 nei 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 altri file come /dev/input/mouse*, /dev/input/kbd* o /dev/input/js*.

Verifica

Nei [:Repository: repository ufficiali] di Ubuntu 8.04 «Hardy Heron» è disponibile la versione 1.2.0 e viene installato per predefinito con il sistema, per verificare che il pacchetto sia installato digitare in una finestra di terminale:

sudo dpkg -s xserver-xorg-input-evdev | grep Status

La risposta a tale comando deve essere :

Status: install ok installed

Preparativi

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] 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 aggiornale la lista dei pacchetti e apportare gli aggiornamenti al pacchetto xserver-xorg-input-evdev lanciare in una finestra di terminale i seguenti comandi:

sudo apt-get update
sudo apt-get upgrade

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 una periferica di imput, 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

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

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