mercredi 7 avril 2010

Redéfinir des touches du clavier

Bonjour,
Sur mon laptop je n'avais aucune possibilité d'écrire les deux caractères < et >, une situation plutôt gênante surtout pour quelqu'un qui écrit plein de scripts... Je n'allais comme même pas copier/coller à partir du code source HTML de pages internet ces deux caractères! Voila la méthode donc que j'ai trouvé pour redéfinir des touches du clavier.
  1. Détecter le "keycode" des touches que l'on veut redéfinir, pour ce, exécuter xev
    ubugnu@ubugnu-laptop:~$ xev
    cliquer sur le petit carreau qui apparait et presser la touche dont vous voulez connaitre le keycode, un tas d'informations apparaitront dans le terminal, repérer seulement le nombre que désigne keycode, par exemple en pressant "f" je vois "keycode 77". J'ai pressé deux autres touches que je n'utilise jamais (et que je veux donc utiliser pour les caractères < et >) et j'ai eu 100 et 102.
  2. Créer un fichier caché sous le nom de xmodmaprc dans le dossier personnel:
    ubugnu@ubugnu-laptop:~$ nano ~/.xmodmaprc
    et y mettre les keycodes associés aux caractères qu'on veut leur attribuer, par exemple pour moi:
    keycode 102 = less
    keycode 100 = greater
    sauvegarder avec Ctrl+o et quitter avec Ctrl+x
  3. Activer avec
    ubugnu@ubugnu-laptop:~$ xmodmap ~/.xmodmaprc
    Et le tour est joué ;-)
Au redémarrage, Ubuntu nous demandera quel fichier xmodmap on veut utiliser, cliquer sur "Charger", cocher sur "Ne plus jamais afficher ce message" puis sur "Valider".
La chose importante à noter est qu'on ne doit pas mettre les caractères directement dans le fichier xmodmap si ce sont des caractères spéciaux, dans mon cas j'ai mis "less" et "greater" pour désigner < et >, voici quelques exemples:
| bar
/ slash
\ backslach
_ underscore