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 3 e 46 (in 43 versioni)
Versione 3 del 16/09/2008 15.31.10
Dimensione: 7308
Commento:
Versione 46 del 29/05/2021 21.34.02
Dimensione: 5817
Autore: wilecoyote
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 3: Linea 4:
[[BR]]
[[Indice()]]
[[VersioniSupportate(hardy)]]
<<BR>>
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=646141"; rilasci="8.04")>>
Linea 7: Linea 8:
[[Anchor(introduzione)]]
= Il modulo evdev =
Linea 10: Linea 9:
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*`. <<Anchor(introduzione)>>
= Introduzione =
Linea 12: Linea 12:
= Il pacchetto ''xserver-xorg-input-evdev'' = '''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 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
}}}
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.
= Preparativi =
Linea 20: Linea 16:
= 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
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 22:
== 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 28:
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
= 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
Linea 73: Linea 34:
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 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 78: Linea 39:
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/

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
Linea 83: Linea 46:
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

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
Linea 86: Linea 55:
Il file dovrà contenere le seguenti righe di testo: {{{
Package: xserver-xorg-input-evdev
Version: 1:1.2.0-homebuild0
Architecture: i386
Depends: libc6 (>= 2.7-1), xserver-xorg-core (>= 2:1.4)
Replaces: xserver-xorg (<< 6.8.2-35)
Provides: xserver-xorg-input-2
Section: x11
Priority: optional
Description: X.Org X server -- evdev input driver
 This package provides the driver for input devices using evdev, the Linux
 kernel's event delivery mechanism. This driver allows for multiple keyboards
 and mice to be treated as separate input devices, and matched on physical
 attributes such as which USB port they're connected to.
 .
 Note that this driver is different from Protocol "evdev" in the keyboard and
 mouse drivers, as shipped with Ubuntu 4.10 and 5.04, and Debian 3.1.
 .
 More information about X.Org can be found at:
 <URL:http://www.X.org>
 <URL:http://xorg.freedesktop.org>
 <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
 .
 This package is built from the X.org xf86-input-evdev driver module.

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
Linea 111: Linea 60:
Anche in questo caso bisogna sostituire "1.2.0" con la versione del modulo che si sta compilando e se si una un sistema a 64bit, "amd64" a "i368"
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.

{{{#!wiki note
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».

{{{#!wiki note
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 115: Linea 116:
 * Risorsa 1
 * Risorsa 2
 * [[WikiPedia:Evdev|Voce enciclopedica]]
Linea 118: Linea 118:
## da questo punto in poi non modificare!
Linea 120: Linea 119:
CategoryNuoviDocumenti CategoryHardware CategoryDaRevisionare


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"

Ulteriori risorse


CategoryHardware CategoryDaRevisionare