Trucs et astuces
Les trucs et astuces permettent de bidouiller vos fichiers de configuration gérants le comportement du claviers.
Pages spécifiques à certains outils
- Vim et Vimperator ;
- Usage dans Latex ;
- Eee PC : modifications spécifiques à l'Eee PC d'Asus.
Modifier la place des touches
Je voudrais avoir les < et > en accès direct
Sous GNU/Linux, dans le fichier xkb de la disposition, déplacer less (<) et greater (>) en première colonne en les inversant avec guillemotleft («) et guillemotright (»). Le code :
key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “
key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ”
devient :
key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, 2, guillemotleft, leftdoublequotemark ] }; // < 2 « “
key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, 3, guillemotright, rightdoublequotemark ] }; // > 3 » ”
Je voudrais avoir un espace insécable automatique avec les guillemets
Il faut ajouter les lignes suivantes dans votre ~/.Xcompose
. Assurez-vous que ce sont bien des espaces insécables qui sont après et avant les guillemets (autrement dit, méfiez-vous des copier-coller : certains éditeurs de texte vont les remplacer par des espaces, ou par un caractère quelconque). Les guillemets sans insécables sont encore accessibles avec <span class="touche" style="background: </>; ">clavier bépoCompose.
# Insécables automatiques
<guillemotleft> : "« "
<guillemotright> : " »"
Rendre capslock utile
Inverser Maj et CapsLock
Dans le fichier xkb de la disposition bépo :
key <CAPS> { [ Shift_L ], actions = [ SetMods(modifiers=Shift) ] };
key <LFSH> { [ Caps_Lock ], actions = [ LockMods(modifiers=Lock) ] };
Maj sur CapsLock en gardant CapsLock en AltGr au même endroit
Dans la section xkb_types
:
type "ALTGR_TWO" { modifiers = LevelThree; map[None] = Level1; map[LevelThree] = Level2; level_name[Level1] = "Base"; level_name[Level2] = "AltGr"; };
Puis :
key <CAPS> { type = "ALTGR_TWO", [ Shift_L, Caps_Lock ], actions = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ] };
AltGr dupliqué à gauche
Choisir une touche, comme CAPS ou LFSH ou LWIN ou…
key <CAPS> { [ ISO_Level3_Shift ], actions = [ SetMods(modifiers=LevelThree) ] };
Mettre Backspace sur CapsLock
Sous linux à rajouter dans le xkb :
key <CAPS> { [ BackSpace ] };
Changer la disposition des touches systèmes sous Windows
Pour Windows XP et Windows Server 2003 il existe le programme remapkey.exe disponible dans le Windows Server 2003 Resource Kit Tools [1].
Il n'a pas été « validé » pour vista, cependant en le lançant en administrateur (clic droit sur l'exe) j'ai réussi à intervertir Alt avec Majuscule Gauche, j'ai pas poussé plus loin les tests (Olympi 18 janvier 2009 à 12:25 (CET))
Utiliser les Options de xkb
La liste des options se trouve généralement dans /usr/share/X11/xkb/rules/base.lst
Quelques options intéressantes :
caps:swapescape inverse ESC et Capslock. shift:breaks_caps Shift annule CapsLock. compose:lwin La touche windows gauche devient Compose. compose:rwin La touche windows droit devient Compose. compose:menu La touche menu devient Compose. compose:caps La touche capslock devient Compose. compose:102 La touche Less-than/Greater-than (êÊ/¦) devient Compose.
Pour activer les options sur une session il suffit de taper :
setxkbmap fr bepo Option1,Option2
Pour désactiver toutes les options :
setxkbmap -option
Pour activer les options à chaque redémarrage il faut rajouter dans la section input device dotée de l'identifiant keyboard :
Option "XkbOptions" "Option1,Option2"
Créer une touche de fonction Fn comme sur les portables
Pour XOrg (Linux, BSD, etc.)
Choisissez une touche comme Alt Gauche (LALT), Win Gauche ou droite (LWIN, RWIN), CAPS, etc. Puis
key <LALT> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] };
Il ne vous reste plus qu’à choisir quelles touches vous voulez mettre en Fn: pavé numérique, flèches de déplacements, etc. Par exemple pour mettre une flèche de déplacement à gauche sur la touche clavier bépot:
key <AC07> {
type[group1]="FOUR_LEVEL_ALPHABETIC", [t, T, thorn, THORN], overlay1 = <LEFT> }
Vous trouverez un exemple complet ici (et ici une autre configuration plus adaptée pour les vimistes :-)).
Un exemple que l'on peut ajouter sur n'importe quel layout :
partial hidden alphanumeric_keys xkb_symbols "pc78" { key <CAPS> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1), LockControls(controls=Overlay1) ] }; key <AD07> { overlay1 = <HOME> }; key <AD08> { overlay1 = <UP> }; key <AD09> { overlay1 = <PGDN> }; key <AD11> { overlay1 = <BKSP> }; key <AC07> { overlay1 = <LEFT> }; key <AC08> { overlay1 = <DOWN> }; key <AC09> { overlay1 = <RGHT> }; key <AC10> { overlay1 = <PGUP> }; key <AC11> { overlay1 = <RTRN> }; key <AB07> { overlay1 = <END> }; };
dont le bépo :
partial alphanumeric_keys xkb_symbols "bepo-pc78" { include "fr(bepo)" include "fr(pc78)" };
(à mettre dans votre fichier fr.)
Pour Windows
Il est possible d'avoir cette fonctionnalité en utilisant PKL.
Modifier le comportement des touches mortes
Je suis espérantiste et je voudrais que ^+v=ŭ et ^+V=Ŭ
Il faut ajouter ce qui suit dans votre ~/.XCompose
<dead_circumflex> <v> : "ŭ" U016D <dead_circumflex> <V> : "Ŭ" U016C
Je voudrais définir des touches mortes de modifieurs (Alt, AltGr, Ctrl,…) (X.Org)
Il vous faut avoir votre propre fichier .xkb pour pouvoir le modifier. Dans la section "xkb_symbols" rajoutez par exemple:
key <FK13> { actions = [ LatchMods(modifiers=Control) ] }; // dead ctrl key <FK14> { actions = [ LatchMods(modifiers=Shift) ] }; // dead shift key <FK15> { actions = [ LatchMods(modifiers=Alt) ] }; // dead alt key <FK16> { actions = [ LatchMods(modifiers=AltGr) ] }; // dead altgr
Il ne vous reste plus qu'à utiliser ces keycodes comme bon vous semblera !
Par exemple, si vous avez défini une couche overlay1 (voir astuce plus haut):
key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, brokenbar ], overlay1 = <FK13> }; // b B | ¦
pour avoir un Control mort en fn+b :-)