Je souhaite désactiver l'accélération de la souris sur ma souris et je souhaite la modifier en modifiant la valeur de libinput Accel Profile Enabled Default
de 1, 0
en 0, 1
avec une commande xinput --set-prop [ID] [id of the value] 0, 1
, mais renvoyant un Erreur:
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 131 (XInputExtension)
Minor opcode of failed request: 57 ()
Serial number of failed request: 19
Current serial number in output stream: 20
Je ne peux pas créer d'application de démarrage car l'ID de ma souris change constamment, sans raison. Je ne peux pas non plus modifier la valeur globale de la variable car je dois activer l'accélération du pointeur pour mon pavé tactile.
Je modifie ma réponse pour montrer une approche beaucoup plus simple. Vous pouvez utiliser un périphérique type:name
au lieu de son ID
comme ceci:
xinput set-prop "keyboard:Logitech K400 Plus" "libinput Middle Emulation Enabled" 1
Cela évite d'avoir à connaître le champ volatile ID
.
Je n'avais pas trouvé le moyen de changer les valeurs par défaut de Xinput, mais vous pouvez utiliser des pipes bash pour obtenir l'ID de manière dynamique et l'utiliser dans une application de démarrage.
Comme je manque des détails de votre appareil, je donne l'exemple avec mon cas personnel. Je souhaite modifier certaines propriétés Xinput de mon clavier K400 +.
Vous devez d’abord localiser de manière univoque la ligne Xinput qui identifie votre appareil.
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K400 Plus id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Logitech K400 Plus id=7 [slave keyboard (3)]
Je peux donc utiliser la regex simple K400.*keyboard
pour obtenir la dernière ligne (pas celle du pointeur). Ensuite, je grep
cette expression rationnelle dans un tuyau, isolez l'id via l'utilitaire cut
.
$ xinput | grep K400.*keyboard | cut -f2 | cut -c4-
7
Finnaly je l'utilise pour changer la propriété que je veux. Dans ce cas, je suis intéressé par libinput Middle Emulation Enabled
. La commande complète qui fait cela est:
xinput | grep K400.*keyboard | cut -f2 | cut -c4- |
xargs -I{} xinput set-prop {} "libinput Middle Emulation Enabled" 1
Maintenant, vous pouvez l'utiliser comme une application de démarrage.