web-dev-qa-db-fra.com

Un bouton de souris peut-il être simulé par le clavier sans activer l'émulation de la souris du pavé numérique?

J'aimerais pouvoir envoyer des clics de souris intermédiaires à partir d'une touche du clavier, par exemple, la touche de contrôle droite (keycode 105 sur mon clavier).

Je peux le remapper en utilisant xmodmap comme ceci:

xmodmap -e "keycode 105 = Pointer_Button2"

Mais cela ne semble fonctionner que si mousekeys est activé, en exécutant l’un des logiciels suivants:

  • Maj-Numlock
  • dconf write /org/gnome/desktop/a11y/keyboard/mousekeys-enable true
  • xkbset m && xkbset exp =m

Ceci remappe le clavier numérique pour contrôler le curseur.

Existe-t-il un moyen de faire en sorte que X accepte les événements de souris des touches du clavier sans convertir le pavé numérique en commande de curseur?

3
Ian Mackinnon

Oui ça peut :) Vous avez deux choix. Une méthode intelligente mais délicate consiste à utiliser xmodmap -e pour remapper tout le clavier en fonction de la valeur correspondante sur le clavier. Comme KP9 à 9 (le processus est identique à celui du bouton de la souris)

La deuxième façon est d'aller /usr/share/X11/xkb/compat/mousekeys, lisez attentivement le fichier et supprimez ou commentez ceux qui sont en relation avec le clavier. (vous pouvez commenter comme c ++ en utilisant //)

Après l'édition, redémarrez le X ou votre ordinateur et l'activation du contrôle de souris xkb par xkbset m n'affectera plus le clavier.

PS: en passant, je veux remapper une touche sur le bouton de la souris 9, mais Pointer_Button9 n’est pas défini :( un commentaire?

1
user41209