[Risolto] Driver - Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D.

Riconoscimento, installazione e configurazione delle periferiche.
nativis
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1851
Iscrizione: martedì 4 novembre 2008, 10:58

[Risolto] Driver - Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D.

Messaggio da nativis »

Ciao : )
Sto avendo diversi problemi nell'utilizzo del mio mouse Logitech G5 (USB) con giochi 3D open source come Nexuiz e OpenArena. Ho trovato altri topic e blog internazionali sul setting di Xorg e sui "drivers" come evdev o quello di default in Ubuntu 8.04.1 e 8.04.2 "mouse". Ma quasi tutti si riferiscono all'attivazione di tutti i pulsanti del mouse e vengono risolti con il setting di evdev e ~/.Xmodmap.
Il mio problema è un altro. Infatti in Ubuntu e nelle varie applicazioni il mouse funziona correttamente e tutti i tasti sono attivi "quando uso evdev".
Ma ecco cosa succede al cursore quando apro i giochi 3D Nexuiz e OpenArena:

Il driver "evdev" mi da accuratezza di puntamento ma solo se sto fermo (eheh). Se però muovo il mouse allora il cursore impazzisce (Nel gioco, accellerazione mouse del sistema "off") o va a scatti (Nel gioco, accellerazione mouse del sistema "on").
Il driver "mouse" invece dà poca accuratezza e non configura tutti i tasti del mouse (i tasti "tilt" in particolare).


Qualcuno ha avuto lo stesso problema? La lista del mio hardware è in basso, nello spazio firma.

Per la mia scheda grafica, ATI Radeon Sapphire HD 2600 Pro, sto usando i driver proprietari ATI vers. 8.12, che finalmente hanno risolto tutti i miei precedenti problemi.

Ecco i dati del mio sistema da Sysinfo:

Gnome: 2.22.3 (Ubuntu 2008-07-09)
Kernel: 2.6.24-23-generic (#1 SMP Thu Nov 27 18:44:42 UTC 2008)
Xorg version: unknown (13 June 2008  01:08:21AM)

La mia versione di Xorg (comando "X -version"):

Codice: Seleziona tutto

X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux Ubuntu (xorg-server 2:1.4.1~git20080131-1ubuntu9.2)
Current Operating System: Linux nomemiosistema 2.6.24-23-generic #1 SMP Thu Nov 27 18:44:42 UTC 2008 i686

Module Loader present

Ecco alcuni settings di Xorg che ho provato per evdev. Non fate caso alla mappatura dei pulsanti perché non perdevo tempo a sistemarli:

Codice: Seleziona tutto

Section "InputDevice"
        Identifier "Logitech G5"
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/by-id/usb-Logitech_USB_Gaming_Mouse-event-mouse"
        Option "ZAxisMapping" "invert"
        Option "Emulate3Buttons" "false"
        Option "Buttons" "9"
        Option "Resolution" "800"
EndSection


Section "InputDevice"
        Identifier "046d:c049 Logitech, Inc."
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/event2"
        Option "Emulate3Buttons" "true"
        Option "Buttons" "9"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9"
        Option "Resolution" "800"
EndSection


Section "InputDevice"
        Identifier "Configured Mouse"
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/event2"
        Option "Name" "Logitech USB Gaming Mouse"
        Option "Emulate3Buttons" "false"
        Option "Buttons" "9"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9"
        Option "Resolution" "800"
EndSection


Section "InputDevice"
       Identifier "Configured Mouse"
       Driver "evdev"
       Option "CorePointer"
       Option "Protocol" "evdev"
       Option "Dev Name" "Logitech USB Gaming Mouse"
       Option "Dev Phys" "usb-*/input0"
       Option "Device" "/dev/input/event2"
       Option "Buttons" "9"
       Option "ButtonMapping" "1 2 3 4 5 8 6 7 9"
       Option "Resolution" "1000"
       Option "Emulate3Buttons" "no"
       Option "HWHEELRelativeAxisButtons" "7 6"
       Option "XAxisMapping" "4 5"
       Option "YAxisMapping" "4 5 7 6"
EndSection
Ultima modifica di nativis il mercoledì 21 gennaio 2009, 13:22, modificato 1 volta in totale.
nativis
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1851
Iscrizione: martedì 4 novembre 2008, 10:58

Re: [Driver] Logitech G5 USB Gaming Mouse - Problemi con Giochi 3D

Messaggio da nativis »

Aggiornamento.
Sto ancora in alto mare ma almeno ho trovato che si tratta di un bug segnalato già a maggio 2008 e, sembra, in via di risoluzione:
Bug#450851: xserver-xorg-input-evdev: pointer constatntly moves down-right in captured state (most of games) when using evdev.
Non ho ancora trovato e testato la soluzione. Però ho appena trovato un messaggio che mi fa ben sperare:

http://www.nabble.com/Bug-450851:-Fixed-td20990142.html
This bug seems to be fixed with the newest version of evdev (unstable).

NOT OK with 1:1.2.0-1
OK     with 1:2.0.8-1

Commit Log for Sat Dec 13 07:29:11 2008
Die folgenden Pakete wurden aktualisiert:
xserver-xorg-input-evdev (1:1.2.0-1) to 1:2.0.8-1

Thanks for your work!

-kurt

Dovrei mettere il prefisso "Lavori in corso" : )



 
Ultima modifica di nativis il martedì 20 gennaio 2009, 19:35, modificato 1 volta in totale.
nativis
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1851
Iscrizione: martedì 4 novembre 2008, 10:58

Re: Driver Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D

Messaggio da nativis »

Aggiornamento.
Ho trovato e installato il nuovo pacchetto evdev versione 1:2.0.8-1 (lenny)

http://packages.debian.org/search?searchon=sourcenames&keywords=xserver-xorg-input-evdev

Il pacchetto, quando sarà nella versione definitiva, dovrebbe risolvere il bug in questione. Lo sto provando su un altro sistema Ubuntu 8.04.1 per vedere come va. Dopo un'ora di utilizzo nessuno strano evento o crash. Sia sul sistema che nei giochi il mouse G5 sembra comportarsi correttamente.

Lavori ancora in corso : )
Ultima modifica di nativis il mercoledì 21 gennaio 2009, 13:24, modificato 1 volta in totale.
nativis
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1851
Iscrizione: martedì 4 novembre 2008, 10:58

Re: Driver Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D

Messaggio da nativis »

Mi sembra di aver risolto ogni problema, dato dal bug di evdev di Ubuntu 8.04, col semplice upgrade del pacchetto "xserver-xorg-input-evdev".
Questa versione del pacchetto è la 1:2.0.8-1 "lenny" (cioè in fase di test) ed è per Debian, quindi non è nei repository Ubuntu. C'è già una versione etch, la 1:1.1.2-6, che però non ho provato. Se disponibile è sempre meglio la versione "etch", cioè la versione stabile e, ancora meglio, la versione per Ubuntu dai repository. Quel che conta è aver trovato la fonte del problema
Dopo l'installazione il pachetto apparirà nella lista dei software del Gestore pacchetti Synaptic. Non è da confondere con una nuova versione disponibile nei repository perché è solo il pacchetto installato localmente sul computer.

[Edit] 18/05/2009 In Ubuntu 8.10 e 9.04 non è possibile rimuovere il pacchetto singolarmente. Verrebbero infatti selezionati anche l'intero xserver, il desktop e molti altri pacchetti, a causa delle dipendenze. Sulla 8.10 il mouse dava problemi ma non ho tentato di aggiustare le cose. Sulla 9.04, il nuovo sistema di gestione delle periferiche HAL, pare riconosca automaticamente il mouse. Avevo inizialmente applicato la procedura che segue. Cancellando poi tutte le sezioni relative, in xorg.conf, la mappatura dei tasti è rimasta come come descritto sotto. Quindi HAL riconosce il mouse. Ho comunque preferito il driver evdev al driver mouse.[/edit]

[Edit] 19/03/2010 In Ubuntu 9.10 Il mouse viene riconosciuto automaticamente. Tuttavia mi trovo molto meglio, specialmente nei videogames, configurando il mouse come descritto di seguito, senza bisogno di installare nessun pacchetto aggiuntivo.


Con questa procedura ho ottenuto la mappatura che segue. Il rilevamento del numero di ogni tasto è stato effettuato con l'applicazione "xev" (v. di seguito).

Tasto sinistro = Button 1...............................seleziona file/apre link
Tasto Rotella = Button 2................................esegue incolla
Tasto destro = Button 3................................apre i menu di desktop e cartelle
Tilt rotella sinistro = Button 6.........................area di lavoro -> indietro
Tilt rotella destro = Button 7..........................area di lavoro -> avanti
Tasto laterale avanti (thumb) = Button 9..........in Firefox -> pagina avanti
Tasto laterale  indietro (thumb) = Button 8.......in Firefox -> pagina indietro
Rotella su = Button 4....................................in Firefox -> scorre pagina su
Rotella giù = Button 5...................................in Firefox - > scorre pagina giù

Nei giochi:
In Nexuiz 2.4.2 tutti i tasti risultano attivi e configurabili.
In Nexuiz 2.5 tutti i tasti risultano attivi e configurabili. Tuttavia è stato riscontrato un bug in questa versione, non dovuta al mouse o alla sua configurazione:
Choppy mouse movement with a custom 'cl_maxfps' value
In Nexuiz 2.5.1 sembra che il bug sia stato risolto:
• Fixed choppy mouse movement with a custom 'cl_maxfps' value

Procedura.

1. Dopo aver disinstallato il pacchetto della versione precedente, senza riavviare il PC, ho subito installato il nuovo pacchetto, chiamato:

Codice: Seleziona tutto

xserver-xorg-input-evdev_2.0.8-1_i386.deb 
Io l'ho scaricato da qui:
http://packages.debian.org/search?suite=default&section=all&arch=any&searchon=sourcenames&keywords=xserver-xorg-input-evdev

A me serviva il pacchetto per computer "i386". Un clic e appare la lista di repository da cui scaricarlo.
Una volta scaricato basta cliccarci sopra. Si apre il programma "Gdebi" che è un installatore di pacchetti ".deb" incluso in Ubuntu 8.04. Il programma avvisa che c'è "una versione più vecchia disponibile in un canale software" ma, evidentemente, non era quella che cercavo. Basta chiudere la finestra dell'avviso e poi cliccare su "Installa Pacchetto".

2. Editare xorg.conf, nelle sezioni "ServerLayout" e "InputDevice", perché Xorg utilizzi evdev. Le impostazioni necessarie le ho trovate nel post di "chuck", sul blog adterrasperaspera (A pagina 5). Riporto di seguito i passaggi per editare xorg.conf.
Nota.
Se non avete un file xorg.conf nella cartella /etc/X11/ potete crearlo con procedura automatica come descritto qui:
http://forum.ubuntu-it.org/viewtopic.php?t=296090
paragrafo "caso pratico 3".


3. Verificare l'id (identificativo) del mouse. Comando da terminale:

Codice: Seleziona tutto

ls /dev/input/by-id/
L'output del comando, nel mio caso, è:
usb-Logitech_USB_Gaming_Mouse-event-mouse  usb-Logitech_USB_Gaming_Mouse-mouse
La prima parte dell'output è l'identificativo che servirà specificare nell'opzione "Device" di xorg.conf.

Per verificare il puntamento:

Codice: Seleziona tutto

ls -l /dev/input/by-id/

4. Salvare una copia del file xorg.conf originale:

Codice: Seleziona tutto

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.funzionante
5. Aprire il file /etc/X11/xorg.conf con un editor di testo (in Gnome gEdit) e con permessi di amministrazione. Comando:

Codice: Seleziona tutto

sudo gedit /etc/X11/xorg.conf
6. Scrivere o copiare quanto segue, personalizzando le parole in grassetto (se le sezioni fossero assenti, basterà aggiungerle):
Section "ServerLayout"
(...Dopo le altre righe di codice già presenti...)
       InputDevice    "Logitech G5" "CorePointer"
EndSection


(...altre sezioni...)


Section "InputDevice"
       Identifier "Logitech G5"
       Driver "evdev"
       Option "CorePointer"
       Option "Device" "/dev/input/by-id/usb-Logitech_USB_Gaming_Mouse-event-mouse"
       Option "Name" "Logitech USB Gaming Mouse"
       Option "Emulate3Buttons" "false"
       Option "ZAxisMapping" "invert"
       Option "Buttons" "9"
       Option "Resolution" "800"
EndSection
Salvare le modifiche e chiudere il file.


Nota.
Un'alternativa per l'opzione "Device" è di cercare il mouse con il comando:

Codice: Seleziona tutto

cat /proc/bus/input/devices
Apparirà una lista da cui risulteranno, tra le altre cose, il nome corretto del mouse (nel mio esempio Name="Logitech USB Gaming Mouse") e il riferimento al collegamento (nel mio caso "H: Handlers=mouse1 event2").
Quindi, nella sezione "InputDevice", l'opzione "Device", può essere:

Codice: Seleziona tutto

Option "Device" "/dev/input/event2" 
Bisogna ricordare che il numero di "event" può cambiare da computer a computer.

7. Aprire un documento di testo vuoto e salvarlo col nome ".Xmodmap" (puntino compreso) nella cartella "/home/nome_utente/". Il risultato sarà questa posizione:

Codice: Seleziona tutto

/home/nome_utente/.Xmodmap
Scrivere nel file questa stringa:

Codice: Seleziona tutto

pointer = 1 2 3 8 9 6 7
I tasti 4 e 5, relativi ai movimenti "su e giù" della rotella, sono stati esclusi dal file. Verranno "mappati" dopo.


8. Per riconoscere il numero dei tasti associati ad ogni pulsante si può usare il programma Xev. Per avviarlo e visualizzare il numero associato ad ogni tasto:

Codice: Seleziona tutto

xev | grep button
Posizionare il puntatore del mouse nella finestra che appare e premere i vari tasti.

9. Questo comando per creerà la mappa dei pulsanti:

Codice: Seleziona tutto

xmodmap -e "pointer = 1 2 3 8 9 6 7 4 5 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32"
(L'ho trovato in forum di Ubuntu datato 2006: ubuntuforums.org).


10. Salvare tutto e riavviare il Server X con Ctrl+Alt+Delete (Opzione disattivata in Jaunty Jackalope).

11. Al riavvio si apre automaticamente una finestra dove viene chiesto (per una sola volta e poi non più) se si vuole caricare il file .Xmodmap.
Selezionare e Confermato con OK per completare la configurazione del mouse.



Tutto è andato bene e ogni tasto del mio Logitech G5 è ora attivo anche nei videogiochi open source come Nexuiz (basato, come altri videogiochi del genere, sul motore di Quake). I movimenti a scatti sono spariti e i giochi scorrono fluidamente.

Per verificare che ogni tasto fosse stato rilevato ho aperto un terminale e ho digitato "xev" per avviare l'omonimo programma di rilevamento; Il programma xev apre una finestra su cui puntare il mouse. Muovendolo e premendo i vari pulsanti si vedrà apparire una riga di codice sul terminale. Questo vuol dire che il segnale è stato rilevato e quindi funziona. Se invece non succede niente l'azione non è stata rilevata e qualcosa non va.

Il controllo finale consiste nell'aprire il file:

Codice: Seleziona tutto

/etc/var/Xorg.0.log
E verificare che il nome e le opzioni del mouse risultino caricate alle varie voci:

Codice: Seleziona tutto

(...)

(==) ServerLayout "Default Layout"
(**) |-->Input Device "Logitech G5"

(...)

(**) Option "CorePointer"

(...)

(II) evaluating device (Logitech G5)

Evidentemente per cambiare l'azione svolta dai vari pulsanti bisognerà giocare coi primi numeri della mappatura (esclusi dal 10 in poi, credo).
Non ho indagato oltre ma forse c'è la possibilità di assegnare azioni diverse a un unico tasto "premuto/rilasciato". Per esempio il programma xev rileva entrambe le azioni per i due tasti laterali. Se avete notizie in merito vi sarei grato se aggiungeste un post qui.


In Jaunty Jackalope il mouse verrà erroneamente riportato come "Macintosh". Le funzionalità restano comunque invariate.


Nota. Possibili errori nella configurazione di xorg.

Mi è anche capitato di sbagliare la digitazione delle opzioni. Per esempio ho lasciato uno spazio vuoto tra le virgolette (") e la parola Option. Il risultato è stato che il Server X si avviava in modalità grafica ridotta o non si avviava proprio (terrore! Niente più mouse e desktop!).
Nel peggiore dei casi, cioè quando rimanevo senza desktop, andavo a sistemare il file xorg.conf in modalità testuale usando il programma "Vim" [edit] oppure, in Jaunty, Nano[/edit].
Per poter riscrivere o verificare la giusta dicitura di un comando avevo prima stampato su carta i dati che avevo raccolto, compresa naturalmente la configurazione originale delle due sezioni che dovevo modificare.

Ecco come ho fatto:

1) Avvio del sitema e login;
2) Digitavo:

Codice: Seleziona tutto

sudo vim
...e premevo invio (perché xorg.conf deve essere modificato usando i permessi di amministratore). Vim veniva avviato;
[edit]Se si volesse usare Nano:

Codice: Seleziona tutto

sudo nano
3) In Vim bisogna scrivere prima ":" (i due punti. Comando: Maiuscolo+:) per inserire i comandi. Se ci si dimentica di scrivere i due punti non si potrà interagire con vim;
4) Poi il comado "edit /etc/X11/xorg.conf";

Il file viene aperto in modalità testo. Poi usavo solo pochi comandi:

A) Per muoversi dentro al file bisogna usare i "tasti cursore" su/giù/destra/sinistra;
B) Se serve solo "cancellare" qualcosa basta portarsi nello spazio precedente e premere Canc;
C)Se invece bisogna "aggiungere testo" bisogna prima premere il tasto "i" (cioè "insert text"). Sarà poi possibile scrivere. Finito di scrivere premevo Esc per tornare alla modalità normale di Vim;
D) Se andavo in confusione o temevo di aver sbagliato ancora premevo "Esc", inserivo i due punti e poi scrivevo "qa!" (cioè quit all!), per uscire senza modifiche dal file. Poi ricominciavo.

5) Una volta terminate le correzioni premevo di nuovo "Maiusc+:" (per scrivere i due punti) e salvavo il file appena modificato scrivendo il comando "write!";

6) Per uscire da Vim solito comando "Maiusc+:" e poi scrivevo "qa!" (cioè "quit all!");

7) Riavvio e riecco il mio desktop ^ ^

Ecco alcuni links utili inerenti la configurazione del mouse Logitech G5 (e altri Logitech) che ho trovato durante questa ricerca. Alcuni trattano, oltre a evdev, di btnx, xbindkeys, lomoco, xvkbd e imwheel (il sito però non è aggiornato).  

http://wiki.archlinux.org/index.php/Get_All_Mouse_Buttons_Working
http://forums.gentoo.org/viewtopic-p-4228484.html#4228484

http://www.gentoo-wiki.info/X11_Mouse/Individual_Configurations

http://wiki.ubuntu-it.org/Hardware/Periferiche/TastiMultimediali

http://ubuntuforums.org/showthread.php?t=367583

http://imwheel.sourceforge.net/

http://www.linux-gamers.net/modules/wiwimod/index.php?page=HOWTO+Mouse+Buttons&back=HOWTO+INDEX+Hardware

http://adterrasperaspera.com/blog/2006/06/20/logitech-g5-review-under-linux

http://blog.blackdown.de/2005/04/03/logitech-mx1000-configuration/

http://forum.ubuntu-it.org/viewtopic.php?p=1708883#p1708883

http://www.ollisalonen.com/btnx/

https://launchpad.net/btnx-config

http://doc.ubuntu-fr.org/btnx

http://ubuntuforums.org/showpost.php?p=2727025&postcount=1

http://ubuntuforums.org/showpost.php?p=1413357&postcount=17

http://hocwp.free.fr/xbindkeys/xbindkeys.html

http://homepage3.nifty.com/tsato/xvkbd/

http://www.linux-gamers.net/modules/wiwimod/index.php?page=HOWTO+lomoco

http://ubox.wordpress.com/2007/04/23/intellimouse-usare-tutti-i-tasti/

http://wiki.ubuntu-it.org/Hardware/Periferiche/MouseLogitechMx518?highlight=(logitech)

Mouse A4Tech X7 http://natonelbronx.wordpress.com/2007/ ... i-i-tasti/

Ciau ciau
Ultima modifica di nativis il venerdì 4 giugno 2010, 9:09, modificato 1 volta in totale.
nativis
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1851
Iscrizione: martedì 4 novembre 2008, 10:58

Re: [Risolto] Driver - Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D.

Messaggio da nativis »

Dopo aver applicato la procedura sopra descritta mi è sorto un dubbio su una voce del file Xorg.0.log.
Come si è visto ho settato /etc/X11/xorg.conf per non emulare i mouse a 3 tasti:

Codice: Seleziona tutto

"Option "Emulate3Buttons" "false" 
Riguardando /var/log/Xorg.0.log ho visto che, all'ultima voce, il sistema "tenta invece di forzare" l'emulazione di un mouse a tre tasti.
1) Perché lo fa?
2) Non mi è chiaro se gli riesce di forzare il mio set di opzioni ed attivare l'emulazione.

Ecco le voci relative al mouse in Xorg.0.log. La voce a cui mi riferisco si trova all'ultimo rigo del mio file.

Codice: Seleziona tutto

(==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan 22 16:27:40 2009
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "aticonfig-Screen[0]-0" (0)
(**) |   |-->Monitor "aticonfig-Monitor[0]-0"
(**) |   |-->Device "aticonfig-Device[0]-0"
(**) |-->Input Device "Logitech G5"
(==) Automatically adding devices
(==) Automatically enabling devices

(...altre sezioni...)

(**) Option "CorePointer"
(**) Logitech G5: always reports core events
(**) Logitech G5: Device: "/dev/input/by-id/usb-Logitech_USB_Gaming_Mouse-event-mouse"
(II) Logitech G5: Found x and y relative axes
(II) Logitech G5: Found mouse buttons
(II) Logitech G5: Configuring as mouse

(...altre sezioni...)

(II) evaluating device (Logitech G5)
(II) XINPUT: Adding extended input device "Logitech G5" (type: MOUSE)
(**) Option "Emulate3Buttons" "false"
(II) Logitech G5: Forcing middle mouse button emulation.
khela
Prode Principiante
Messaggi: 84
Iscrizione: lunedì 11 gennaio 2010, 0:44

Re: [Risolto] Driver - Logitech G5 Laser Mouse USB - evdev - Tasti e problemi con Giochi 3D.

Messaggio da khela »

Salve, questo thread è stato iniziato quasi un anno fa, ma voglio informare i moderatori, che testandola su KARMIC, la guida di nativis funziona benissimo, suggerirei una bella pagina dedicata nella wiki... Logicamente i driver evdev in KARMIC sono già installati. Uso un Logitech Optical Pilot.
Ultima modifica di khela il venerdì 15 gennaio 2010, 2:57, modificato 1 volta in totale.
Scrivi risposta

Ritorna a “Driver e periferiche”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti