Aumentando a velocidade de rolagem

39

Recentemente, mudei para o Ubuntu, e a única coisa que me incomoda é a velocidade de rolagem, que não consigo mudar. No Windows, costumava definir em torno de 7 linhas, mas parece ser em torno de 3 no Ubuntu e imutável. Como posso mudar a velocidade?

Kironide
fonte

Respostas:

26

Se for apenas para a web, você pode alterar a velocidade de rolagem no FireFox:

  • EditMenu> Preferences> Advancedtab> Browsinggrupo: desativar rolagem suave

Afinação:

  • Digite enter about:configna barra de endereço
  • Encontre e mude mousewheel.withnokey.sysnumlinespara FALSE
  • Em seguida, mude mousewheel.withnokey.numlinesde 1 para o que quiser.

E uma solução mais geral para todo o sistema:

MestreLion
fonte
3
Para todo o sistema.
Kironide
5
Apenas desconecte e conecte novamente o conector do mouse. Funcionou para mim.
Airton Sobral
3
Sim. Funcionou para mim também. Eu estava usando um mouse sem fio. Primeiro, tentei desligar e ligar o mouse, mas isso não ajudou. Depois desconectei o adaptador usb, esperei alguns segundos e conectei novamente.
11
@AirtonSobral Isso é bem estranho! Também funcionou para mim, exceto no meu caso, minha roda de rolagem pularia o comprimento da página inteira (muito rápido). Agora está bom! :)
Web_Designer
11
Esta resposta está atualizada?
ahorn 17/06/19
26

Apenas desconecte o mouse (o meu era sem fio) e conecte-o novamente para corrigir esse problema.

Eu estava procurando há muito tempo por essa correção e até reinicializei a máquina sem sucesso.

Talvez um desligamento completo tenha resolvido o problema.

frustratedtech
fonte
2
Isso funcionou para mim também. É um pouco chato que eu tenha que fazer isso em toda startup, mas tudo bem, pelo menos funciona.
Tamás Szelei 26/09/12
2
Um desligamento completo não funcionou para mim, mas desconectar e recarregar funcionou! Espero não ter que fazer isso a cada ciclo de reinicialização.
TechplexEngineer
4
Uau, isso funcionou para mim também com um mouse sem fio da Microsoft que estava rolando rápido demais. Desconectei o dongle do bluetooth e conectei novamente, e a rolagem ficou perfeita. Surpreendente que a correção fosse simples assim.
Gerry
Certamente não há como expressar totalmente minha gratidão durante a vida toda, então vou dizer OBRIGADO, isso funciona.
AndreasT
Encontrou a solução perfeita. Não há mais desconecte e conecte. Use resetmsmice e o pacote Ubuntu
Ted Feng
15

Para o Ubuntu 12.10, achei um pouco diferente para o Firefox.

Abra about:config(digite-o na barra de endereço) e procure por:

mousewheel.min_line_scroll_amount

Em seguida, altere o número associado a ele. O meu foi definido como 5. Alterei para 60 e funciona como quero agora.

Phydoux
fonte
11
Obrigado! Eu mesmo encontrei essa opção, mas não tentei um número tão alto, apenas algo como 10. Mas, juntamente com a rolagem suave, parece que números muito maiores são necessários para atingir velocidades de rolagem insuficientes. Atualmente tenho meu set de 100.
nem75
5

No Firefox 19, execute about:configna barra de endereços e modifique o parâmetro mousewheel.min_line_scroll_amountpara algo mais alto (50). Você não precisa reiniciar o FF.

tirengarfio
fonte
2

Eu tenho o Firefox 42.0 aqui e uso um touchpad para rolar.

Descobri que, se quisesse ajustar a distância rolada, poderia mudar:

mousewheel.default.delta_multiplier_y

no about:config. Seu valor padrão era 100. Um valor maior rolaria mais / mais rápido.

joeytwiddle
fonte
1

Se você usar dois dedos em um touchpad para rolar, poderá usar synclientpara ajustar a sensibilidade de todo o sistema .

Se você não o tiver instalado:

sudo apt-get install xserver-xorg-input-synaptics

Para ver o limite de sensibilidade atual, verifique a saída de:

synclient -l | grep ScrollDelta

Para torná-lo mais sensível, reduza o valor:

synclient VertScrollDelta=33

Isso significa que você precisa mover menos o dedo para enviar cada evento de rolagem.

Se você quiser reverter a direção da rolagem, como a "rolagem natural" do Mac OS X, defina um valor negativo.

Mas observe que isso não permitirá que você configure a distância mínima percorrida quando você move os dedos apenas um pouco. Isso deve ser configurado por aplicativo (ou possivelmente por ambiente de desktop).

joeytwiddle
fonte
somente em dispositivos Synaptic - não se aplica ao ALPS ou a qualquer outro fabricante de touchpad.
precisa saber é o seguinte
0

Mesmo que o truque de desconectar / conectar conserte o problema, essa não é uma solução realmente boa

Uma solução que encontrei é adicionar

xinput set-prop 10 'Evdev Scrolling Distance' 10 10 10

no final do meu .profilearquivo (ou onde quer que ele seja executado uma vez por login gráfico)

No caso do mouse da Microsoft, os valores padrão eram 1 1 1muito sensíveis.

10 10 10 é certo para mim.

Não demorei para ver o que cada número realmente significa

Marco Albarelli
fonte
o número imediatamente a seguir set-propé o ID do dispositivo (acredito). Você pode verificar isso na lista xinput. Você verá os IDs do seu dispositivo listados em ordem. Obtenha as propriedades disponíveis comxinput list-props [id]
emf
Aqui está o que os parâmetros do Evdev significam: unix.stackexchange.com/a/442666
Sam
0

Para quem prefere consertar Linux Desktop Way.

Escreveu instruções exaustivas sobre como adicionar Scroll Ratioatravés de fontes libinput:

https://github.com/up-to-you/linux_notes/blob/master/mouse/scroll_speed.md

Para quem odeia github( gitlabdiversão?), Duplicado aqui (funciona para qualquer mouse):

encontre arquivos libinput

sudo updatedb
ll $(locate -A libinput.so)

provavelmente a Canonical entrega suas libinput libs com snaps

sudo snap list
sudo snap remove gnome-3-28-1804

verifique se libinput é deixado apenas na pasta do sistema, como: /usr/lib/x86_64-linux-gnu/libinput.so /usr/lib/x86_64-linux-gnu/libinput.so.10 /usr/lib/x86_64-linux-gnu/libinput.so.10.13.0

ll $(locate -A libinput.so)

clonar fonte libinput

git clone https://gitlab.freedesktop.org/libinput/libinput
cd libinput

modificar src/evdev.c. Encontre evdev_read_wheel_click_propsfunção e init angles.y = 361;

static inline struct wheel_angle
evdev_read_wheel_click_props(struct evdev_device *device)
{
    struct wheel_angle angles;
    const char *wheel_count = "MOUSE_WHEEL_CLICK_COUNT";
    const char *wheel_angle = "MOUSE_WHEEL_CLICK_ANGLE";
    const char *hwheel_count = "MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL";
    const char *hwheel_angle = "MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL";

    /* CLICK_COUNT overrides CLICK_ANGLE */
    if (evdev_read_wheel_click_count_prop(device, wheel_count, &angles.y) ||
        evdev_read_wheel_click_prop(device, wheel_angle, &angles.y)) {
        evdev_log_debug(device,
                "wheel: vert click angle: %.2f\n", angles.y);
    }
    if (evdev_read_wheel_click_count_prop(device, hwheel_count, &angles.x) ||
        evdev_read_wheel_click_prop(device, hwheel_angle, &angles.x)) {
        evdev_log_debug(device,
                "wheel: horizontal click angle: %.2f\n", angles.y);
    } else {
        angles.x = angles.y;
    }
    // since, src/util-prop-parsers.c : abs(angle) > 360
    angles.y = 361;

    return angles;
}

modificar src/libinput.c. Encontre a libinput_event_pointer_get_axis_value_discretefunção e aplique a taxa de rolagem como desejar:

LIBINPUT_EXPORT double
libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *event,
                           enum libinput_pointer_axis axis)
{
    struct libinput *libinput = event->base.device->seat->libinput;
    double value = 0;

    require_event_type(libinput_event_get_context(&event->base),
               event->base.type,
               0.0,
               LIBINPUT_EVENT_POINTER_AXIS);

    if (!libinput_event_pointer_has_axis(event, axis)) {
        log_bug_client(libinput, "value requested for unset axis\n");
    } else {
        switch (axis) {
        case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
      // x5 ratio for horizontal scrolling
            value = event->discrete.x * 5;
            break;
        case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
      // x5 ratio for vertical scrolling
            value = event->discrete.y * 5;
            break;
        }
    }
    return value;
}

Prepare o diretório de compilação (é necessária a instalação de dependências):

meson --prefix=/usr builddir/ -Ddocumentation=false

Compile e instale:

ninja -C builddir/ && sudo ninja -C builddir/ install

Verifique a localização:

sudo updatedb
ll $(locate -A libinput.so)

Logout / Login, use.

você decide
fonte