Configurazione avanzata di scorrimento inerziale


9

È possibile configurare lo scorrimento inerziale sinaptico in modo tale da interrompere quando viene premuto un tasto qualsiasi sulla tastiera?

Per spiegare questa domanda: utilizzo spesso le scorciatoie. Ora, ad esempio, quando sto navigando sul Web e scorrendo verso la parte superiore di un sito Web utilizzando lo scorrimento inerziale, ingrandisco il sito come un matto se provo ad aprire una nuova scheda con Ctrl+ Tperché il browser rileva solo Ctrl+ scrolling.

Questo succede in molte applicazioni ed è davvero fastidioso. Mi piaceva lo scorrimento inerziale, ma finché persiste questo problema, devo disabilitarlo.


È Strglo stesso di Ctrl?
Jobin

@Jobin sì, è l'etichetta tedesca. Scusa, ho dimenticato di cambiarlo.
Mouagip,

Risposte:


5

Temo che questo sia già stato discusso su Xorg ed è contrassegnato come "Risolto risolto" ma non verrà risolto poiché Xorg non si renderà conto quando si preme Ctrle lo scorrimento inerziale è ancora in atto. (Vedi il commento di Peter Hutterer e la sua analogia con Ctrl).

Quindi almeno fino a quando non avremo Unity 8 (quando Xorg viene sostituito con Mir e speriamo di vederlo davvero risolto), possiamo solo avere una soluzione alternativa piuttosto che una correzione perfetta o disabilitare completamente lo scorrimento inerziale.

Una delle correzioni che consiglierei è di disabilitare la funzione Ctrl+ scrollingnell'applicazione stessa. Questa è sicuramente una soluzione sporca poiché il problema è ancora in atto ma viene rimosso solo l'effetto e dovresti farlo per qualunque applicazione usi più frequentemente lo scorrimento inerziale.

Per disabilitare Ctrl+ la scrollingfunzione in Firefox, digitare about:confignella barra degli indirizzi e quindi fare clic su "Starò attento, lo prometto!" Ora, nella barra di ricerca, digita mousewheel.with_control.actione fai doppio clic sul primo risultato e imposta il suo valore su 1, che scorre solo i contenuti invece di zoomare. Puoi impostare il suo valore sui seguenti valori con gli effetti corrispondenti:

  • 0 (disabilitato)
  • 1 (scorrere i contenuti)
  • 2 (vai avanti / indietro nella tua cronologia)
  • 3 (impostazione predefinita, ingrandimento / riduzione)

Aggiornerò la risposta se riuscirò a trovare una soluzione più pulita e migliore.


1
per gli utenti di Chrome ecco un'estensione che (il più delle volte) gestisce il problema
MInner

Per gli utenti LXDE / Openbox, qui è una domanda che gestisce le Alt+ scrolling"follia di commutazione del desktop", che è un altro sintomo dello stesso problema di fondo.
tanius,

ci sono novità su questo problema?
glS

2

La navigazione d'angolo aiuta! Sebbene non sia una vera correzione, ho scoperto che l'uso della CornerCoastingmodalità del driver Synaptics invece della normale modalità di scorrimento inerziale (finger-off) aiuta. Motivo: la modalità di coasting degli angoli è attiva mantenendo il dito nell'angolo e si interrompe immediatamente quando viene rilasciato. Mentre premo Ctrldurante il coasting d'angolo crea ancora il problema "Firefox zoom follia" che descrivi, ho scoperto che è molto improbabile che lo faccia mentre sono attivamente coinvolto in un'azione (cioè con il dito sul touchpad piuttosto che il finger-off coasting).

Provando a costeggiare l'angolo. Il comando seguente imposterà la modalità di coasting degli angoli:

synclient VertEdgeScroll=1 CornerCoasting=1 CoastingSpeed=1 CoastingFriction=0

VertEdgeScroll=1è perché il coasting degli angoli funziona solo con lo scorrimento dei bordi, non con lo scorrimento a due dita. Se ti piace la curva degli angoli su entrambi i bordi destro e inferiore, aggiungi HorizEdgeScroll=1alla riga sopra. CornerCoasting=1abilita la modalità coasting degli angoli. CoastingSpeedè la velocità minima di scorrimento durante la navigazione per inerzia, ma quella sembra essere anche la velocità minima del cursore per attivarla. Quindi l'ho impostato al minimo per rendere più semplice l'attivazione della modalità, che altrimenti può essere complicata (e impossibile con qualcosa di simile CoastingSpeed=100). CoastingFrictionè un valore per far scomparire lo scorrimento inerziale. Lo disabilitiamo qui per continuare fino a quando non sollevi il dito, diverso da ciò che di solito si desidera in fuoristrada convenzionale. Per maggiori dettagli su queste opzioni, consultare la manpage Synaptics .

Qualcosa che non è menzionato nella manpage: il coasting degli angoli è apparentemente abilitato scorrendo da un'area del bordo non angolare a un'area angolare, e quindi mantenendo il dito lì . Pertanto, il movimento di inclinazione dell'angolo si interrompe se si solleva accidentalmente il dito, anche per un tempo molto breve, urtando / sopra il bordo del touchpad. La modalità di innesco "sposta in una zona angolare" significa anche che la curva d'angolo non funzionerà o sarà difficile da attivare se il tuo TopEdgeeBottomEdgei parametri lasciano poca o nessuna area non angolare sul bordo. Questi sono rilevanti qui poiché le aree degli angoli sono definite dalle intersezioni delle aree dei bordi. Inoltre, senza un'area del bordo destro di dimensioni accessibili, anche l'attivazione del coasting angolare sarà difficile o impossibile. Per il mio hardware (ThinkPad X201), ho trovato che questi valori funzionano bene (il tuo potrebbe essere diverso, ci vuole un po 'di sperimentazione):

synclient RightEdge=4800 TopEdge=2000 BottomEdge=4000

Realizzare un bastoncino per angoli. Sebbene synclientsia ottimo per testare le impostazioni con effetto immediato, si perdono quando si riavvia X. Per farle aderire, creare un /etc/X11/xorg.conf.d/51-synaptics-cornercoasting.conffile di configurazione o con un nome simile come descritto qui (funziona anche in Ubuntu!). Per il caso precedente, il contenuto sarebbe:

Section "InputClass"
    Identifier "Touchpad tweaks"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "VertEdgeScroll" "on"
      # Option "HorizEdgeScroll" "on" # Enable if you want this.
        Option "CornerCoasting" "on"
        Option "CoastingSpeed" "1"
        Option "CoastingFriction" "0"

        Option "RightEdge" "4800"
        Option "TopEdge" "2000"
        Option "BottomEdge" "4000"
EndSection

E quindi riavvia X per vedere l'effetto, ovviamente.


0

Possibili sostituti. Se si desidera disabilitare del tutto lo scorrimento inerziale perché il bug è troppo fastidioso, ci sono alcuni possibili sostituti (non esattamente scorrimento inerziale, ma modalità di scorrimento similmente senza sforzo che è possibile utilizzare invece):

A livello di sistema:

  • Scorrimento su pulsante sensibile del trackpoint. Questo utilizza un trackpoint ThinkPad (ma può essere modificato per altri trackpoint) per lo scorrimento mentre si preme il pulsante centrale. Questo si chiama " On-Button Scrolling " nel libinputdriver e "emulazione della rotellina del mouse" nel evdevdriver più vecchio .

    L'idea è che la imposti in modo così sensibile che un po 'di pressione costante scorrerà velocemente attraverso lunghe pagine. Per configurarlo, fai riferimento a questa domanda , esp. la risposta di @htorque che funziona meglio con il libinputdriver (impostazione predefinita a partire da Ubuntu 17.10).

In particolare per Firefox:

  • Estensione Prendi e trascina . Ciò fornisce una sorta di modalità di lancio inerziale / trascinamento inerziale, abbastanza simile allo scorrimento inerziale a due dita. Configuralo per utilizzare il pulsante sinistro del mouse, che è la modalità più simile allo scorrimento inerte a due dita su un touchpad. Basta usare un dito con tocca e tieni premuto e quindi "lancia la pagina web". Ciò interferisce ovviamente con la selezione del testo, ma hanno un pulsante per disabilitare temporaneamente l'estensione.

    L'interferenza nella selezione del testo è fastidiosa, ma configurarla per qualsiasi altro pulsante del mouse su un touchpad rende l'utilizzo molto complicato. (Ad esempio, con il clic centrale, che può essere configurato come clic con due dita sul touchpad, sarebbe: toccare con due dita, toccare e tenere premuto con due dita, sollevare un dito, quindi lanciare il movimento come sopra: D ).

  • Lo scorrimento automatico. Vedi questa risposta per come configurarlo. Inoltre, imposta il tocco con due dita per creare un clic centrale - in effetti solo synclient TapButton2=2. Ora, un clic con due dita farà apparire l'elemento di scorrimento automatico in Firefox, e posizionando il puntatore del mouse lontano da esso scorrerà permanentemente in quella direzione fino a un clic. Purtroppo, spostare il puntatore deve essere fatto con un dito. (Semplicemente non funziona con due dita, anche quando lo scorrimento con due dita è disabilitato.) E non sono riuscito a scoprire come invertire la direzione di scorrimento di questa funzione come "naturale".

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.