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

33

Não consigo encontrar um único ambiente de desktop que suporte a configuração da aceleração do mouse e da sensibilidade do mouse. Eu não quero nenhuma aceleração do mouse, mas quero aumentar a velocidade do mouse. Isso significa que se eu mover o mouse a mesma distância, o ponteiro se moverá a mesma distância toda vez, não Não importa o quão rápido eu movo o mouse.

O KDE me permite configurar 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 de CLI, mas só consegui obter xinput para alterar a aceleração. Não me lembro de ter muita sorte com xset .

    
por David Gay 14.09.2013 / 00:06

5 respostas

19

Basta forçar o ponteiro a pular pixels. Veja 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 que o ID do mouse é 10. Em seguida, 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 №142.

Ao alterar esta propriedade, podemos aumentar a velocidade do ponteiro. É uma matriz de transformação usada para calcular um movimento de ponteiro . Do link:

By default, the CTM for every input device in X is the identity matrix. As an example, lets say you touch a touchscreen at point (400, 197) on the screen:

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

The X and Y coordinates of the device event are input in the second matrix of the calculation. The result of the calculation is where the X and Y coordinates of the event are mapped to the screen. As shown, the identity matrix maps the device coordinates to the screen coordinates without any changes.

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 obter trabalho - neste caso, você 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 rodando com o Wine podem ter um comportamento estranho em ponteiros (por exemplo, percebemos que o objetivo no antigo Counter Strike 1.6 diminui, até que ele olha para o chão, sem Não importa como você move o mouse) , neste caso apenas restaure x e y do CTM para 1 antes de rodar o jogo.

    
por 05.01.2015 / 23:47
17

O texto a seguir foi copiado textualmente de uma resposta que @Luke postou no Ask Ubuntu. Eu estou postando isso como uma resposta do wiki da comunidade para que as informações possam estar neste site também.

O KDE ainda não construiu isso em seu centro de controle, mas você pode usar o xinput a partir da linha de comando. Primeiro, execute xinput list para 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, o 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 ]

A propriedade em que você está interessado é "Desaceleração Constante do Dispositivo Accel (267)". Para diminuir o movimento 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.

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, já que o código etc. pode mudar. Por exemplo:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1
    
por 13.04.2017 / 14:36
4

Se você estiver usando o Xorg.conf para configurar o seu X Server, você pode usá-lo para configurar 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ê quer que o mouse vá. 0,5 dobraria a velocidade, ou 2 a metade. Equivalente, embora mais complexo:

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

onde "a" até "i" são a matriz de transformação, conforme descrito em outras respostas.
Fonte: manpage do xorg.conf

    
por 12.04.2015 / 11:20
2

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

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 tudo estiver bem, você pode colocar isso no arquivo apropriado em seu sistema, então ele carregará as configurações iniciando. Para mim esse arquivo é o ~/.xinputrc .

Algumas informações sobre essas propriedades de xinput: link

(Nota: Eu amo o Linux! < 3 Depois que eu "atualizei" meu sistema do XP em 2009. Desde então eu tive mouseaccel no Windows 7, não importando qual accelfix eu tentei. Confie em mim, eu tentei de tudo Agora, depois de 6 anos, eu consegui desligá-lo no Linux Mint :-) Foi um pouco tarde demais, eu terminei minha portadora de jogos pelo menos parcialmente por causa disso. Isso significava -20% de precisão no meu FPS. Então eu joguei com 40% ao invés de 50-60% de acc, o que é uma habilidade med baixa em vez de uma alta. O jogo está morto agora, mas ainda é um lançamento que eu não tenho que suportar essa coisa mouseaccel usando o sistema operacional.)

    
por 24.08.2015 / 07:22
0

no Ubuntu 16.04 a propriedade para o meu mouse é:

Device Accel Constant Deceleration (279)

É definido como 1.0 por padrão. Se você aumentar o valor, o mouse diminuirá a velocidade.

    
por 02.10.2018 / 18:29