Como corrigir a velocidade de rolagem do mouse da microsoft no ubuntu

11

Caso alguém tenha o mesmo problema que eu acabei de receber.

Ao mudar do Windows para o Ubuntu (em inicialização dupla), minha roda de rolagem do mouse sem fio da Microsoft fica louca! É totalmente super sensível.

João Victor Zanatta
fonte
2
Você deve fazer isso como uma pergunta e resposta. stackoverflow.blog/2011/01/01/…
Terrance
Isso funciona para mim, sourceforge.net/projects/resetmsmice , o problema de velocidade só acontece se você inicializar duas vezes do Windows para o Ubuntu.
Ted Feng

Respostas:

10

Abra um prompt

Liste seus dispositivos, preste atenção ao ID do dispositivo que você deseja corrigir, se houver dois deles, tudo bem.

$ xinput list

A minha era 9 e 10

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v8.0  id=9    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v8.0  id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v8.0  id=8    [slave  keyboard (3)]

Agora faça isso, xsendo seu id

$ xinput list-props x | grep 'Scrolling Distance'
Evdev Scrolling Distance (255): 1, 1, 1

Finalmente, o truque é encontrar seus valores ideais, os meus eram 10, 10, 10

$ xinput set-prop x 'Evdev Scrolling Distance' 10, 10, 10

Para definir permanentemente a alteração ( fonte ):

Um arquivo oculto no seu diretório é ".profile" (Ctrl + H para ver os arquivos ocultos) Clique duas vezes nele e abra-o. Copie e cole o comando anterior no final. É isso aí!

PS para aplicar o mesmo comando para todos os usuários, você pode editar o arquivo / etc / profile (não um arquivo oculto).

Agora você está pronto para ir!

João Victor Zanatta
fonte
Isto é perfeito! Eu o marquei com +1. Parece que nem todos os sistemas estão configurados para mouses de alta resolução. Pelo menos de acordo com a Microsoft - support.microsoft.com/en-us/help/303091/… . Minhas configurações eram 8.
Royi
Isso funciona também no Linux Mint 18.2 (Sonya).
Royi 26/08/17
Alguma idéia para o Ubuntu 17, agora em Wayland?
Dogweather
5
Isso não funciona comigo porque não tenho nenhuma "Distância de rolagem" nas configurações do mouse.
precisa saber é o seguinte
Estou usando um micro-soft tudo em um teclado com um touchpad. O touch pad também não possui uma "Distância de rolagem"
ablmf
3

É um truque, mas desconectar / reconectar o transceptor USB permite que o Ubuntu defina corretamente a resolução e você terá uma velocidade de rolagem bastante razoável. Eu tenho usado esse truque em todas as versões do Ubuntu nos últimos anos. Eu raramente reinicializo minha máquina, por isso é a solução mais fácil para mim :)

Talvez alguém possa explicar por que isso funciona.

Michael Sandman
fonte
2
Este projeto poderia ajudar sourceforge.net/projects/resetmsmice
Michael Sandman
Eu percebi isso, mas desde que eu reiniciar o meu todo o tempo e o dongle é em um lugar ruim i preferem conjunto de software
João Victor Zanatta
Está bem. Ainda não é muito agradável para o meu teclado numérico da Microsoft. Mas é bom o suficiente para navegar na web. Obrigado.
ablmf
3

Uma solução que funciona para mim no problema de velocidade de rolagem do mouse sem fio:

A ordem ao ativar os módulos Linux é muito importante.

Adicione um arquivo chamado /etc/modprobe.d/mshid.confcontendo:

install hid-generic /sbin/modprobe hid ; /sbin/modprobe usbhid ; /sbin/modprobe -i hid-generic ; true

Isso garante a ordem de carregamento correta e a velocidade de rolagem é normal. É o que acontece em segundo plano quando o sistema está ligado, ao remover e adicionar novamente o transceptor. Isso funciona em outras distribuições que não o Ubuntu. Uma reinicialização é necessária para que isso funcione.

Vlad Tudorache
fonte
Valeu. Isso funcionou para mim.
kalan
Isso funcionou para mim também, e não há necessidade de reiniciar!
Benjamin Barrois
Depois de tentar muitas coisas, essa foi finalmente a única coisa que funcionou para mim! (On Mint 19)
ItalyPaleAle
0

Há um caso de uso que não é 100% coberto pelas respostas anteriores, então eu queria compartilhar o seguinte script que escrevi, que empresta a solução aceita acima. Tenho certeza de que existem maneiras muito mais elegantes de fazer isso, mas isso funcionou para mim.

#!/bin/sh

while true
do
xinput set-prop `xinput list|grep Nano|grep pointer|awk '{ print $8 }'|tr -d 'id='|sed -n 2p` 'Evdev Scrolling Distance' 10, 10, 10
sleep 5
done

O script implementará a solução xinput uma vez a cada 5 segundos, procurando a segunda entrada do ponteiro (essa é a que achei sempre a velocidade de rolagem controlada). Eu precisava usar esse comando porque o número da propriedade nem sempre era o mesmo - mas era sempre o segundo da lista.

Caso de uso: se você usar um comutador USB para controlar vários computadores, pelo menos um dos quais é Linux e outro é Windows - quando você alterna do Linux para o Windows para o Linux, a alteração da velocidade de rolagem não persiste (mesmo se você usar a solução xinput, .profile ou modprobe).

Também achei a solução .profile problemática, pois se você remover o transceptor e colocá-lo novamente, em seguida, reinicie, a velocidade de rolagem será muito lenta, porque ela pegará a velocidade de rolagem apropriada e a reduzirá conforme o que estiver seu perfil.

O script que compartilhei acima pode ser executado nohup sempre que você estiver usando o comutador USB e eliminado quando não estiver. Novamente - não elegante, mas é de baixo impacto e funciona 100%.

Ben McMahon
fonte