Diminuir a sensibilidade do mouse abaixo do limite padrão


42

Eu tenho um mouse USB conectado ao meu notebook Ubuntu. (Infelizmente) este mouse é realmente sensível e, por vezes, fica difícil acertar pequenos ícones com o ponteiro do mouse. Este é realmente um problema de hardware, não é um bug e não é culpa do Ubuntu / gnome. Ainda assim, eu gostaria muito dessa questão por meio de software (resolver por hardware implicaria comprar um novo mouse).

De volta ao Windows, se eu definir a sensibilidade como realmente baixa, ela será confortável o suficiente. No Ubuntu, mesmo a menor sensibilidade e aceleração disponível (no menu Sistema> Prerências> Mouse ) ainda é frustrante. Como diminuí-lo abaixo do mínimo padrão?

Eu tentei o xset, mas parece que o xset lida apenas com aceleração e limite, mas não com sensibilidade real.


1
Onde coloco essas linhas de código?

Respostas:


55

Eu tenho um mouse Razer DeathAdder e, como no seu caso, a sensibilidade / aceleração são muito altas, mesmo que eu as coloque no nível mais baixo nas preferências do mouse. Então, para resolver esse problema, usei o comando xinput.

Primeiro, você precisará do mouse ProductName e ID:

xinput list
...
 Razer Razer DeathAdder                     id=8    [slave  pointer  (2)]
...

Em seguida, você define o nível de desaceleração constante que atende às suas necessidades com este comando:

xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.

Para tornar a configuração persistente (e para todo o sistema) , você precisará editar o seu xorg.conf ( /etc/X11/xorg.conf).

Section "InputClass"
   Identifier      "Razer"                    # Whatever you want.
   MatchProduct    "Razer Razer DeathAdder"   # Product name from xinput list.
   Option          "ConstantDeceleration" "3" # The same value as xinput.
EndSection

Depois de reiniciar, você deverá ter o mesmo resultado que o comando xinput.

Deixe-me saber se isso ajuda.


Surpreendente! Eu tinha desistido semanas atrás. Muito obrigado, isso realmente ajuda.
— Malabarba

5
Bah: "a propriedade 'Desaceleração constante de aceleração de dispositivo' não existe, você precisa especificar seu tipo e formato
— mlissner

1
Ainda funciona, mesmo para o Linux Mint 17! Obrigado :)
— Richard de Wit

3
se eu não tiver o xorg.confarquivo, devo criá-lo?
— Ciprian Tomoiagă

1
@mlissner tentar um id divice diferente, meu tem 3 pontos, e eu tive que usar 10
— flcoder

6

Ubuntu 17.04

Siga as instruções abaixo, mas mude:

xinput set-prop 10 "Device Accel Constant Deceleration" 3

Para:

xinput set-prop 10 "libinput Accel Speed" -0.4

Obrigado @tambre. Não tenho certeza se isso é tão ideal quanto o cenário antigo, mas é bem próximo.

xset m 3

Isso ainda funciona muito bem. Precisa descobrir como salvar, para que este seja o padrão na reinicialização.

Ubuntu 16.04

A resposta de @JackTravis foi incrivelmente útil, mas acho que vale a pena atualizar para o 16.04 porque o arquivo xorg.conf foi movido e foi dividido em vários arquivos. Antes de escrever esta resposta, tentei usar xsete brincar com as xinputconfigurações por um tempo antes de decidir que a xinput ConstantDeceleration 3configuração do JackTravis era a melhor para o meu Logitech M510 na área de trabalho e para um mouse com fio mais antigo do meu laptop.

1. Listar ratos

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=10   [slave  pointer  (2)]
⎜   ↳ Synaptics Inc. Composite TouchPad / TrackPoint    id=13   [slave  pointer  (2)]
...

Meu mouse era o Logitech M510, id=10então eu vou usá-lo neste exemplo. Você precisará substituí- lo por qualquer que seja o nome do mouse. Agora, use xinput set-proppara experimentar várias configurações até o mouse se mover exatamente como você deseja. O 10seguinte corresponde ao do id=10meu mouse no meu sistema. Você provavelmente terá que mudar isso.

2. Altere suas configurações temporariamente

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

Se você está curioso para saber quais outras configurações afetam seu dispositivo, tente

$ xinput --list-props 10

Para limpar as configurações depois de realmente estragá-las, tudo o que precisava fazer era desconectar e reconectar o mouse.

3. Salve a nova configuração permanentemente

Se você gosta de ConstantDeceleration of 3, precisa adicionar um arquivo xorg.conf da nova maneira Ubuntu 16.04: adicionando um novo arquivo em /usr/share/X11/xorg.conf.d/ Você deseja alterar Logitech M510e logitech-m510no nome do arquivo para corresponder ao seu mouse. Eu acho que o 60-início do nome do arquivo é a prioridade com a qual esses arquivos são carregados. O seguinte comando shell de uma linha é o que eu coloquei no meu machineSetup.sharquivo no Dropbox para que eu possa personalizar rapidamente uma nova máquina exatamente como eu gosto dentro de minutos de uma nova instalação:

sudo sh -c "echo 'Section \"InputClass\"\n\
   Identifier      \"My awesome new mouse\"\n\
   MatchProduct    \"Logitech M510\"\n\
   Option          \"ConstantDeceleration\" \"3\"\n\
EndSection\n' > /usr/share/X11/xorg.conf.d/60-logitech-m510.conf"

OU , se você quiser fazer isso da maneira da GUI, abra um editor como root e cole e edite o seguinte em/usr/share/X11/xorg.conf.d/60-<whatever>.conf

Section "InputClass"
   Identifier      "My Awesome Blue Mouse"
   MatchProduct    "Logitech M510"
   Option          "ConstantDeceleration" "3"
EndSection

4. Reinicialize

É isso aí. Apenas reinicie e verifique se as novas configurações entraram em vigor.


1
Infelizmente, recebo o seguinte: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatao tentar o comando na segunda etapa (com o ID do meu dispositivo).
— tambre

@ tambre Meu palpite é que você não usou o ID numérico correto identificado na etapa 1 quando executou a etapa 2. Se esse não for o caso, provavelmente não vou saber o suficiente para poder ajudá-lo.
— 22417 GlenPeterson

1
Depois de listar as propriedades, Device Accel Constant Decelerationnão existe mais. Parece estar usando libinput como driver, então tive que modificar o valor de libinput Accel Speedcujos valores válidos são de -1 a 1.
— tambre

1
Isso funcionou para mim, mas meu mouse (um "Razer Razer DeathAdder 2013") apareceu várias vezes em Virtual core pointer(duas vezes) e Virtual core keyboard(uma vez). Apenas os pointerdispositivos tinham Device Accel Constant Deceleration, então tive que me certificar de selecionar um desses dispositivos ao testar xinput. O xorg.conf.darquivo ainda funcionava perfeitamente.
— 1828 Alex

2

Resposta tardia, mas acho que vale a pena postar:

Já que estamos falando de mouse para jogos aqui. Melhor é desativar completamente a aceleração do mouse (útil para jogadores de FPS etc.). Economize alguns ciclos da CPU, não o utilizando para calcular qualquer aceleração do mouse e provavelmente também haverá leituras mais precisas (depende ou o sensor de hardware do mouse possui extrapolação embutida).

xinput set-prop <mousedevice_nr> "Device Accel Profile" -1

ou

Section "InputClass"
   Identifier      "Razer"
   MatchProduct    "Razer DeathAdder"         # Product name from xinput list.
   Option          "AccelerationProfile" "-1" # Turn mouse accel off saving CPU cycles
EndSection

Fonte


Fico com esta: X Error of failed request: BadValue (integer parameter out of range for operation).
— MasterOfBinary

ótimo isso foi incrível obrigado. Estou tendo problemas com meu Kingsis Peripherals Evoluent VerticalMouse 3. Ele tem uma configuração de DPI na parte inferior do mouse e nas configurações mais altas de DPI - mesmo as configurações de sensibilidade mais baixa ainda são muito altas.
— precisa saber é o seguinte

2

Uma ligeira modificação na resposta de Glen, isso funciona para o mouse Logitech e dobra a "lentidão" de 1 para 2.

Adicione a ~ / .profile (como indicado no comentário) (ou .bashrc, mas você precisará iniciar um terminal para que a alteração ocorra)

MOUSE_SLOWNESS=2
MOUSE_ID=`xinput list | grep Mouse | awk '{print $(NF-3)}' | cut -c4-5`
xinput set-prop $MOUSE_ID "Device Accel Constant Deceleration" $MOUSE_SLOWNESS

1
Eu acho que é melhor adicionar essas linhas ao final do que ao .profileinvés de .bashrc. .profilesó é executado por interativas de login conchas, entretanto, .bashrcserá executado cada vez que um bashshell é iniciado. Veja esta resposta para mais informações.
— chus

tecnicamente .bash_aliasesfunciona bem como o .bashrcarquivo ubuntu padrão o carrega correto?
— precisa saber é o seguinte

1

Se você usar a porta PS2, o movimento do mouse é muito mais lento para a mesma resolução do mouse.

Para o seu mouse, tente usar um conversor USB para PS2 e coloque o mouse na porta PS2.

Editar:

Eu encontrei a xorg.confsolução de trabalho:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

Onde uma sensibilidade de 1 é o padrão e a de 0,2 a diminui cinco vezes.


Essa é uma ideia criativa. Acho que tenho um conversor em casa, então vou tentar amanhã.
— Malabarba 27/10/10

Eu encontrei uma solução de trabalho xorg.conf. Resposta editada.
— Iugamarian

1
Isso não vai funcionar em laptops, no entanto.
— Daniel Silva

Onde está xorg.conf?
— Verde
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.