Diminuer la sensibilité de la souris en dessous de la limite standard

42

Une souris USB est connectée à mon ordinateur portable Ubuntu. Cette souris est (malheureusement) vraiment sensible et il est donc parfois difficile de frapper de petites icônes avec le pointeur de la souris. C'est vraiment un problème matériel, ce n'est pas un bug et ce n'est pas la faute de / gnome d'Ubuntu. Néanmoins, j'aimerais beaucoup que ce problème soit lié au logiciel (la résolution matérielle impliquerait l'achat d'une nouvelle souris).

De retour dans Windows, si je réglais la sensibilité sur très basse, c’était assez confortable. Sous Ubuntu, la sensibilité et l'accélération les plus faibles disponibles (dans le menu Système> Prérences> Souris ) sont toujours frustrantes. Comment puis-je le diminuer en dessous du minimum par défaut?

J'ai essayé xset, mais il semble que xset ne traite que de l'accélération et du seuil, mais pas de la sensibilité réelle.

Malabarba
la source
1
Où est-ce que je mets ces lignes de code?

Réponses:

55

J'ai une souris Razer DeathAdder et, comme dans votre cas, la sensibilité / accélération est trop élevée même si je les mets au niveau le plus bas dans les préférences de la souris. Donc, pour résoudre ce problème, j'ai utilisé la commande xinput.

Premièrement, vous aurez besoin de votre souris ProductName et ID:

xinput list
...
 Razer Razer DeathAdder                     id=8    [slave  pointer  (2)]
...

Ensuite, vous définissez le niveau de décélération constant qui convient à vos besoins avec cette commande:

xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.

Pour rendre la configuration persistante (et l’étendre à l’ensemble du système) , vous devrez éditer votre 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

Une fois que vous avez redémarré, vous devriez obtenir le même résultat que la commande xinput.

Faites-moi savoir si cela aide.

JackTravis
la source
Incroyable! Je l'avais abandonné il y a des semaines. Merci beaucoup, cela aide vraiment.
Malabarba
5
Bah: "la propriété 'Device Accel Constant Deceleration' n'existe pas, vous devez spécifier son type et son format
mlissner
1
Cela fonctionne toujours, même pour Linux Mint 17! Merci :)
Richard de Wit
3
si je n'ai pas le xorg.conffichier, dois-je le créer?
Commentaires
1
@ mlissner essayez un autre identifiant de division, le mien a 3 pointeurs, et j'ai dû utiliser 10
flcoder
6

Ubuntu 17.04

Suivez les instructions ci-dessous, mais changez:

xinput set-prop 10 "Device Accel Constant Deceleration" 3

À:

xinput set-prop 10 "libinput Accel Speed" -0.4

Merci @tambre. Pas sûr que ce soit tout aussi idéal que l'ancien, mais c'est assez proche.

xset m 3

Cela fonctionne toujours très bien. Besoin de comprendre comment sauvegarder, il s'agit donc du paramètre par défaut au redémarrage.

Ubuntu 16.04

La réponse de @JackTravis a été incroyablement utile, mais je pense que la mise à jour de la version 16.04 mérite d'être mise à jour, car le fichier xorg.conf a été déplacé et divisé en plusieurs fichiers. Avant d'écrire cette réponse, j'ai essayé d'utiliser xsetet de jouer avec les xinputparamètres pendant un certain temps avant de décider que les xinput ConstantDeceleration 3paramètres de JackTravis étaient les meilleurs pour mon Logitech M510 sur mon ordinateur de bureau et une ancienne souris câblée sur mon ordinateur portable.

1. Liste des souris

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

Ma souris était le Logitech M510, id=10alors je vais l'utiliser dans cet exemple. Vous devrez le remplacer par le nom de votre souris. Maintenant, utilisez xinput set-proppour essayer divers réglages jusqu'à ce que votre souris se déplace exactement comme vous le souhaitez. Ce qui 10suit correspond au id=10pour ma souris sur mon système. Vous devrez probablement changer cela.

2. Modifier temporairement vos paramètres

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

Si vous êtes curieux de savoir quels autres paramètres affectent votre appareil, essayez

$ xinput --list-props 10

Pour effacer les paramètres après les avoir vraiment bousillés, tout ce que je devais faire était de débrancher et de rebrancher ma souris.

3. Enregistrez le nouveau paramètre de manière permanente

Si vous aimez ConstantDeceleration of 3, vous devez ajouter un fichier xorg.conf de la nouvelle manière Ubuntu 16.04: en ajoutant un nouveau fichier dans /usr/share/X11/xorg.conf.d/ Vous voudrez changer Logitech M510et logitech-m510dans le nom du fichier en fonction de votre souris. Je pense que le 60-début du nom de fichier est la priorité avec laquelle ces fichiers sont chargés. La commande shell à une ligne suivante correspond à ce que je mets dans mon machineSetup.shfichier dans Dropbox afin de pouvoir personnaliser rapidement une nouvelle machine exactement comme je le souhaite en quelques minutes à compter d’une nouvelle installation:

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 , si vous voulez le faire à l’aide d’une interface graphique, ouvrez un éditeur en tant que root, puis collez et modifiez les éléments suivants dans/usr/share/X11/xorg.conf.d/60-<whatever>.conf

Section "InputClass"
   Identifier      "My Awesome Blue Mouse"
   MatchProduct    "Logitech M510"
   Option          "ConstantDeceleration" "3"
EndSection

4. Redémarrage

C'est ça. Il suffit de redémarrer et de vérifier que les nouveaux paramètres ont pris effet.

GlenPeterson
la source
1
Je reçois malheureusement ce qui suit: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatlors de l’essai de la commande à la 2e étape (avec mon identifiant d’appareil).
mardi
@tambre J'imagine que vous n'avez pas utilisé l'identifiant numérique correct identifié à l'étape 1 lorsque vous avez exécuté l'étape 2. Si ce n'est pas le cas, je ne vais probablement pas en savoir assez pour pouvoir vous aider.
GlenPeterson
1
Après avoir Device Accel Constant Decelerationénuméré les propriétés, n’existe pas là-bas. Il semble utiliser libinput en tant que pilote, j'ai donc dû modifier la valeur de libinput Accel Speeddont les valeurs valides sont comprises entre -1 et 1.
mardi
1
Cela a fonctionné pour moi, mais ma souris (une "Razer Razer DeathAdder 2013") est apparue plusieurs fois sous Virtual core pointer(deux fois) et Virtual core keyboard(une fois). Seuls les pointerappareils en avaient Device Accel Constant Deceleration, je devais donc m'assurer de sélectionner l'un de ces appareils lors des tests avec xinput. Le xorg.conf.dfichier fonctionnait toujours parfaitement.
Alex
2

Réponse tardive, mais je pense que cela vaut la peine de poster:

Puisque nous parlons de souris de jeu ici. Le mieux est d’éteindre complètement l’accélération de la souris (utile pour les joueurs FPS, etc.). Économisez quelques cycles du processeur en ne l'utilisant pas pour calculer l'accélération de la souris et pour obtenir des lectures plus précises également (cela dépend ou le capteur matériel de la souris possède une extrapolation intégrée).

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

La source

utilisateur165961
la source
Je reçois ceci: X Error of failed request: BadValue (integer parameter out of range for operation).
MasterOfBinary
super c'était génial merci. Je rencontre des problèmes avec Kingsol Peripherals Evoluent VerticalMouse 3. Il a un paramètre DPI en bas de la souris et ses paramètres DPI les plus élevés - même les paramètres de sensibilité les plus bas sont encore trop élevés.
anon58192932
2

Une légère modification de la réponse de Glen, cela fonctionne pour ma souris Logitech et double la "lenteur" de 1 à 2.

Ajoutez à ~ / .profile (comme indiqué dans le commentaire) (ou .bashrc mais vous devez ensuite lancer un terminal pour que la modification ait lieu)

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
la source
1
Je pense qu'il est préférable d'ajouter ces lignes à la fin de .profileau lieu de .bashrc. .profilen’est exécuté que par des shells de connexion interactifs; pendant .bashrcce temps, il sera exécuté à chaque démarrage d’un bashshell. Voir cette réponse pour plus d'informations.
jeudi
.bash_aliasesfonctionne-t-il techniquement aussi bien puisque le .bashrcfichier Ubuntu standard le charge correctement?
anon58192932
1

Si vous utilisez le port PS2, le mouvement de la souris est beaucoup plus lent pour la même résolution de souris.

Pour votre souris, utilisez un convertisseur USB vers PS2 et placez la souris sur le port PS2.

Modifier:

J'ai trouvé la xorg.confsolution de travail:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

Où une sensibilité de 1 est la valeur par défaut et de 0,2 la diminue cinq fois.

Iugamarian
la source
C'est une idée créative. Je pense avoir un convertisseur à la maison, donc je l'essayerai demain.
Malabarba
J'ai trouvé une solution xorg.conf qui fonctionne. Réponse édité.
Juillet
1
Cela ne fonctionnera pas sur les ordinateurs portables, cependant.
Daniel Silva
Où se trouve xorg.conf?
Vert