Come assegnare le azioni "indietro" e "avanti" alla rotella di scorrimento orizzontale di Logitech Anywhere Mouse MX?


11

Sto usando un Logitech Anywhere Mouse MX sul mio Ubuntu. Il mouse funziona bene, ma non posso assegnare le azioni ai pulsanti extra disponibili su di esso. Quello che mi manca di più sono le azioni "indietro" e "avanti" assegnate all'inclinazione della rotella di scorrimento sinistra e destra.

Come posso attivare queste funzionalità?

Risposte:


9

Uso xbindkeysin combinazione con xdotool.

Crea un .xbindkeysrcfile nella tua home directory. Deve contenere:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

Tuttavia, con VMware non devi fare altro che aggiungere

mouse.vusb.enable = "TRUE"

al file .vmx nel sistema host. È ciò che VMware apre ogni volta che avvii il tuo sistema guest.


Grazie. Proverò la linea vmx la prossima volta che riavvio il sistema (non succede troppo spesso).

Ho appena provato l'hack del file vmx - e non sembra funzionare. Quello che vedo è che quando eseguo un riavvio, VMware cancella la riga che ho appena aggiunto, come se avesse un modello di file predefinito che viene ripristinato ogni volta che avvii la macchina.

ok, sembra che dovevo andare fino in fondo e spegnere la macchina, piuttosto che riavviare. Ora le impostazioni sono conservate. Sfortunatamente, lavorando da remoto in questo momento, la rotellina del mouse sembra inefficace (lo stesso sul computer host). Controllerò di nuovo quando sul sito remoto e riferirò i risultati.

Oh sì, ho appena controllato e funziona!

Ovviamente, è necessario eseguire xbindkeysdopo l'installazione.
HongboZhu,

18

Ho lo stesso mouse e volevo legare i due pulsanti sul lato del mouse per andare avanti e indietro. Ecco come ho risolto questo:

1) Utilizzare l'utilità "xev" per determinare a quali numeri corrispondono i pulsanti che si desidera rimappare. Potrebbe essere necessario installare questo pacchetto utilizzando

sudo apt-get install xev  

Una volta installato xev, digita "xev" in un terminale e apparirà una finestra X bianca con una scatola nera. Spostando il mouse in quella finestra inizierà la registrazione degli eventi sul terminale. Leggere attentamente l'output di questo ti dirà i numeri dei pulsanti del mouse. Sul mio mouse, l'inclinazione sinistra e destra viene mappata rispettivamente ai pulsanti 6 e 7.

2) Ora useremo l'utility "xbindkeys" per rimappare i pulsanti del mouse alla pressione dei tasti. Se non lo hai già installato, potresti doverlo installare con

sudo apt-get install xbindkeys

3) Crea un file nella tua home directory chiamato ".xbindkeysrc". Questo è ciò che leggerà xbindkeys per vedere cosa stai rimappando. I contenuti del mio file .xbindkeysrc sono:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

Quindi questo dice al mio computer di inviare il pulsante della tastiera che preme "Alt + Sinistra" o "Alt + Destra" al sistema usando la tastiera virtuale (xvkbd) ogni volta che si preme il pulsante 8 sul mouse 0 o il pulsante 9 sul mouse 0 rispettivamente. Questi tasti corrispondono ai tasti avanti e indietro nella maggior parte delle applicazioni. Funzionerà, ad esempio, in Nautilus, chrome /

Nota : potrebbe essere necessario installarlo xvkbdse non è già presente sul sistema.sudo apt-get install xvkbd


Grazie. Eseguendo l'utilità xev vedo molte informazioni, tuttavia, sebbene le funzioni di scorrimento su e giù siano associate ai tasti 4 e 5, non ottengo alcun evento quando inclino la rotella di scorrimento, né quando faccio clic sui due pulsanti laterali. Qualche idea sul perché?

È possibile che per qualche motivo il tuo sistema non riconosca i segnali inviati dal mouse. In questo caso, dovresti vedere i codici di errore in / var / log / messages o in dmesg. Maggiori informazioni su questo problema e su come risolverlo in questo url jveweb.net/en/archives/2011/01/… Se questo non è il problema, dovremo approfondire ulteriormente.
Jarvisschultz,

ok, ho guardato il dmesg log. è un elenco piuttosto lungo di messaggi. Cosa dovrei cercare esattamente?

A proposito, non l'ho menzionato nella domanda ma potrebbe essere d'aiuto - Sto usando Ubuntu come SO guest su VMware Player su Windows 7. Dalla mia esperienza con alcuni dispositivi, l'emulazione è piuttosto buona, Ubuntu dovrebbe assolutamente vedere tutto messaggi inviati dal mouse.

1
Potrebbe essere possibile che sudo apt-get install xvkbdmanchi qui?
c_korn,

5

Ecco cosa ho fatto. Non sudosono necessari comandi o nuovi pacchetti:

  • Ho testato i miei pulsanti con xev-> tutti i pulsanti corrispondono a un determinato valore, il che significa che sono riconosciuti dal sistema
  • ispezionare i dispositivi con xinput list-> il mouse è elencato con ID 9 nel mio caso
  • xinput list-props 9 mostra la mappatura corrente e in particolare racconta le etichette dei pulsanti -> sembra che il pulsante avanti / indietro corrisponda ai pulsanti 8 e 9 che non ho (l'inclinazione della ruota è 6 e 7 e mappata allo scorrimento orizzontale)
  • rimappare le associazioni xmodmapcome interpretate da X è la soluzione più conveniente per me. I primi cinque pulsanti non dovrebbero essere cambiati (clic centrale destro sinistro e scorri su e giù), ma quelli che riportano come pulsanti 6 e 7 dovrebbero spostarsi avanti / indietro
  • eseguendo xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"in un terminale scambia i pulsanti 6 e 7 con 8 e 9 (praticamente)
  • se questo mapping non funziona per te ripristinare i valori predefiniti con xmodmap -e "pointer = default"e provare un mapping diverso
  • Ora ho il comando di scambio pulsante nelle mie applicazioni di avvio da eseguire dopo il login
  • sembra anche possibile in base a man xmodmapmemorizzare questo comando in un file chiamato ~/.xmodmaprco aggiungere l'istruzione a~/.bashrc

Ha funzionato per me. Spero che questo ti aiuti.


1
+1: Questo xmodmapapproccio ha funzionato immediatamente per me, ma ... è possibile modificare la mappatura per un mouse specifico?
MestreLion,

4

Questo è ciò che ha funzionato per me:

1) Installa xbindkeys

sudo apt-get install xbindkeys

2) Installa xautomation

sudo apt-get install xautomation

3) Crea un file .xbindkeysrc nella tua home directory con questo all'interno:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4) Vai su Startup Applications e aggiungi il programma con il comando xbindkeys.

5) Disconnettersi e accedere

Fonte: forum Ubuntu


Grazie, B-Scan. Suppongo che intendevi inserire il file nella mia home directory. L'ho inserito lì e ho aggiunto una xbindkeysvoce alle App di avvio, disconnesso e dentro e ... non funziona :-(
ysap

Sì, home directory. Ora ho visto che stai usando VMware. Forse potrebbe essere correlato a questo ?
B-Scan,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.