Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
xbindkeys [Le 08/11/2011, 11:16]
83.196.243.121 lien éronné
xbindkeys [Le 22/01/2023, 12:54] (Version actuelle)
109.31.74.162
Ligne 1: Ligne 1:
-{{tag>Dapper Edgy Feisty Gutsy Hardy clavier souris télécommande personnalisation}}+{{tag>Xenial ​clavier souris télécommande personnalisation}}
  
 ---- ----
Ligne 6: Ligne 6:
  
  
-**XBindKeys** permet d'​assigner des commandes ​//shell// à des raccourcis clavier (touches et combinaisons de touches) ou à des boutons de souris (les combinaisons clavier/​souris étant possibles).+**XBindKeys** permet d'​assigner des //[[:​commande_shell|commandes ​shell]]// à des raccourcis clavier (touches et combinaisons de touches) ou à des boutons de souris (les combinaisons clavier/​souris étant possibles).
  
 XBindKeys est particulièrement utile pour configurer certaines touches multimédia mal reconnues, une télécommande mal supportée, les boutons d'un modèle de souris exotique... ou pour toute personnalisation poussée. XBindKeys est particulièrement utile pour configurer certaines touches multimédia mal reconnues, une télécommande mal supportée, les boutons d'un modèle de souris exotique... ou pour toute personnalisation poussée.
 +
 +===== Pré-requis =====
 + 
 +  * Disposer des [[:​sudo|droits d'​administration]].
 +  * Disposer d'une connexion à Internet configurée et activée.
  
 ===== Installation ===== ===== Installation =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt://xbindkeys|xbindkeys]]**.+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>xbindkeys]]** et si vous souhaitez une interface graphique **[[apt>xbindkeys-config]]**.
  
  
-==== Interface graphique ====+{{applications:​xbindkeys_xenial.png?​500|}}
  
-{{xbindkeys-config.png|}} 
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt://​xbindkeys-config|xbindkeys-config]]**.+**Xbindkeys-config** ​est une interface graphique pour XBindKeys. Pour ajouter une nouvelle règle, il vous suffit d'y créer un nouveau raccourci, de cliquer sur la touche correspondante,​ de définir la commande et d'​enregistrer cette nouvelle règle.
  
-''​xbindkeys-config''​ est une interface graphique pour XBindKeys. Pour ajouter une nouvelle règle, il vous suffit d'y créer un nouveau raccourci, de cliquer sur la touche correspondante,​ de définir la commande et d'​enregistrer cette nouvelle règle. 
  
 +===== Utilisation =====
 +Pour lancer l'​interface graphique entrez la commande suivante dans un [[:​terminal]] :​ <​code>​xbindkeys-config</​code>​
  
-===== Principe et utilisation ===== +XBindKeys permet d'éditer ​des règles qui font le lien entre une touche (ou une combinaison de touches) et une action (une commande shell). Ces règles sont définies dans le fichier ''​~/​.xbindkeysrc'' ​de votre **Dossier Personnel**. Si on voulait que la combinaison de touche ''​[Ctrl] + [B]''​ déclenche le lancement de [[:​brasero|Brasero]],​ on pourrait [[:​tutoriel:​comment_editer_un_fichier|écrire dans ''​~/​.xbindkeysrc''​]] : ​<​file>​# Lancer Brasero avec Ctrl+B
- +
-XBindKeys permet d'édicter ​des règles qui font le lien entre une touche (ou une combinaison de touches) et une action (une commande shell). Ces règles sont définies dans le fichier ''​~/​.xbindkeysrc'' ​(c'​est-à-dire ''/​home/​VOUS/​.xbindkeysrc''​). Si on voulait que la combinaison de touche ''​[Ctrl] + [B]''​ déclenche le lancement de [[:​brasero|Brasero]],​ on pourrait [[:​tutoriel:​comment_editer_un_fichier|écrire dans ''​~/​.xbindkeys''​]] : +
- +
-  ​# Lancer Brasero avec Ctrl+B+
   "​brasero"​   "​brasero"​
        ​control + b        ​control + b
 +</​file>​
 +<note important>​Pour que les nouvelles règles soient effectives, il faut soit :
 +
 +- Fermer la session puis la relancer
  
 +- Ou redémarrer xbindkeys ''​killall -HUP xbindkeys''​
 +</​note>​
 Certaines règles sont plus compliquées à décrire car les touches ne portent pas toutes des noms évidents. Pour désigner les touches en général, on  peut utiliser des //​keycodes//,​ dont les valeurs s'​obtiennent en utilisant la commande ''​xbindkeys -k''​. Certaines règles sont plus compliquées à décrire car les touches ne portent pas toutes des noms évidents. Pour désigner les touches en général, on  peut utiliser des //​keycodes//,​ dont les valeurs s'​obtiennent en utilisant la commande ''​xbindkeys -k''​.
-Une fenêtre s'​ouvrira et vous pourrez taper la combinaison de touche voulue +Une fenêtre s'​ouvrira et vous pourrez taper la combinaison de touche voulue : <​code>​xbindkeys -k 
- +Press combination of keys or/and click under the window. 
- +You can use one of the two lines after "​NoCommand"​ 
-  $ xbindkeys -k +in $HOME/​.xbindkeysrc to bind a key. 
-  Press combination of keys or/and click under the window. +"NoCommand
-  You can use one of the two lines after "​NoCommand"​ +    m:0x14 + c:65 
-  in $HOME/​.xbindkeysrc to bind a key. +    Control+Mod2 + space</​code>​
-  "(Scheme function)+
-      m:0x4 + c:65 +
-      Control + space+
  
 Vous pouvez utiliser indifféremment le code ou le nom pour définir votre règle. Vous pouvez utiliser indifféremment le code ou le nom pour définir votre règle.
  
-Pour tester vos règles, lancez XBindKeys avec la commande ''​xbindkeys -v''​ : l'​option ''​-v''​ force l'​affichage d'​informations sur le déroulement des actions XBindKeys. Si vous avez défini la règle proposée plus haut relative à Brasero (ou à tout autre programme de votre choix) et que vous déclenchez la combinaison de touche appropriée,​ vous devriez lire quelque chose comme : +Pour tester vos règles, lancez ​**XBindKeys** avec la commande ''​xbindkeys -v''​ : l'​option ''​-v''​ force l'​affichage d'​informations sur le déroulement des actions XBindKeys. Si vous avez défini la règle proposée plus haut relative à Brasero (ou à tout autre programme de votre choix) et que vous déclenchez la combinaison de touche appropriée,​ vous devriez lire quelque chose comme : ​<​code>​xbindkeys -v
- +
-  $ xbindkeys -v+
   displayName = :0.0   displayName = :0.0
   rc file = /​home/​VOUS/​.xbindkeysrc   rc file = /​home/​VOUS/​.xbindkeysrc
Ligne 69: Ligne 71:
   e.xkey.keycode=24   e.xkey.keycode=24
   e.xkey.state=4   e.xkey.state=4
-  Catch CHLD signal -> pid 11725 terminated+  Catch CHLD signal -> pid 11725 terminated</​code>​
  
 Pour quitter ce mode interactif, faites ''​[Ctrl] + [C]''​. Si tout va bien, vous pouvez lancer ''​xbindkeys''​ en tâche de fond. Pour quitter ce mode interactif, faites ''​[Ctrl] + [C]''​. Si tout va bien, vous pouvez lancer ''​xbindkeys''​ en tâche de fond.
  
-===== Lancer XBindKeys automatiquement ===== +==== Exemple de règles ====
- +
-Pour que les règles que vous aurez définies soient effectives à chaque démarrage de votre ordinateur sans que vous n'ayez à vous en soucier, il suffit de lancer automatiquement ''​xbindkeys''​ au démarrage de l'​interface graphique : +
- +
-  * sous Gnome, ajoutez ''​xbindkeys''​ dans Système/​Préférences/​Sessions +
-  * sous KDE, créez un lanceur dans ~/​.kde/​Autostart +
-   +
-===== Exemple de règles ====+
- +
-> FIXME À faire : exemple de règles pour les claviers+
  
-  # Quelques règles utiles pour les souris+Quelques règles utiles pour les souris 
 +<​file>​ 
 +  # 
   ​   ​
   # Rappel : écrire   # Rappel : écrire
Ligne 91: Ligne 86:
   #   b:n   #   b:n
   # est équivalent (absence de modificateur).   # est équivalent (absence de modificateur).
 +  ​
 +  #BOUTON 6
 +#POSITION : Le bouton latéral le plus éloigné de la paume de la main
 +#ACTION : TAB
 +"/​usr/​bin/​xvkbd -xsendevent -text "​\[Tab]""​
 +b:6
 +
 +#BOUTON 7
 +#POSITION : Le bouton latéral le plus éloigné de la paume de la main
 +#ACTION : k
 +"/​usr/​bin/​xvkbd -xsendevent -text "​\[k]""​
 +b:7
   ​   ​
   # Raccourci Alt+gauche associé avec le bouton 9   # Raccourci Alt+gauche associé avec le bouton 9
   # (dans Firefox, permet de revenir à la page précédente)   # (dans Firefox, permet de revenir à la page précédente)
-  "/​usr/​bin/​xvkbd -xsendevent -text "​\[Alt_L]\[Left]""​ +  "/​usr/​bin/​xvkbd -xsendevent -text "​\[Alt_L]\[</​file>​ 
-     b:9 +  
-   +Ce fichier ​est à titre d'exemple, il sert dans les jeux pour afficher les scores ​(TAB), parler sous TeamSpeak ​(k), et F5 pour parler dans Counter Strike ​([[:​PlayOnLinux]]ou actualiser des pages internet ou autre
-  # Lance un terminal lorsque le bouton 2 est enclenché +===== Lancer XBindKeys automatiquement =====
-  "/​usr/​local/​bin/​terminal"​ +
-     b:2 +
-  # Note : on pourrait utiliser une action du type : +
-  # "echo ButtonPress 2 ButtonRelease 2 | xmacroplay -0 :​0.0"​ +
-  # avec le programme xmacro (voir ci-après) +
-   +
-  # Émule le collé par l'habituel clic-milieu avec le bouton 8 +
-  # (colle la sélection courante/la dernière sélection) +
-  # Nécessite le programme xsel (voir ci-après) +
-  "echo "​string $(xsel -o)" | xmacroplay -d 0 :0.0" +
-     b:8+
  
-===== Programmes tiers utiles =====+Pour que les règles que vous aurez définies soient effectives à chaque démarrage de votre ordinateur sans que vous n'ayez à vous en soucier, il suffit de lancer automatiquement ''​xbindkeys''​ au démarrage. Reportez-vous à cette [[:​tutoriel:​application_demarrage|page]],​ dans le //​Commmande//​ mettez ''​xbindkeys''​.
  
-==== Xev ==== +=====Voir aussi===== 
- +  ​[[http://​www.nongnu.org/​xbindkeys/​xbindkeys.fr.html|Sur nongnu.org]] 
-Si vous vous en tenez au combinaisons usuelles (''​[Ctrl]'',​ ''​[Alt]'',​ touches alphabétiques…),​ Xev ne vous est pas indispensable. Dans tous les autres cas, vous aurez certainement besoin de ''​xev''​ pour récupérer les informations utiles. +  * [[https://savannah.nongnu.org/​projects/​xbindkeys/​|Le site officiel]] 
- +  * (en) [[https://askubuntu.com/questions/254424/how-can-i-change-what-keys-on-my-keyboard-do-how-can-i-create-custom-keyboard#​254425|d'autres infos sur Ask-Ubuntu]]
-L'​appui sur une touche ou un bouton affiche un ensemble d'​information,​ dont le //​keycode//,​ ou le numéro du bouton pour une souris, ainsi que l'​état (une information du serveur graphique X relative aux combinaisons de touches). Voici un exemple de ce que ''​xev''​ affiche lors de l'​appui et du relâchement de la touche « b » sur un clavier bépo : +
- +
-  ​KeyPress event, serial 31, synthetic NO, window 0x2600001,​ +
-      root 0x4d, subw 0x2600002, time 55087997, (40,40), root:​(44,​105),​ +
-      state 0x0, keycode 24 (keysym 0x62, b), same_screen YES, +
-      XLookupString gives 1 bytes: (62) "​b"​ +
-      XmbLookupString gives 1 bytes: (62) "​b"​ +
-      XFilterEvent returns: False +
-   +
-  KeyRelease event, serial 31, synthetic NO, window 0x2600001,​ +
-      root 0x4d, subw 0x2600002, time 55088123, (40,40), root:​(44,​105),​ +
-      state 0x0, keycode 24 (keysym 0x62, b), same_screen YES, +
-      XLookupString gives 1 bytes: (62) "​b"​ +
-      XFilterEvent returns: False +
- +
-L'​état (//state// : ''​0x0''​) et le //keycode// (''​24''​) sont les deux informations importantes pour XBindKeys. Parfois, vous utiliserez le keysim (''​b''​ pour la touche « b », ''​Home''​ pour la touche « Début », etc.) Notez que //state// correspond au code d'une touche muette ou //​modificateur//​ (typiquement,​ [Control] et [Alt]) : lorsqu'​aucun modificateur n'a été pressé, il prend la valeur m:0x0 qui signale l'​absence de modificateur et peut donc être omis dans les règles que vous définirez. +
- +
-Pour les souris : ''​xev''​ est très bavard et affiche notamment toutes les informations de déplacement de la souris, ce qui peut être gênant lorsque que l'on cherche à afficher les informations sur les boutons en cliquant dans la petite fenêtre //Event Tester//. Il est plus simple de filtrer la sortie avec ''​xev | grep button''​. +
- +
-De nombreux exemples utilisant les informations données par ''​xev''​ sont donnés à la [[http://​www.nongnu.org/​xbindkeys/​xbindkeys.html#​configuration|section « configuration » du site de XBindKeys]]. +
- +
- +
-==== XSel ==== +
- +
-X, le serveur graphique le plus courant sous Ubuntu et GNU/Linux, gère plusieurs presse-papiers. On distingue essentiellement : +
-  * le //​clipboard//,​ qui correspond au texte mémorisé (resp. restitué) par l'​action usuelle « copier » (resp. « coller ») ; +
-  * ''​PRIMARY'',​ le texte sélectionné à la souris, qui peut par la suite être collé par un clic milieu (en général, en enfonçant la molette des souris qui en possèdent une) et ce, que le texte source soit encore sélectionné ou non. Cette fonctionnalité semble très prisée des utilisateurs linuxiens ! +
- +
-XSel est un programme qui permet de manipuler ''​PRIMARY''​ et donc de forcer sa valeur ou de récupérer la sélection courante. Il devient dès lors possible d'​émuler le clic milieu en terme de copie-coller (//ie//. cela ne permet pas d'​émuler d'​autres actions associées au clic milieu, telle que l'​ouverture d'un lien dans un nouvel onglet dans Firefox : Xev ne s'​occupe que de ''​PRIMARY''​). +
- +
-Un exemple d'​utilisation de ''​xsel''​ est donné plus haut. +
- +
-==== xclip ==== +
- +
-xclip offre les mêmes fonctionnalité que XSel. Utiliser l'un ou l'​autre à votre convenance. +
- +
-[[http://​sourceforge.net/​projects/​xclip|Site officiel de xclip]] +
-[[http://​people.debian.org/​~kims/​xclip/​|Page man]] +
- +
-==== Xmacro ==== +
- +
-[[:Xmacro]] est un programme de gestion des évènements claviers et souris qui permet de monter de véritables « scénarios » d'​actions. ''​xmacrorec''​ écoute et enregistre une suite d'​actions,​ ''​xmacroplay''​ rejoue un ensembles d'​évènements. Dans le cas d'une utilisation avec XBindKeys, on utilisera essentiellement les talents d'​acteur de Xmacro, qui propose un jeu très complet d'​actions clavier et souris pour simuler des évènements (du type « telle touche vient d'​être enfoncée », « tel bouton vient d'​être relâché »). +
- +
- +
-==== xdotool ==== +
- +
-À l'​instar de Xmacro, ''​xdotool''​ permet de simuler des évènements claviers et souris, mais également d'​envoyer des ordres divers aux objets X (fenêtre, panels, etc.) Les actions sont basées sur la librairie standard du serveur X. +
- +
-[[http://​www.semicomplete.com/​projects/​xdotool/​|Site officiel de xdotool]] +
-[[http://​packages.debian.org/​fr/​lenny/​xdotool|Paquet .deb pour installer]] +
- +
- +
-==== xautomation ==== +
- +
-Semblable à xdotool, xautomation est un ensemble de programmes permettant un peu plus de possibilités que xdotool. +
-http://​linux.die.net/​man/​7/​xautomation +
- +
-[[http://​hoopajoo.net/​projects/​xautomation.html|Site officiel de xautomation]] +
- +
- +
-==== xreplay ==== +
- +
-Un autre programme pour envoyer des signaux X relatifs à la souris et au clavier. +
- +
-[[http://​www.floc.net/​xreplay/​|Site officiel de Xreplay]] +
- +
- +
- +
-Ces ensembles de programmes exploités ensemble dans un script permettent d'​obtenir quelque chose de similaire à SuperMacro (http://​adam.denadai.free.fr/​index.php un programme sous windows). +
- +
-===== Liens ===== +
- +
-  * [[http://www.nongnu.org/​xbindkeys/xbindkeys.html|Site officiel de XBindKeys]] +
-  * [[http://​ubuntuforums.org/​showthread.php?​t=729900|Un exemple d'​utilisation pour Firefox : différentes actions de recherche sur le texte sélectionné]] +
-  * [[http://​www.vergenet.net/​~conrad/​software/​xsel/​|Site ​officiel ​de XSel]] +
-  * [[http://xmacro.sourceforge.net/​|Site officiel de Xmacro]] +
-  * [[http://​nawer.freecontrib.org/​index.php?​2005/07/31/76-les-raccourcis-clavier-xbindkeys|Quelques exemples ​d'utilisation de XBindKeys]]+
  
 ---- ----
- +Contributeurs : ​[[utilisateurs:​l_africain|L'​Africain]]
-//Contributeurs : FIXME.//+
  • xbindkeys.1320747366.txt.gz
  • Dernière modification: Le 15/12/2011, 15:22
  • (modification externe)