Dimensione: 4798
Commento:
|
Dimensione: 5966
Commento: revisione completata
|
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'''. 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 12: |
= Il pacchetto ''xserver-xorg-input-evdev'' = | = Preparativi = |
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. = 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 20: |
== 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 26: |
Per pacchettizzare correttamente il modulo, ci appoggeremo ad un'altra cartella di lavoro. | = Identificazione del file descrittore = |
Linea 70: | Linea 28: |
== 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 33: |
= 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 38: |
Testo... | In questo caso, il file descrittore sarà `/dev/input/by-id/usb-Logitech_Logitech_BT_Mini-Receiver_000761AEA7CD-event-mouse`. |
Linea 76: | Linea 40: |
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 45: |
== Titolo 2 == | Sostituire la dicitura «nome_file» com il nome del file identificato in precedenza. |
Linea 82: | Linea 47: |
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 110: |
* Risorsa 1 * Risorsa 2 |
* [wiki:WikiPedia/Evdev Voce enciclopedica] |
Linea 89: | Linea 112: |
## da questo punto in poi non modificare! | |
Linea 91: | Linea 113: |
CategoryNuoviDocumenti | CategoryHomepage |
BR Indice() VersioniSupportate(hardy)
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.
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».
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]