Como posso definir a sensibilidade do mouse, não apenas a aceleração do mouse?

35

Não consigo encontrar um único ambiente de área de trabalho que suporte a configuração da aceleração e da sensibilidade do mouse. Não quero nenhuma aceleração do mouse, mas quero aumentar a velocidade do mouse. Isso significa que, se eu mover o mouse na mesma distância, o ponteiro se moverá sempre à mesma distância, não importa a rapidez com que movo o mouse.

O KDE permite definir a aceleração do mouse para 1x, mas o mouse se move muito devagar e não consigo descobrir como aumentar a velocidade. Estou disposto a aceitar uma solução CLI, mas só consegui xinputalterar a aceleração. Também não me lembro de ter muita sorte xset.

David Gay
fonte
Você não pode fazer isso aumentando a aceleração e o limite no qual a aceleração é acionada? Será que isso ajuda?
terdon
11
Acho que não. Se eu entendi corretamente, isso simplesmente me deixaria com um mouse lento a 1 x aceleração até mover o ponteiro a uma certa distância, sobre a qual o acelerador entraria. Quero que meu ponteiro sempre se mova na mesma velocidade . Não quero nenhuma aceleração.
David Gay
Também não tenho certeza, mas parece que estou chegando a algum lugar xset m 3 400, com a idéia de definir um limite alto o suficiente para que você nunca o ultrapasse, para que não tenha aceleração. Talvez se você jogar um pouco com isso?
terdon
Eu sei que posso eliminar a aceleração, mas quero aumentar a VELOCIDADE sem aceleração. Velocidade aumentada, aceleração zero. Estou falando no #kde agora e parece que a única solução pode ser comprar um mouse com maior DPI. : / Se eu não receber uma boa resposta daqui a pouco, eu mesmo responderei como impossível.
David Gay
3
Isso foi perguntado e respondido no Ubuntu SE: askubuntu.com/questions/172972/…
Warren Young

Respostas:

26

Basta forçar o ponteiro a pular pixels, eis como:

Primeira lista de dispositivos de entrada:

$ xinput list                                                               
⎡ Virtual core pointer                          id=2    [master pointer  (3)]                                 
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]                                 
⎜   ↳ PixArt USB Optical Mouse                  id=10   [slave  pointer  (2)]                                 
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [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)]                                 
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]                                 
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]                                 
    ↳ USB2.0 UVC 2M WebCam                      id=9    [slave  keyboard (3)]                                 
    ↳ Asus Laptop extra buttons                 id=13   [slave  keyboard (3)]                                 
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]   

No exemplo, vemos a identificação do mouse como 10. A seguir, liste suas propriedades:

$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (260):        2362, 9488
        Device Node (261):      "/dev/input/event5"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
        Button Labels (273):    "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
        Evdev Middle Button Emulation (274):    0
        Evdev Middle Button Timeout (275):      50
        Evdev Third Button Emulation (276):     0
        Evdev Third Button Emulation Timeout (277):     1000
        Evdev Third Button Emulation Button (278):      3
        Evdev Third Button Emulation Threshold (279):   20
        Evdev Wheel Emulation (280):    0
        Evdev Wheel Emulation Axes (281):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (282):    10
        Evdev Wheel Emulation Timeout (283):    200
        Evdev Wheel Emulation Button (284):     4
        Evdev Drag Lock Buttons (285):  0

Queremos a «Matriz de Transformação de Coordenadas», lembre-se do seu №142.

Alterando essa propriedade, podemos aumentar a velocidade do ponteiro. É uma matriz de transformação, usada para calcular um movimento do ponteiro . No link:

Por padrão, o CTM para cada dispositivo de entrada em X é a matriz de identidade. Como exemplo, digamos que você toque em uma tela sensível ao toque no ponto (400, 197) na tela:

⎡ 1 0 0 ⎤   ⎡ 400 ⎤   ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦   ⎣  1  ⎦   ⎣  1  ⎦

As coordenadas X e Y do evento do dispositivo são inseridas na segunda matriz do cálculo. O resultado do cálculo é onde as coordenadas X e Y do evento são mapeadas para a tela. Como mostrado, a matriz de identidade mapeia as coordenadas do dispositivo para as coordenadas da tela sem nenhuma alteração.

Então, queremos aumentar os valores de acordo com x e y , aumentando assim a velocidade do ponteiro. Um exemplo do meu PC:

$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000

É xinput set-prop <device-id> <property-number> <property-values>. Brinque um pouco com isso até encontrar o apropriado. Nota: não altere o último valor da matriz. Esse foi o meu erro quando tentei conseguir trabalho - nesse caso, você simplesmente não verá nenhuma diferença.

Agradecimentos: Sou grato a Simon Thum, da lista de discussão do xorg, ele foi quem deu a dica sobre a matriz.

UPD : note que alguns jogos do Windows em execução com o Wine podem ter um comportamento estranho do ponteiro (por exemplo, notei que o objetivo no antigo Counter Strike 1.6 diminui, até ficar olhando o chão, não importa como você move o mouse) , neste caso, basta redefinir x e y do CTM para 1 antes de executar o jogo.

Olá anjo
fonte
11
@ Wyatt8740 Recentemente, observei que, em algumas circunstâncias, o número da propriedade pode mudar por conta própria; nesse caso, é possível usar o nome do dispositivo / propriedade em vez de um número. Ou seja, com o meu dispositivo: xinput set-prop "PixArt USB Optical Mouse" "Coordinate Transformation Matrix" 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000.
Hi-Angel
Sim, eu usei essas cordas também.
Wyatt8740
11
Awesome, a única coisa que funciona para mim
MichalH
17

O seguinte foi copiado literalmente de uma resposta que o @Luke postou no Ask Ubuntu. Estou postando como uma resposta wiki da comunidade, para que as informações também possam estar neste site.


O KDE ainda não incorporou isso em seu centro de controle, mas você pode usar o xinput na linha de comando. Primeiro, corra xinput listpara encontrar o número do dispositivo do seu mouse:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

No meu laptop, a ID do dispositivo que eu quero é 10 (SynPS / 2 Synaptics TouchPad). No seu sistema, você terá que decidir qual dispositivo é o correto. Em seguida, execute xinput list-props <your device id>para ver as configurações atuais desse dispositivo:

$ xinput list-props 10
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (144):   1
    Device Accel Profile (266):     1
    Device Accel Constant Deceleration (267):       2.500000
    Device Accel Adaptive Deceleration (268):       1.000000
    Device Accel Velocity Scaling (269):    12.500000
  [ many more settings omitted ]

O imóvel em que você está interessado é "Desaceleração constante de aceleração de dispositivo (267)". Para diminuir a velocidade do mouse, o valor deve ser aumentado executando xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

Neste exemplo, o valor é aumentado de 2,5 para 5,0 e o mouse se move a meia velocidade.


A explicação das propriedades pode ser encontrada em X.org .

Se alguém estiver usando isso em scripts, o uso de nomes completos pode ajudar, pois o ID etc. pode mudar. Por exemplo:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1
terdon
fonte
Se você não concorda com o que eu fiz aqui, diga-me nesta meta post.
terdon
11
Se você pudesse esclarecer: "O dispositivo acelera a desaceleração constante" tem a ver com aceleração ou sensibilidade? Você poderia dar um exemplo de comando para minha pergunta? Um que remove toda a aceleração do mouse, mas ainda permite aumentar a sensibilidade do mouse (SEM aceleração)?
David Gay
@oddshocks honestamente, não faço ideia. Copiei isso do site ao qual vinculo. Esse também é um site de SE, eu iria perguntar a eles.
terdon
@terdon, então como faço para aumentar a velocidade do ponteiro do mouse? A opção que você apontou é definida como «1.0» por padrão, e uma tentativa de diminuí-lo mais ainda gera um valor negativo ou, pelo menos, algo como «0.1» aciona um erro.
Hi-Angel
11
Isso só funciona se o seu dispositivo permitir essa opção, a minha não. Você pode verificar comxinput list-props <device-id>
Franklin
4

Se você estiver usando o Xorg.conf para configurar o seu X Server, poderá usá-lo para definir a aceleração ou desaceleração. Basta adicionar algo ao efeito de:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "ConstantDeceleration" "multiplier"
EndSection

onde multiplicador é quantas vezes mais lento você deseja que o mouse vá. 0,5 dobraria a velocidade ou 2 reduziria pela metade. Equivalentemente, embora mais complexo:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "TransformationMatrix" "a b c d e f g h i"
EndSection

onde "a" a "i" são a matriz de transformação, conforme descrito em outras respostas.
Fonte: página de manual do xorg.conf

Keeree Ocelot
fonte
2

Eu uso as seguintes configurações no Mint 17.2 + Canela, mas acho que funciona no seu ambiente também.

xinput list # to get the id of your mouse
xinput list-props 10 # to list the properties of your mouse
xinput set-prop 10 'Device Accel Profile' -1 # turns off mouseaccel
xinput set-prop 10 'Device Accel Constant Deceleration' 1.5 # settings the sens

Eu sugiro que você defina o DPI no seu mouse no máximo primeiro (eu tenho botões para isso). Depois disso, você pode diminuir a desaceleração se ainda tiver um sensor muito baixo.

Se estiver tudo bem, você pode colocar isso no arquivo apropriado no seu sistema, para que ele carregue as configurações inicializando. Para mim, esse arquivo é o ~/.xinputrc.

Algumas informações sobre essas propriedades do xinput: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/

(Nota: eu amo o Linux! <3 Depois que "atualizei" meu sistema a partir do XP em 2009. Desde então, tive o mouseaccel no Windows 7, não importando o que eu tentei. Confie em mim, tentei todos eles. Agora, após 6 anos , Consegui desativá-lo no Linux Mint. :-) Era um pouco tarde demais, encerrei minha operadora de jogos pelo menos parcialmente por causa disso. Isso significava precisão de -20% no meu FPS. Então joguei com 40% em vez de 50-60% de acs, o que é uma habilidade de baixa med em vez de alta. O jogo está morto agora, mas ainda é um lançamento que não preciso suportar essa coisa de rato usando o sistema operacional.)

inf3rno
fonte
0

No Ubuntu 16.04, a propriedade do meu mouse é:

Device Accel Constant Deceleration (279)

É definido como 1.0 por padrão. Se você aumentar o valor, o mouse ficará mais lento.

Acarkan
fonte
0

tente LXInput, é isso que eu uso, não percebi o que a aceleração e a sensibilidade fizeram até que li sua postagem ^ (então, obrigado!) está no repositório padrão do ubuntu 16.04. Observe que estou configurando o DPI do mouse via Solaar, portanto, não tenho certeza se Solaar e LXInput estão interagindo de uma maneira que tornaria o LXInput inútil por si só. editar desculpe, acho que a "sensibilidade" e a "aceleração" do LXInpu são diferentes da velocidade. Eu acho que "sensibilidade" é a sensibilidade da aceleração. Desculpe. no entanto-> Solaar definitivamente pode ser usado para definir DPI / Velocidade para mouses logitech, mas apenas os mais recentes do github, não os dos repositórios


O LXInput é um aplicativo GUI para o LXDE (Lightweight X11 Desktop Environment).

Ele define as configurações de teclado e mouse:

  • Atraso e intervalo para repetição de caracteres * Ativar / desativar bipes do erro de entrada do teclado * Trocar os botões esquerdo e direito do mouse * Aceleração e sensibilidade do mouse

0.3.5-1 Ubuntu

406,5 kB

Franny
fonte