xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys est un programme très polyvalent qui vous permet de remapper des clés très facilement. Il utilise un fichier de configuration, mon répertoire par défaut situé dans votre répertoire personnel, pour modifier les liaisons de touches en certaines commandes.
Pour créer un fichier de configuration par défaut, utilisez la commande suivante:
xbindkeys --defaults
Qui imprime le fichier de configuration par défaut. Donc, si vous voulez créer le fichier contenant les valeurs par défaut, vous utiliseriez:
xbindkeys --defaults > $HOME/.xbindkeysrc
Ce qui imprime les valeurs par défaut dans un fichier caché nommé .xbindkeysrc
situé dans home ( ~
).
Maintenant, pour changer réellement les liaisons de clés, nous devons d’abord connaître le nom ou le pseudonyme de ces clés. xbindkeys
nous permet d'utiliser la -k
poignée pour trouver le nom d'une clé ou d'une combinaison de touches. Courir:
xbindkeys -k
Et appuyez sur une touche ou une combinaison de touches. Votre sortie ressemblera à quelque chose de semblable à ce (en appuyant sur space):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
nous dit qu'actuellement aucune commande n'est associée à la Spaceclé.
m:0x10 + c:65
Mod2 + space
Est le nom de la combinaison clé / touche.
le fichier de configuration ..
Permet d'ouvrir le fichier de configuration que vous avez créé précédemment:
gedit .xbindkeysrc
Voici un extrait du fichier de configuration par défaut:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
Chaque ligne commençant par #
est un commentaire et ne sera ni lue ni exécutée xbindkeys
.
Jusqu'à présent, la seule ligne non commentée est la suivante:
"xbindkeys_show"
control+shift + q
Cet extrait montre la syntaxe de base des xbindkeys
commandes:
"Command to run (in quotes)"
key to associate with command (no quotes)
Donc, comme vous pouvez le voir:
"xbindkeys_show"
control+shift + q
Exécute la commande xbindkeys_show
lorsque vous appuyez sur Ctrl+ Shift+ q.
relie les clés aux commandes ..
Essayons maintenant de relier quelques clés. Je recommande d'effacer l'intégralité du fichier par défaut afin qu'il soit vide. Il contient des raccourcis clavier prédéfinis dont vous ne voulez probablement pas.
Maintenant, disons que vous voulez utiliser Ctrl+ bpour ouvrir votre navigateur. Vous devez d’abord savoir quel est le nom ou le keysym de Ctrl+ b. Comme mentionné précédemment, vous pouvez utiliser xbindkeys -k
le nom d'une clé ou de plusieurs clés, mais il existe un moyen plus simple. Pour des combinaisons simples comme Ctrl+, bvous pouvez simplement utiliser:
Control+b
Beaucoup plus facile n'est-ce pas!
Maintenant, trouvez la commande pour votre navigateur préféré:
Rappelez-vous la syntaxe de plus tôt? La xbindkeys
commande pour lancer Firefox (ou votre autre navigateur préféré) lorsque vous appuyez sur Ctrl+ best:
"firefox"
Control+b
Maintenant, mettez cela dans votre fichier de configuration et enregistrez-le. Maintenant, vous remarquerez peut-être que votre commande ne fonctionne pas encore, c'est parce qu'elle xbindkeys
n'est pas en cours d'exécution. Pour le démarrer, lancez simplement xbindkeys
depuis un terminal. Votre Ctrl+ bdevrait maintenant démarrer votre navigateur!
associe des clés à d'autres clés ..
Si vous voulez qu'une touche de votre clavier appelle une touche différente de votre clavier, vous aurez besoin d'un logiciel supplémentaire, car xbindkeys
il ne la prend pas en charge séparément. Je connais deux programmes que nous pouvons utiliser, xdotool
et xte
. Je préfère xte
alors je vais l'utiliser.
Installez-le:
sudo apt-get install xautomation
La syntaxe pour xte
est la suivante:
xte 'command key/mousebutton/xyCoordinates'
Exemples:
Pour appeler une seule touche, appuyez sur: xte 'key keyName'
Pour appeler une combinaison de touches: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
Pour appeler un bouton de la souris: xte 'mouseclick buttonNumber'
(Nous discuterons de la recherche des numéros de bouton un peu plus tard)
Pour déplacer la souris: xte 'mousemove xCoordinate yCoordinate'
Et plus! Lisman xte
Maintenant que vous connaissez la commande de simulation des appuis clavier, vous pouvez l'appeler à partir de votre xbindkeys
script, comme ceci:
"xte 'key b'"
Control+b
Comme vous pouvez le deviner, cela appelle xte 'key b'
lorsque nous appuions sur Ctrl+ b, ce qui entrerait bdans tout document sur lequel vous travaillez actuellement.
Je chose à noter est cependant que xbindkeys
et xte
ne fonctionne pas toujours très bien ensemble. Parfois, vous devez appuyer sur les touches exactement au même moment pour obtenir une sortie. D'autres fois, cela fonctionne très bien. Cela peut ou peut ne pas avoir à voir avec la configuration du système et / ou du matériel .. Je ne suis pas sûr. Voir la réponse de maggotbrain pour un moyen plus fiable de relier des clés à d'autres clés.
lier les boutons de la souris aux commandes ..
Vous pouvez également utiliser xbindkeys
pour relier les boutons de la souris aux commandes (et ensuite aux raccourcis clavier, voir ci-dessus). Le format de base des boutons de la souris devrait vous être familier maintenant:
" [command to run] "
b:n
Où se [command to run]
trouve la commande que vous voulez exécuter et n
le numéro du bouton de la souris que vous voulez utiliser pour cette commande.
Si vous ne connaissez pas le numéro du bouton de votre souris, vous pouvez le xev
trouver:
xev | grep button
La sortie sera quelque chose comme ça:
user@host:~$ xev | grep button
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 2, same_screen YES
state 0x210, button 2, same_screen YES
state 0x10, button 3, same_screen YES
state 0x410, button 3, same_screen YES
Quand j'appuie sur chacun des boutons de ma souris.
Par exemple:
" firefox "
b:2
Lance firefox lorsque j'appuie sur le bouton central de la souris.