Dimensione: 4798
Commento:
|
Dimensione: 6313
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 i file descrittori del tipo `/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'' = | = Preparativi = |
Linea 15: | Linea 15: |
sudo dpkg -s xserver-xorg-input-evdev | grep Status }}} La risposta a tale comando deve essere : {{{ Status: install ok installed }}} 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 con un editor di testo e i privilegi di amministrazione il file `/etc/apt/sources.list` Aggiungere in fondo le seguenti righe {{{ deb http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main deb-src http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main }}} Salvare le modifiche e dare {{{ |
|
Linea 16: | Linea 33: |
sudo apt-get install xserver-xorg-input-evdev | |
Linea 18: | Linea 34: |
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. | = Identificazione del file descrittore = |
Linea 20: | Linea 36: |
= Ricompilazione di xf86-input-evdev = | 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 un particolare mouse della Logitech, 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 }}} e quindi il file sarà `/dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse`. Alcune periferiche non permettono l'identificazione "by-id" e si deve usare quella per percorso. In tal caso il comando per trovare tali periferiche sarà {{{ sudo ls -l /dev/input/by-path/ | grep event }}} un esempio di queste periferiche sono i joystick su gameport, e in tal caso nell'output ci sarà una riga come{{{ lrwxrwxrwx 1 root root 9 2008-09-16 12:13 pci-gameport0--event-joystick -> ../event6 }}} e allora il file descrittore sarà `/dev/input/by-path/pci-gameport0--event-joystick`. ||<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 "by-path", queste cambieranno file ogni volta che verrà fisicamente cambiata la porta a cui è connessa la periferica.''' || Per verificare che il file identificato sia quello corretto si può dare il seguente comando{{{ sudo less -f /dev/input/by-id/nome_file }}} sostituendo a "nome_file", il nome del file identificato in precedenza. 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. Se non è stato possibile identificate la periferica per id, ma solo per path, allora nel comando precedente va sostituito "by-path" a "by-id". |
Linea 22: | Linea 57: |
||<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.''' || | = Configurazione del server grafico = |
Linea 24: | Linea 59: |
Per cominciare è utile creare una cartella di lavoro, dando in un terminale i comandi: {{{ cd ~ mkdir evdev cd evdev |
Una volta identificato correttamente il file, è necessario configurare il server grafico affinché lo usi. È quindi necessario editare il file `\etc\X11\xorg.conf`; è anche bene tenerne una copia di sicurezza:{{{ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre_evdev sudo gedit /etc/X11/xorg.conf |
Linea 29: | Linea 63: |
È 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 |
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 un "#" all'inizio della riga. Quindi 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 |
Linea 34: | Linea 74: |
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 |
Notare inoltre che 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 evdev. Ora si deve 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 |
Linea 39: | Linea 83: |
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. | Dove "Identificativo va sostituito con quello aggiunto nella sezione "ServerLayout" (ad esempio "KeyboardEvent0") mantenendo le virgolette, e "nome_file" col nome del file che s'è precedentemente trovato. |
Linea 41: | Linea 85: |
Indifferentemente dal percorso scelto, è necessario rimuovere il pacchetto ''xserver-xorg-input-evdev'' con il comando: {{{ sudo apt-get remove xserver-xorg-input-evdev |
== 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" |
Linea 44: | Linea 90: |
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 |
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 |
Linea 55: | Linea 99: |
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 }}} == Pacchettizzazione == Per pacchettizzare correttamente il modulo, ci appoggeremo ad un'altra cartella di lavoro. == Titolo 2 == = Titolo 1 = Testo... 0. Passo 1 0. Passo 2 0. Passo 3 == Titolo 2 == Testo... |
a seconda del tipo di periferica che si sta configurando. |
Linea 86: | Linea 103: |
* Risorsa 1 * Risorsa 2 |
* [https://launchpad.net/ubuntu/hardy/+source/xserver-xorg-input-evdev Pagina del pacchetto xserver-xorg-input-evdev su Launchpad] |
Linea 91: | Linea 107: |
CategoryNuoviDocumenti | CategoryHomepage |
BR Indice() VersioniSupportate(hardy)
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 i file descrittori del tipo /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*.
Preparativi
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 dpkg -s xserver-xorg-input-evdev | grep Status
La risposta a tale comando deve essere :
Status: install ok installed
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 con un editor di testo e i privilegi di amministrazione il file /etc/apt/sources.list
Aggiungere in fondo le seguenti righe
deb http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main deb-src http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main
Salvare le modifiche e dare
sudo apt-get update
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 un particolare mouse della Logitech, 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
e quindi il file sarà /dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse. Alcune periferiche non permettono l'identificazione "by-id" e si deve usare quella per percorso. In tal caso il comando per trovare tali periferiche sarà
sudo ls -l /dev/input/by-path/ | grep event
un esempio di queste periferiche sono i joystick su gameport, e in tal caso nell'output ci sarà una riga come
lrwxrwxrwx 1 root root 9 2008-09-16 12:13 pci-gameport0--event-joystick -> ../event6
e allora il file descrittore sarà /dev/input/by-path/pci-gameport0--event-joystick.
Identificando le periferiche "by-path", queste cambieranno file ogni volta che verrà fisicamente cambiata la porta a cui è connessa la periferica. |
Per verificare che il file identificato sia quello corretto si può dare il seguente comando
sudo less -f /dev/input/by-id/nome_file
sostituendo a "nome_file", il nome del file identificato in precedenza. 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. Se non è stato possibile identificate la periferica per id, ma solo per path, allora nel comando precedente va sostituito "by-path" a "by-id".
Configurazione del server grafico
Una volta identificato correttamente il file, è necessario configurare il server grafico affinché lo usi. È quindi necessario editare il file \etc\X11\xorg.conf; è anche bene tenerne una copia di sicurezza:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre_evdev sudo gedit /etc/X11/xorg.conf
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 un "#" all'inizio della riga. Quindi 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". Il testo riportato sopra è solo esemplificativo, non è necessario usare tutte le periferiche di input con il modulo evdev. Ora si deve 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" col nome del file che s'è 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.
Ulteriori risorse
[https://launchpad.net/ubuntu/hardy/+source/xserver-xorg-input-evdev Pagina del pacchetto xserver-xorg-input-evdev su Launchpad]