Comment définir la sensibilité de la souris, pas seulement son accélération?

35

Je ne trouve pas un seul environnement de bureau prenant en charge la définition de l'accélération et de la sensibilité de la souris. Je ne veux aucune accélération de la souris, mais je veux augmenter la vitesse de ma souris. Cela signifie que si je déplace la souris à la même distance, le pointeur se déplace à la même distance à chaque fois, quelle que soit la rapidité avec laquelle je déplace la souris.

KDE me laissera régler l'accélération de la souris à 1x, mais la souris se déplace trop lentement à ce moment-là et je ne vois pas comment augmenter la vitesse. Je suis prêt à accepter une solution CLI, mais je n’ai pu que xinputchanger l’accélération. Je ne me souviens pas d'avoir beaucoup de chance avec xset, non plus.

David Gay
la source
Ne pouvez-vous pas le faire en augmentant à la fois l'accélération et le seuil auquel l'accélération est déclenchée? Est- ce que cela aide?
terdon
1
Je ne pense pas. Si je comprends bien, cela me laisserait simplement avec une souris lente à une accélération jusqu'à ce que je déplace le pointeur sur une certaine distance, sur laquelle l'accélération se déclencherait. Je veux que mon pointeur se déplace toujours à la même vitesse . Je ne veux aucune accélération du tout.
David Gay
Je ne suis pas sûr non plus, mais il me semble que je me débrouille avec xset m 3 400l'idée de fixer le seuil suffisamment haut pour que vous ne le dépassiez jamais afin d'éviter l'accélération en tant que telle. Peut-être si vous jouez un peu avec ça?
terdon
Je sais que je peux éliminer l'accélération, mais je veux augmenter la vitesse sans accélération. Augmentation de la vitesse, accélération nulle. Je parle dans #kde en ce moment et il semble que la seule solution serait peut-être d’acheter une souris avec un DPI supérieur. : / Si je ne reçois pas une bonne réponse dans un moment, je répondrai moi-même comme impossible.
David Gay
3
Cela a été demandé et répondu sur le SE d'Ubuntu: askubuntu.com/questions/172972/…
Warren Young

Réponses:

26

Forcez simplement le pointeur pour ignorer les pixels, voici comment:

Première liste des périphériques d'entrée:

$ 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)]   

Dans l'exemple, nous voyons que l'ID de la souris est 10. Ensuite, listez ses propriétés:

$ 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

Nous voulons la «matrice de transformation de coordonnées», rappelez-vous sa №142.

En modifiant cette propriété, nous pouvons augmenter la vitesse du pointeur. C'est une matrice de transformation, utilisée pour calculer un mouvement de pointeur . Du lien:

Par défaut, le CTM de chaque périphérique d’entrée dans X est la matrice d’identité. Par exemple, disons que vous touchez un écran tactile au point (400, 197) de l’écran:

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

Les coordonnées X et Y de l'événement de périphérique sont entrées dans la deuxième matrice du calcul. Le résultat du calcul est l'endroit où les coordonnées X et Y de l'événement sont mappées à l'écran. Comme indiqué, la matrice d'identité mappe les coordonnées de l'appareil aux coordonnées de l'écran sans aucune modification.

Nous voulons donc augmenter les valeurs en fonction de x et y , augmentant ainsi la vitesse du pointeur. Un exemple de mon PC:

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

C'est xinput set-prop <device-id> <property-number> <property-values>. Jouez un peu avec cela jusqu'à ce que vous trouviez celui qui convient. Remarque: ne modifiez pas la dernière valeur de la matrice. C'est mon erreur lorsque j'ai essayé de travailler - dans ce cas, vous ne verrez aucune différence.

Remerciements: Je remercie Simon Thum de la liste de diffusion xorg, c'est lui qui a donné l'indice de la matrice.

UPD : il est à noter que certains jeux Windows fonctionnant avec Wine peuvent avoir un comportement de pointeur étrange (par exemple, remarqué que l'objectif de l'ancienne version de Counter Strike 1.6 décline jusqu'à ce qu'il regarde le sol, quelle que soit la manière dont vous déplacez la souris) , dans ce cas, il suffit de réinitialiser x et y de CTM à 1 avant de lancer le jeu.

Salut ange
la source
1
@ Wyatt8740 J'ai récemment noté que, dans certaines circonstances, le numéro de propriété pouvait changer seul. Dans ce cas, il est possible d'utiliser le nom de périphérique / propriété au lieu d'un numéro. -À- dire avec mon appareil: 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
oui, j'ai utilisé ces cordes aussi.
Wyatt8740
1
Génial, la seule chose qui fonctionne pour moi
MichalH
17

Ce qui suit a été copié textuellement d’une réponse publiée par @Luke sur Ask Ubuntu. Je le publie comme une réponse du wiki de la communauté afin que les informations puissent également figurer sur ce site.


KDE ne l'a pas encore intégré à son centre de contrôle, mais vous pouvez utiliser xinput à partir de la ligne de commande. Tout d’abord, lancez xinput listpour trouver le numéro de périphérique de votre souris:

$ 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)]

Sur mon ordinateur portable, l’identifiant de périphérique que je veux est 10 (SynPS / 2 Synaptics TouchPad). Sur votre système, vous devrez décider quel périphérique est le bon. Ensuite, lancez xinput list-props <your device id>pour voir les paramètres actuels de ce périphérique:

$ 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 ]

La propriété qui vous intéresse est "Device Accel Constant Deceleration (267)". Pour ralentir votre souris, vous devez augmenter la valeur en lançant xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

Dans cet exemple, la valeur passe de 2,5 à 5,0 et la souris se déplace à mi-vitesse.


Des explications sur les propriétés peuvent être trouvées sur X.org .

Si vous utilisez ceci dans les scripts, l'utilisation de noms complets peut être utile car l'identifiant, etc. peut changer. Par exemple:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1
terdon
la source
Si vous n'êtes pas d'accord avec ce que j'ai fait ici, venez me le dire dans ce meta post.
terdon
1
Si vous pouviez juste préciser: "Device Accel Constant Deceleration" a-t-il un rapport avec l'accélération ou la sensibilité? Pourriez-vous s'il vous plaît donner un exemple de commande pour ma question? Celui qui supprime toute accélération de la souris mais me permet toujours d’augmenter sa sensibilité (SANS accélération)?
David Gay
@oddshocks honnêtement, je n'en ai aucune idée. Je l'ai copié à partir du site auquel je renvoie. C’est aussi un site SE, je voudrais simplement leur demander.
terdon
@terdon alors comment augmenter la vitesse du pointeur de la souris? L'option que vous avez indiquée est définie par défaut sur «1.0». Toute tentative de la réduire davantage donne une valeur négative ou, du moins, une erreur telle que «0.1» déclenche une erreur.
Bonjour Angel
1
Cela ne fonctionne que si votre appareil autorise cette option, ce qui n'a pas été le cas du mien. Vous pouvez vérifier avecxinput list-props <device-id>
Franklin
4

Si vous utilisez Xorg.conf pour configurer votre serveur X, vous pouvez l'utiliser pour définir l'accélération ou la décélération. Il suffit d'ajouter quelque chose à l'effet de:

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

où multiplicateur est combien de fois plus lent vous voulez que la souris aille. 0,5 doublerait la vitesse, ou 2 la réduirait de moitié. De manière équivalente, bien que plus complexe:

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

où "a" à "i" sont la matrice de transformation, comme décrit dans d'autres réponses.
Source: page de manuel xorg.conf

Keeree Ocelot
la source
2

J'utilise les paramètres suivants dans Mint 17.2 + Cinnamon, mais je pense que cela fonctionne également dans votre environnement.

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

Je vous suggère de régler d'abord le DPI sur votre souris au maximum (j'ai des boutons pour cela). Après cela, vous pouvez diminuer la décélération s'il vous reste encore trop de sens.

Si tout va bien, vous pouvez le placer dans le fichier approprié de votre système, de sorte qu'il chargera les paramètres en démarrant. Pour moi, ce fichier est le ~/.xinputrc.

Quelques informations sur ces propriétés xinput: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/

(Remarque: j'adore Linux! <3 Après avoir "mis à niveau" mon système sous XP en 2009. Depuis lors, j'ai mouseaccel sous Windows 7, peu importe l'accélix que j'ai essayé. Faites-moi confiance, je les ai tous essayés. Maintenant, après 6 ans , J'ai réussi à l'éteindre sous Linux Mint. Cela signifiait une précision de -20% dans mes FPS. J'ai donc joué à 40% au lieu de 50 à 60%, ce qui est une compétence peu médiatisée au lieu d'une grande. Le jeu est mort maintenant, mais c’est quand même une version pour laquelle je n’ai pas à supporter cette histoire de souris en utilisant le système d’opération.)

inf3rno
la source
0

dans Ubuntu 16.04, la propriété de ma souris est:

Device Accel Constant Deceleration (279)

Il est défini sur 1.0 par défaut. Si vous augmentez la valeur, votre souris va ralentir.

Acarkan
la source
0

essayez LXInput, c’est ce que j’utilise, je ne savais pas ce que l’accélération et la sensibilité avaient fait avant de lire votre message ^ (donc merci!) c’est dans le référentiel standard pour Ubuntu 16.04. Veuillez noter que je suis en train de régler le DPI de la souris via Solaar. Par conséquent, je ne sais pas si Solaar et LXInput interagissent de manière à rendre LXInput inutile pour lui-même. modifier désolé je pense que la « sensibilité » et « accélération » de LXInpu sont différentes à la vitesse. Je pense que la "sensibilité" est à quel point l'accélération est sensible. Désolé. Cependant-> Solaar peut certainement être utilisé pour définir DPI / Speed ​​pour les souris logitech, mais uniquement les dernières versions de github, pas celles des référentiels.


LXInput est une application graphique pour l'environnement de bureau Lightweight X11 (LXDE).

Il configure les paramètres du clavier et de la souris:

  • Retard et intervalle pour la répétition de caractères * Activer / Désactiver les bips d'une erreur de saisie au clavier * Permuter les boutons gauche et droit de la souris * Accélération et sensibilité de la souris

0.3.5-1 Ubuntu

406,5 kB

Franny
la source