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.

Malabarba
fonte
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.

JackTravis
fonte
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.

GlenPeterson
fonte
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

user165961
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
lahjaton_j
fonte
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.

iugamarian
fonte
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