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 1 e 41 (in 40 versioni)
Versione 1 del 16/09/2008 14.55.46
Dimensione: 4798
Commento:
Versione 41 del 11/10/2008 00.05.11
Dimensione: 6017
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from FrancescoCusolito/Prove1
Linea 8: Linea 9:
= Il modulo evdev = = Introduzione =
Linea 10: Linea 11:
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'''. 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*`.
Linea 12: Linea 13:
= Il pacchetto ''xserver-xorg-input-evdev'' = = Preparativi =
Linea 14: Linea 15:
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
}}}
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 ovvero 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
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 66: Linea 21:
== Pacchettizzazione == 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
}}}
Linea 68: Linea 27:
Per pacchettizzare correttamente il modulo, ci appoggeremo ad un'altra cartella di lavoro. = Identificazione del file descrittore =
Linea 70: Linea 29:
== Titolo 2 == 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
}}}
Linea 72: Linea 34:
= Titolo 1 = 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
}}}
Linea 74: Linea 39:
Testo... In questo caso, il file descrittore sarà `/dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse`.
Linea 76: Linea 41:
 0. Passo 1
 0. Passo 2
 0. Passo 3
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
}}}
Linea 80: Linea 46:
== Titolo 2 == Sostituire la dicitura «nome_file» com il nome del file identificato in precedenza.
Linea 82: Linea 48:
Testo... = 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.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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 [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo: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».

||<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 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"
}}}
Linea 86: Linea 111:
 * Risorsa 1
 * Risorsa 2
 * [wiki:WikiPedia/Evdev Voce enciclopedica]
Linea 89: Linea 113:
## da questo punto in poi non modificare!
Linea 91: Linea 114:
CategoryNuoviDocumenti CategoryHardware

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

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

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 [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo: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».

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

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"

Ulteriori risorse

  • [wiki:WikiPedia/Evdev Voce enciclopedica]


CategoryHardware