Modifier les touches de fonctions associées à xterm

C'est bien pratique, mais un peu difficile ! Dés que l'on modifie une valeur, il faut référencer à nouveau toutes les "affectations" souris ! Reprenez le fichier XTerm de tout à l'heure et rajoutez-y les lignes qui vous intéressent + toutes les lignes obligatoires (mises en rouge).


xterm*VT100.Translations: \
Shift Ctrl  <Key>F12:     string("who") string(0x0d) \n\
Alt   Ctrl  <Key>F12:     string("xterm -T 'ma 22w' -n my_host  -geometry +10+10 &") string(0x0d) \n\
      Ctrl  <Key>F1:      string("jpb") string(0x0d) \n\
      Ctrl  <Key>F2:      string("damien") string(0x0d) \n\
      Ctrl  <Key>F12:     string("export VISUAL=vi") string(0x0d) \n\
      Shift <Key>F12:     string("date") string(0x0d) \n\
      Alt   <Key>F12:     string("host toto") string(0x0d) \n\
      Alt   <Key>F1:      string("rsh toto date") string(0x0d) \n\
            <Key>F1:      string("") string(0x0d) \n\
            <Key>F2:      string("qprt -P syshpa -z 1 -p 12 -X ISO8859-1 ") \n\
          <Key>:        insert() \n\
Shift Ctrl  <Btn1Down>:   select-start() select-end(PRIMARY) \n\
Shift Ctrl  <BtnDown>:    ignore() \n\
Shift Ctrl  <BtnUp>:      ignore() \n\
      Ctrl  <Btn1Down>:   popup-menu(mainMenu) \n\
      Ctrl  <Btn2Down>:   popup-menu(vtMenu) \n\
      Ctrl  <Btn3Down>:   popup-menu(fontMenu) \n\
      Shift <Btn1Down>:   select-start() \n\
      Shift <Btn1Motion>: select-extend() \n\
      Shift <Btn1Up>:     select-end(PRIMARY)\n\
      Shift <Btn2Down>:   select-start() \n\
      Shift <Btn2Motion>: select-extend() \n\
      Shift <Btn2Up>:     select-end(PRIMARY) \n\
      Shift <Btn3Down>:   ignore() \n\
      Shift <Btn3Up>:     insert-selection(PRIMARY) \n\
      Alt   <Btn2Down>:   ignore() \n\
      Alt   <Btn2Up>:     ignore() \n\
            <Btn1Down>:   select-start() \n\
            <Btn1Motion>: select-extend() \n\
            <Btn1Up>:     select-end(PRIMARY)\n\
            <Btn2Down>:   ignore() \n\
            <Btn2Up>:     insert-selection(PRIMARY) \n\
            <Btn3Down>:   start-extend() \n\
            <Btn3Motion>: select-extend() \n\
            <Btn3Up>:     select-end(PRIMARY)



#            <Key>F1:      string("if [[ -d /tmp/$(whoami) ]] \n\ then continue \n\ else mkdir /tmp/$(whoami)\n\ fi;rsh my_host -l jpb cat /home/jpb/mon_exe_à_moi > /tmp/$(whoami)/mon_environement;. /tmp/$(whoami)/mon_environement") string(0x0d)\n\


Explication :
  l'affectation se fait en partant des touches les plus "majorées" (Shift Ctrl  <Key>A:  correspond à une frappe sur la touche "a" tout en maintenant enfoncé les touches "mise en majuscule" et "contrôle") jusqu'aux touches non majorées. Vous allez donc commencez par référencer les touches  à 4 majorants (si vous y tenez !), puis à 3, puis à 2 et  les touches seules pour finir  PLUS les touches d'affectations de la souris !!!


N'oubliez pas :

xterm*VT100.Translations: \      est la ligne par où tout commence ; si elle est là, il faut toutes les autres ! Le \ est obligatoire

  • chaque touche est précédée par <Key>
  • il n'y a pas d'espace entre <Key> et la touche, et entre la touche et les 2 points (:)
  • chaque ligne - sauf la dernière des obligatoires - se termine par \n\
  • string(0x0d)   correspond au "Retour chariot", si vous ne le mettez pas, vous aurez une commande à modifier/valider (une commande en conversationnel)
  • vous pouvez mettre une ligne en commentaire en la faisant précédée de #
  • ces modifications ne seront actives que pour les prochaines commandes xterm !
  • et peut-être qu'il vous faudra changer VT100 par autre chose ?
  • et vous pouvez faire des choses très compliquées… mais si j'ai mis en commentaire la modification de la touche de fonction F1 avec le if, c'est que "faut pas pousser"… et pourtant, elle était bien pratique !


Si vous voulez vraiment rigoler :  enlever  <Key>:        insert() \n\       et rebooter  ! Apprenez vi avant !