Fai scorrere i movimenti del mouse tenendo premuto il pulsante centrale


29

In Windows, sono abituato a fare clic sul pulsante centrale e offre un'opzione di "scorrimento veloce" su o giù. Come posso ottenere questo comportamento su Linux? Attualmente sembra invece utilizzare il pulsante Indietro al clic centrale.

Uso Gnome in CentOS.


Cosa, nello specifico, non funziona? I mouse Unix avevano tre pulsanti dal primo giorno, quindi il pulsante centrale del mouse normalmente funziona fuori dalla scatola.
Gilles 'SO- smetti di essere malvagio' il

Sono abituato a fare clic sul pulsante centrale e offre un'opzione di "scorrimento veloce" su o giù. Attualmente sembra invece utilizzare il pulsante Indietro al clic centrale.
1o

2
Ah, quindi vuoi il comportamento di Windows del pulsante centrale (o piuttosto di premere la rotella), invece del comportamento Unix (dove il pulsante centrale normalmente incolla il contenuto degli appunti). Devi davvero dirlo nella tua domanda, non possiamo leggere la tua mente! Ciò richiede il supporto dalle applicazioni; quali applicazioni usi? Quale ambiente desktop (ad es. Gnome, KDE, XFCE, ...)?
Gilles 'SO- smetti di essere malvagio' il

Bene, ho pensato che ci sarebbe stato un pannello di configurazione da qualche parte in cui avrei potuto impostarlo, ma non potevo nemmeno arrivare così lontano. Il desktop è Gnome presumo, è quello predefinito? E il problema è in Firefox.
1o

1
Per Firefox, c'è una soluzione in una domanda quasi duplicata .
Gilles 'SO- smetti di essere malvagio' il

Risposte:


26

Questa funzionalità di Windows non si è mai davvero fatta strada nel mondo Unix. Nel mondo Unix, lo scopo principale del pulsante centrale del mouse è incollare il contenuto degli appunti (o più precisamente, il testo selezionato con il mouse, che viene copiato automaticamente). Un paio di applicazioni multipiattaforma come Firefox e Chrome che supportano il pulsante centrale del mouse in stile Linux in Windows e viceversa, ma a parte questo, la maggior parte delle applicazioni non supporta questo tipo di scorrimento a grana fine.

Tuttavia, puoi avvicinarti abbastanza a livello di sistema. È possibile impostare un pulsante del mouse in modo tale che quando viene premuto, i movimenti del mouse si trasformano in eventi della ruota. Questa è la stessa funzionalità a cui sei abituato, ma è probabile che il movimento sia instabile, poiché le applicazioni ricevono eventi ruota, che in genere vengono interpretati come scorrimento di un'intera riga o colonna.

Per giocare con questa configurazione, usa il programma xinput (non so se c'è un frontend GUI per questo). Innanzitutto, esegui il comando seguente per visualizzare il nome del dispositivo di puntamento:

$ xinput --list       
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Generic USB Mouse                         id=8    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

Ad esempio, nell'output sopra, il dispositivo puntatore è Generic USB mouse. È possibile eseguire il comando seguente per elencare le proprietà che possono essere sintonizzate:

xinput --list-props 'Generic USB Mouse'

L'insieme di proprietà che stai cercando sono quelle di "Emulazione delle ruote Evdev". Con le seguenti impostazioni, quando si preme il pulsante centrale del mouse (pulsante 2), spostando il mouse si inviano gli eventi della rotella (4 = su, 5 = giù, 6 = sinistra, 7 = destra).

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5

Potresti voler modificare altri parametri (inerzia, timeout).

È possibile inserire questi comandi in uno script. Aggiungi #!/bin/shcome prima riga e rendi eseguibile il file di script (ad es chmod +x ~/bin/activate-wheel-emulation.sh.). Quindi aggiungi quello script all'elenco dei comandi da eseguire all'avvio della sessione ( gnome-session-propertiesti consente di configurarlo).

Se si dispone dell'accesso root e si desidera apportare la modifica a tutti gli utenti (accettabile su una macchina domestica), è più semplice farlo tramite il file di configurazione del server X.org . Come root, crea un file chiamato /etc/X11/xorg.conf.d/wheel-emulation.confcontenente le impostazioni per il driver del mouse . Le impostazioni sono le stesse ma sono organizzate in modo leggermente diverso.

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Dovrai prestare attenzione quando modifichi gli altri parametri. Se riduci Evdev Wheel Emulation Timeouttroppo il parametro, potresti perdere del tutto la funzionalità del pulsante centrale del mouse (clic). Ad esempio, se riduci Evdev Wheel Emulation Timeoutal di sotto del valore per Evdev Middle Button Timeoutallora non genererai più eventi Clic pulsante centrale. Per esperienza personale, il seguente sembra funzionare abbastanza bene:
agnussmcferguss

xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Emulation' 1. xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Timeout' 50. xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Timeout' 100. Ciò fornisce funzionalità di clic e scorrimento ragionevolmente scattanti, anche se se lo trovi si innesca troppo rapidamente, quindi prova ad aumentare Evdev Wheel Emulation Timeout(penso che 200 sia l'impostazione predefinita)
agnussmcferguss

Gilles, penso che ci sia qualcosa di sbagliato nel tuo file di configurazione xorg.conf.d suggerito. Quando l'ho usato, il mio X.Org si è avviato su una schermata nera. Ho derivato una versione che funziona aggiungendo Device "evdev"e posizionando virgolette doppie attorno al "EmulateWheelButton"valore di "2". (Mi scuso, non ho tempo di indagare se una o entrambe queste modifiche
risolvono

@Arkanon Le doppie virgolette mancanti sono sicuramente un errore di sintassi. Non penso Device "evdev"possa avere senso, intendevi Driver "evdev"? Penso che questa sarebbe un'alternativa alla MatchProductdirettiva che stabilisce le opzioni per tutti i dispositivi di input anziché solo i mouse USB generici.
Gilles 'SO- smetti di essere malvagio'

1
@Wallacoloo Non so se puoi ottenere questo effetto esatto, ma puoi fare in modo che il tastierino numerico muova il mouse digitando Pointer_EnableKeys(google o fai una nuova domanda qui) e puoi impostare un comportamento più elaborato con XKB (cerca keybord : mousekey o fai una nuova domanda qui descrivendo esattamente cosa vuoi e con cosa ti accontenterai se non puoi averlo esattamente).
Gilles 'SO- smetti di essere malvagio' il

25

Si scopre che ciò può essere fatto tramite le preferenze di Firefox.

  1. Dal menu a discesa: Modifica -> Preferenze
  2. Quindi selezionare le schede: Avanzate -> generali
  3. Quindi seleziona "Usa scorrimento automatico"

Immagine dello schermo

   ss


0

poiché chromeè possibile utilizzare questa estensione per lo scorrimento automatico

Scorrimento automatico

non dimenticare di riavviare Chrome dopo aver installato l'estensione

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.