Configurer la vitesse de la souris (pas l'accélération du pointeur!)

30

Existe-t-il un moyen d'augmenter la vitesse de la souris dans KDE4? Je ne veux aucune accélération de pointeur, c'est juste la vitesse de la souris que je veux changer.

Edit : Malheureusement, l'édition du xorg.conf n'est pas une option pour moi, car je veux que les utilisateurs puissent configurer eux-mêmes la vitesse de la souris et c'est la politique de l'entreprise de refuser aux utilisateurs la permission de changer le xorg.conf.

André
la source
2
quelle est la difference entre ces deux?
Web-E
3
@ Web-E Acceleration est la vitesse à laquelle la vitesse change avec le temps
Oleh Prypin
@ Web-E ce sont 2 choses différentes.
Bruno Pereira

Réponses:

35

KDE n'a pas encore intégré cela dans son centre de contrôle, mais vous pouvez utiliser xinput depuis la ligne de commande. Tout d'abord, exécutez 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'ID d'appareil que je veux est 10 (SynPS / 2 Synaptics TouchPad). Sur votre système, vous devrez décider quel appareil est le bon. Ensuite, exécutez xinput list-props <your device id>pour voir les paramètres actuels de cet appareil:

$ 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, la valeur doit être augmentée en exécutant xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

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

Luke
la source
5
Vous ne pouvez pas régler cela en dessous de 1.0, ce qui est encore beaucoup trop lent dans mon cas.
pong
2
Aucun problème avec les accessoires de liste, mais set-propentraîne: X Erreur de demande échouée: BadAccess (tentative d'accès à la ressource privée refusée) X.Org X Server 1.16.0, exécutant le bureau Unity. Pour X.Org X Server 1.9.3.90, l'ID de la souris est 6 et le numéro de propriété 233.
Incnis Mrsi
2
Encore mieux: xinput set-prop 'SynPS / 2 Synaptics TouchPad' 'Device Accel Constant Deceleration' 2.5
Simon Thum
2
ce paramètre reste-t-il après le redémarrage? sinon, pouvons-nous le faire coller?
Ciprian Tomoiagă
3
Que faire si "Device Accel Constant Deceleration" n'est même pas une option disponible?
DaVince
14

La terminologie des paramètres de la souris sous Linux (Xorg) est légèrement différente de celle de Windows.

Il existe trois paramètres importants:

  • threshold - Le déclencheur de l'accélération
  • acceleration - La vitesse après que le seuil a été atteint
  • resolution - La vitesse"

Ces paramètres sont indépendants de l'environnement de bureau. Ce sont de purs paramètres X. Donc ça marche toujours. Voir également la section souris dexset pour une manière vraiment indépendante de modifier ces paramètres.

Le gestionnaire de paramètres Unity semble renommer la thresholdsensibilité. Mais comme vous parlez de KDE, cela ne devrait pas avoir d'importance.

Uniquement thresholdet accelerationpeut être modifié par l'utilisateur. C'est resolutionun réglage à faire xorg.conf. Mais généralement, les deux premiers paramètres sont suffisants pour la plupart des utilisateurs.

Linuxreviews a une explication de ces valeurs.

Fondamentalement: la souris se déplace à une vitesse de base (modifiable à l'aide resolution). Si la souris déplace n pixels (n = threshold) en peu de temps, la vitesse de base est multipliée par acceleration. Par exemple, si vous souhaitez désactiver complètement l'accélération, vous pouvez définir le seuil sur 0. En mots: si la souris déplace les 0pixels en peu de temps, je les utiliserai base-speed * acceleration. Ainsi, un seuil de 0vous donne une vitesse de souris constante.

Donc, ces deux valeurs vous donnent un contrôle très fin sur la vitesse.

exhuma
la source
1
Le paramètre spécifiquement en question est la résolution, qui ne peut pas être modifiée à l'aide de xset.
Luke
Pour clarifier, seuil = 0 vous donne une accélération polynomiale en X, ce qui n'est pas du tout comme une vitesse constante. Utilisez la solution ci-dessus.
Simon Thum
@SimonThum est-ce vraiment le cas? Je pensais également que l'accélération était censée être linéaire (malgré une transition entre la vitesse de base et la vitesse finale = vitesse de base * accélération). J'ai lu cela plusieurs fois dans les sections de commentaires. Avez-vous des sources qui soutiennent votre demande?
daniel451
Je ne comprends pas pourquoi tout le monde s'attend à utiliser l'accélération de la souris ces jours-ci, et la résolution n'est pas facilement accessible. Le seul réglage raisonnable lorsque vous voulez une souris de haute précision est l'accélération désactivée et la vitesse (plate) diminue car les souris laser modernes ont un DPI élevé fou qui est mappé par le système à une vitesse élevée folle. Mais je ne veux pas de graine, je veux de la précision - de préférence un sous-pixel.
Prokop Hapala
13

Les étapes pour augmenter la sensibilité de la souris:

Liste d'abord tous les appareils:

$ 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): 10.400000, 0.000000, 0.000000, 0.000000, 10.400000, 0.000000, 0.000000, 0.000000, 10.400000
        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

La «matrice de transformation des coordonnées» est exactement ce que nous voulons. Rappelez-vous son №142.

En modifiant cette propriété, nous pouvons augmenter la vitesse du pointeur. Ces valeurs sont en fait une matrice de transformation utilisée pour calculer un mouvement de pointeur . Depuis le lien:

Par défaut, le CTM pour chaque périphérique d'entrée dans X est la matrice d'identité. À titre d'exemple, disons que vous touchez un écran tactile au point (400, 197) sur 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 illustré, la matrice d'identité mappe les coordonnées de l'appareil aux coordonnées de l'écran sans aucun changement.

Donc, ce que nous voulons faire avec la matrice - est de définir les valeurs selon x et y sur toute autre valeur particulière, et cela changerait 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

Ça l'est xinput set-prop <device-id> <property-number> <property-values>. Jouez un peu avec cela jusqu'à ce que vous trouviez ceux qui conviennent. Remarque: ne modifiez pas la dernière valeur de la matrice. Ce fut mon erreur lorsque je l'ai essayé de trouver du travail - dans ce cas, vous ne verrez aucune différence.

Au moins les versions récentes de xinputpermettent de spécifier les périphériques et les options par nom, cet exemple peut donc également fonctionner:

xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 0 0 0 1

Ces modifications ne sont actives que pour la session en cours, donc une fois que vous avez choisi une bonne sensibilité, vous devez l'appliquer de manière permanente en l'ajoutant à xorg.conf(ou en créant un fichier tel que /etc/X11/xorg.conf.d/40-mouse-sensitivity.conf):

Section "InputClass"
    Identifier "PixArt USB Optical Mouse"
    MatchIsPointer "Yes"
    Option "TransformationMatrix" "1.2 0 0 0 1.2 0 0 0 1"
EndSection

Si vous n'êtes pas sûr que cela fonctionne, remplacez-le par une valeur importante comme 5.0, enregistrez le fichier et redémarrez.

Remerciements: Je suis reconnaissant à Simon Thum de la liste de diffusion xorg, c'est lui qui a donné un indice sur la matrice.

Salut ange
la source
Il est préférable de laisser la matrice de transformation des coordonnées à sa fonction d'origine, "transformer les coordonnées" par exemple en cas d'orientation de l'écran ou de travailler avec des écrans tactiles, etc.
Kari Kääriäinen
2
@ KariKääriäinen comme les autres confus. La soi-disant «accélération du pointeur» n'a rien à voir avec la sensibilité de la souris, elle permet simplement de déplacer un pointeur aussi loin que vous le déplacez plus vite. Autrement dit, si vous déplacez la souris sur la même distance mais avec des vitesses différentes, le pointeur serait déplacé sur une distance différente. C'est assez inconfortable, vous devez ralentir à chaque fois pour atteindre un certain point. Mais changer la matrice de transformation vous permet en quelque sorte d'émuler une sensibilité accrue de la souris. Et btw, en particulier le deceleration ralentit la vitesse.
Hi-Angel
1
Intéressant, mais cette méthode a un inconvénient: lors de l'utilisation, certains pixels ne sont tout simplement pas accessibles. Pour rendre cela plus évident, j'ai essayé xinput set-prop 11 138 40, 0, 0, 0, 40, 0, 0, 0, 1et confirmé que la souris n'a atteint que des coordonnées espacées de 40 pixels. Une utilisation dans le monde réel n'utiliserait probablement que 2 ou 4 au lieu de 40, mais manquerait toujours des pixels. J'ai opté pour l'autre méthode (utiliser la fonction d'accélération comme gain de vitesse constant) car elle n'a pas cet inconvénient.
Stéphane Gourichon
4
La seule bonne réponse.
MichalH
1
En 2019, il n'y a plus de propriété 'Device Accel Constant Deceleration', du moins pas dans mon cas. La matrice de transformation est toujours là et peut être utilisée avec l'effet souhaité, bien que ce que @ StéphaneGourichon souligne ci-dessus soit parfaitement logique. Eh bien, Linux et ses bizarreries ...
Kellogs
4

Bien que je ne sois pas très clair sur la question, voici ma suggestion.

Pour KDE

Une recherche rapide révèle qu'il n'y a pas une telle option pour augmenter la vitesse de la souris sous la valeur seuil.

Certains utilisateurs suggèrent de changer la résolution de la souris dans le /etc/X11/xorg.conffichier ( mouse InputDevice section) comme

Option "Resolution" "400"

Mais la plupart des utilisateurs ont dit que cela ne fonctionnait pas.

Vous pouvez augmenter la valeur seuil afin que l'accélération ne démarre pas tant que la valeur seuil n'a pas atteint. (Le réglage est en Mouse> Advanced Settings)

Un article connexe peut être trouvé ici .

Pour l'unité

  • Appuyez sur la Supertouche (touche Windows).
  • Recherchez mouse.
  • Sélectionner Mouse And Touchpad
  • Modifiez maintenant la sensibilité à une valeur plus élevée. C'est peut-être ce que vous voulez.

    paramètres de la souris

Web-E
la source
2
D'accord, c'est exactement le paramètre que je recherche, mais votre capture d'écran est tirée de Gnome et ma question concerne KDE4.
André
Désolé de ne pas avoir vérifié correctement votre question. Mis à jour.
Web-E du
Ouah merci! Il semble que vous ayez consacré beaucoup d'efforts à cela. Malheureusement, la modification du fichier xorg.conf n'est pas une option, car je veux que les utilisateurs puissent configurer eux-mêmes le paramètre "Résolution" et que la politique de l'entreprise refuse aux utilisateurs la permission de modifier le fichier xorg.conf. J'ajouterai cette restriction au commentaire d'origine, mais je voterai néanmoins pour votre commentaire.
André
3
OMG. La possibilité de définir la «résolution du pointeur» via uniquement un fichier de configuration (c'est-à-dire non interactivement) doit être considérée comme un bug. Combien de fois un utilisateur doit redémarrer XServer pour trouver une résolution appropriée? Cinq? Dix? C'est aussi drôle que triste…
Hi-Angel
Je viens d'installer le unity-control-center, de régler la sensibilité de la souris sur élevée et cela n'a pas fonctionné.
Hi-Angel
2

Compte tenu de ce que le post ci-dessus avait dit, j'ai trouvé ce travail autour.

Le fait est que la souris se déplace à un multiple constant de la vitesse de base, où le multiple est défini par le paramètre "accélération".

Cependant, ce multiplicateur n'est appliqué qu'après un déplacement de votre souris plus rapide qu'une vitesse "seuil", spécifiée par le paramètre "sensibilité".

Cela crée une sensation gênante d '"accélération" où, si vous commencez à déplacer votre souris rapidement, elle commence à sauter de façon incontrôlable lorsqu'elle dépasse la vitesse seuil.

Donc, ce que vous pouvez faire est de régler la "sensibilité" à 0, ce qui rend le seuil à 0. Ce que cela fait, c'est que votre accélération est appliquée tout le temps à la vitesse de votre souris.

La vitesse de votre souris n'est alors qu'un multiple de votre paramètre "accélération", et comme il s'agit d'une multiplication linéaire, vous devriez avoir une vitesse constante proportionnelle au paramètre d'accélération. Sans sensation d'accélération et de sauts.

Donc en bref: Réglez la sensibilité à 0. Réglez le paramètre "accélération" comme s'il s'agissait de "vitesse"

evan
la source
Cette réponse est la version générique de la réponse orientée KDE de lolmaus. C'est exactement ce que j'ai fait, bien que j'aie d'abord essayé avec un seuil de 1 pixel car d'autres réponses mentionnaient 0 comme "désactivé". Quoi qu'il en soit, je pouvais le tester immédiatement en exécutant ceci: xset mouse 4 0etc., et finalement réglé pour xset mouse 2 0. C'est une sorte de piratage (en utilisant la fonction d'accélération pour une vitesse normale), mais cela fonctionne, même si je pense à l'utilisation qu'il y a encore un certain seuil appliqué.
Stéphane Gourichon
1

Personnellement, je trouve que le mouvement précis du pointeur est meilleur pour l'expérience globale du bureau, donc ce paramètre est important pour moi aussi. Je me demandais toujours pourquoi les concepteurs d'OS UXP non seulement font de l'accélération la valeur par défaut, mais ont également tendance à supprimer le contrôle de l'interface utilisateur.

Vous pourriez constater que l'accélération, qui est censée vous procurer un UXP plus confortable, n'est en fait pas souhaitable dans certaines situations, car vous pourriez manquer les bons éléments d'interface utilisateur à l'écran lorsque vous déplacez la souris rapidement, ou tout simplement avoir besoin de précision pour une application de CAO. Plus précisément, il est difficile de contrôler les éléments de l'interface utilisateur du curseur et de la flèche ou de déplacer une forme sur l'interface utilisateur de certains concepteurs. De plus, avec l'accélération, il est difficile de positionner le curseur de la souris dans un éditeur de texte précisément lorsque vous copiez-collez une région de texte. Certains pourraient faire valoir que lorsque vous avez besoin d'obtenir de la précision, vous ralentissez, mais que se passe-t-il si vous ne voulez pas ralentir tout en obtenant de la précision?

Vous pouvez vérifier s'il y a accélération ou non:

(1). Déplacez le pointeur de votre souris vers la droite de l'écran, notez la position physique de l'appareil sur la table.

(2). Déplacez modérément la souris vers la gauche un peu, de sorte que le curseur se déplace autour du centre de l'écran, puis ramène très lentement le périphérique physique à sa position d'origine.

(3). Répétez les étapes (1) et (2) plusieurs fois.

S'il n'y a pas d'accélération, le curseur devrait toujours arriver à droite de l'écran. S'il y a accélération, le pointeur se déplacerait de plus en plus vers la gauche, donc après 3 ou 4 fois, il frapperait simplement la gauche de l'écran, vous devez donc le réparer.

Aucune accélération signifie que vous devez ajuster le Device Accel Velocity Scalingparamètre.

Cela ralentira le mouvement de la souris en général, vous devez donc compenser cela avec un réglage de la vitesse constante. Cela peut être fait en diminuant le Device Accel Constant Decelerationparamètre.

Voici ce qui a fonctionné pour moi:

  1. Trouvez l'ID du périphérique de la souris:

$ xinput list ... ⎜ ↳ PixArt USB Optical Mouse id=10 [slave pointer (2)] ...

L'identifiant de l'appareil = 10

  1. Liste des propriétés de l'appareil

$ xinput list-props 10 ... Device Accel Constant Deceleration (276): 1.000000 ... Device Accel Velocity Scaling (278): 10.000000 ...

  1. Réduisez le paramètre de mise à l'échelle au minimum, cela devrait donner un mouvement de souris un à un par rapport au mouvement physique réel. Que vous le définissiez sur quelque chose comme 0,1, 0,001 ou 1e-30 n'a pas d'importance, car c'est une accélération beaucoup plus faible que la valeur par défaut de 10,0. Vous ne pouvez pas le mettre à zéro, car il est considéré comme une erreur.

$ xinput set-prop 10 278 1e-10

  1. (facultatif) Maintenant, vous remarquerez peut-être qu'en dépit de leur précision, la vitesse a généralement diminué, vous devrez donc peut-être jouer avec le Constant Decelerationparamètre pour restaurer une vitesse confortable. Dans mon cas, un réglage confortable était de 0,7 qui accélérait le pointeur de moitié, faisait en sorte que le mouvement de la souris ressemblait à la même vitesse qu'auparavant, mais sans accélération:

$ xinput set-prop 10 276 0.7

Si vous le souhaitez plus rapidement, définissez une valeur inférieure ici, comme 0,5, 0,4, etc. Si vous le souhaitez plus lent, définissez-le sur quelque chose comme 1,0, 1,2 ou même 1,5.

George Polevoy
la source
1

Les réponses ci-dessus sont désormais obsolètes. Ce qui a le plus fonctionné pour moi, c'est la dernière section de cette entrée wiki :

avec libinput

Alternativement, depuis libinput-1.1.0-1 et xf86-input-libinput-0.15.0-1, vous pouvez utiliser un profil d'accélération plat. Pour l'activer, créez le fichier suivant:

/etc/X11/xorg.conf.d/50-mouse-acceleration.conf

Section "InputClass" Identifier "My Mouse" Driver "libinput" MatchIsPointer "yes" Option "AccelProfile" "flat" Option "AccelSpeed" "0" EndSection

et redémarrez X.

Une autre option est cette commande:

$ xinput --set-prop 'libinput Accel Profile Enabled' 0, 1

Qui n'a pas besoin d'un redémarrage X, mais n'est pas persistant. Bien qu'il puisse être configuré pour s'exécuter automatiquement avec le démarrage automatique.

kellogs
la source
0

Comment ajuster la vitesse de la souris dans KDE
  • sans activer l'accélération de la souris
  • et uniquement en utilisant la boîte de dialogue settigns (pas de console, pas de fichiers de configuration)

Ceci est un résumé familier de la réponse d'exhuma, n'oubliez pas de le voter.

Dans KDE, l'accélération de la souris n'est pas logarithmique. Autrement dit, il a deux vitesses de souris constantes: non accélérée et accélérée. Il passe de l'un à l'autre lorsque vous secouez la souris assez rapidement.

La première vitesse n'est pas configurable (au moins, à partir de l'interface graphique). La deuxième vitesse est configurable.

La solution est:

  1. Réglez "Seuil du pointeur" sur 0. Par conséquent, la deuxième vitesse sera appliquée à tout moment.
  2. Ajustez "Accélération du pointeur" pour augmenter ou réduire cette vitesse.

Vous vous retrouverez avec une vitesse de curseur constante et non dynamique ajustée à votre goût.

lolmaus - Andrey Mikhaylov
la source