Je n'aime pas que le bouton du milieu de la souris soit collé, car je finis souvent avec un code non compilable dans Eclipse. Comment puis-je désactiver cette option (dans tous les programmes)? Je cours Fedora.
Je n'aime pas que le bouton du milieu de la souris soit collé, car je finis souvent avec un code non compilable dans Eclipse. Comment puis-je désactiver cette option (dans tous les programmes)? Je cours Fedora.
Réponses:
Cette solution fonctionnera globalement et préservera les fonctionnalités de la souris du milieu.
Installer xbindkeys xsel xdotool
Placez ceci dans ~/.xbindkeysrc
"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release
Recharger xbindkeys -p
Exécuter xbindkeys
au démarrage, pkill xbindkeys
pour arrêter.
Dans Fedora 24, vous pouvez installer gnome-tweak-tool
à l’aide de la commande suivante:
$ sudo dnf install gnome-tweak-tool
Ouvrez gnome-tweak-tool
et allez dans l'onglet "Clavier et souris" et désactivez le "clic-milieu-coller".
Le fait de coller le bouton du milieu est une norme d'interface utilisateur unix, comme si le bouton de gauche était sélectionné ou activé, et que le bouton de droite faisait autre chose (comme étendre, basculer, ouvrir un menu,…). Vous le trouverez lié au collage dans la plupart des applications Unix.
Si votre problème est que votre souris est trop sensible lorsque vous placez votre doigt sur la molette, je suggère d’obtenir une meilleure souris. Il y a beaucoup de souris décentes bon marché.
Vous pouvez réaffecter le bouton 2 de la souris à un autre numéro. Les applications identifient les boutons gauche, central et droit de la souris en tant que boutons 1, 2 et 3 respectivement. Placez ce code dans un script exécuté au démarrage de votre session X (la procédure dépend de votre environnement de bureau).
echo 'pointer = 1 6 3 4 5' | xmodmap -
Les souris à molette prennent en charge un événement de clic du bouton central lorsque vous appuyez sur la molette. C'est une fonctionnalité intéressante, mais vous pouvez la trouver irritante. Heureusement, il peut être désactivé.
Tout d’abord, vous devez connaître l’identifiant de la souris, comme ceci:
$ xinput list | grep 'id='
qui imprime quelque chose comme
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ PixArt Dell MS116 USB Optical Mouse id=12 [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)]
Power Button id=8 [slave keyboard (3)]
Sleep Button id=9 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=10 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=11 [slave keyboard (3)]
Eee PC WMI hotkeys id=13 [slave keyboard (3)]
Ma souris Dell Usb a imprimé ici pour laquelle id = 12
alors, je peux voir le mappage de mon bouton de souris comme:
$ xinput get-button-map 12
qui imprime
1 2 3 4 5 6 7 8 9 10 11 12
ici, seuls les trois premiers chiffres ont une signification pour moi. Ils représentent les boutons gauche, moyen et droit de la souris.
Je peux désactiver le bouton central de la souris en le réglant sur 0:
$ xinput set-button-map 12 1 0 3
Ou je peux transformer le bouton du milieu de la souris en bouton gauche de la souris en le réglant sur 1:
$ xinput set-button-map 12 1 1 3
réf. lien https://wiki.ubuntu.com/X/Config/Input
ça marche pour moi (kubuntu 18.04 LTS)
xinput set-button-map 12 1 0 3
vous définir tous les boutons (1 - 12 pour dans cet exampe xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12
)
Voici ce que vous pouvez faire si vous souhaitez que le clic du milieu reste fonctionnel (pour cliquer pour ouvrir des liens dans de nouveaux onglets, par exemple) sans que cela ne colle.
Commencez par installer sxhkd et xsel .
Puis configurez ./.config/.sxhkd/sxhkdrc comme suit
~button2
echo -n | xsel -n -i
~control + c
echo -n | xsel -n -i
~control + shift + c
echo -n | xsel -n -i
~control + x
echo -n | xsel -n -i
Et c'est fondamentalement ça.
Maintenant, démarrez sxhkd (ou configurez-le pour qu'il se lance au démarrage). Maintenant, la souris du milieu ne collera plus rien mais fonctionnera normalement.
~/.config/sxhkd/sxhkdrc
C'est une convention commune à laquelle de nombreux programmes adhèrent. Il n'y a pas de moyen global de le désactiver, vous devez le faire programme par programme.
EDIT: (bref, comme Gilles dit, désactiver le bouton 2 de la souris. Mais certains programmes ont d’autres utilisations pour le bouton 2 de la souris, je ne le recommanderais donc pas.)
EDIT: Je viens de trouver un problème avec la solution que j'ai publiée: dans certains programmes ( gitk
du moins, je ne sais pas à quel point c'est courant), cela empêchera la sélection de texte de fonctionner. Essayez donc, mais si vous rencontrez des problèmes pour sélectionner du texte dans un programme que vous utilisez régulièrement, la solution consiste à cesser de l'utiliser.
Installez xsel
, puis exécutez le script shell suivant:
#!/bin/sh
while true; do
xsel -fin </dev/null
done
Tant que ce script est en cours d’exécution (vous pouvez le configurer pour s’exécuter lors de la connexion), le bouton central de la souris ne collera dans aucune application. Donc techniquement, ça va encore coller, mais il n'y aura toujours rien à coller.
La façon dont cela fonctionne est d’exécuter xsel
et de copier ( -i
) le contenu de /dev/null
, sans passer à l’arrière-plan ( -n
), et de conserver cette chaîne vide dans la mémoire tampon au lieu de simplement l’effacer et la sortie ( -f
). Chaque fois qu'il sort, il invoquera à xsel
nouveau avec les mêmes options. Puisqu'il xsel
continuera à fonctionner jusqu'à ce qu'un autre programme "le soulage de son devoir" en copiant quelque chose d'autre, il ne créera pas constamment de nouveaux processus, mais maintiendra un processus unique en cours d'exécution jusqu'à ce qu'il soit à nouveau nécessaire. (Sauf si plusieurs instances du script sont en cours d'exécution, vous n'avez pas besoin de le faire.)
De plus, cela n'interférera pas avec le copier / coller classique, car le collage par clic du milieu utilise un presse-papier séparé.
Ceci est mon script. Votre a peut-être besoin de peaufiner
#!/bin/bash
clear
echo
echo
echo
echo -----Now fixing your scroll button --- -hold onto pants
echo
xinput --list|grep "Virtual core XTEST pointer"
echo ---------------------------------------------------------------------------------
echo
id=$(
xinput --list|grep "Virtual core XTEST pointer" |awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /id=[0-9]+/)
if(tmp) {
print $i
}
}
}' $1 | tr -d '[:alpha:]='
)
echo fixing $id:
xinput set-button-map $id 1 10 2 4 5 6 7 8 9 3
echo
echo
xinput get-button-map $id
echo ---------------------------------------------------------------------------------