Trucs et astuces

De Disposition de clavier bépo
Version datée du 8 août 2010 à 11:15 par Jenbamin (discussion | contributions) (→‎Modifier la place des touches : Ajout d’une section Mac aux sections Linux et Windows existantes)

Les trucs et astuces permettent de bidouiller vos fichiers de configuration gérants le comportement du claviers.

Pages spécifiques à certains outils

Modifier la place des touches

Changer la disposition des touches systèmes sous Linux

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.

Il n'a pas été « validé » pour Windows Vista, toutefois en le lançant en tant qu'administrateur (avec un clic droit sur l'exécutable), vous devriez être en mesure de réaliser des changements :


J'ai réussi à intervertir Alt avec Majuscule Gauche, j'ai pas poussé plus loin les tests.
Olympi, le 18 janvier 2009 à 12:25 (CET)



Changer la disposition des touches systèmes sur Mac

Sur un Mac (avec Tiger, Leopard ou SnowLeopard, i.e OS X 10.4 ou supérieur), on peut installer et utiliser le panneau de Préférences Systèmes KeyRemap4MacBook (qui n’est pas que pour les MacBook, malgré son nom !) qui permet de changer tout ce qu’on veut ou presque (plusieurs centaines de réglages disponibles, et on peut facilement apprendre comment en créer d’autres — ou bien même demander à l’auteur de KR4MB de les ajouter si on n’y arrive pas), éventuellement avec son compagnon PCKeyboardHack si on veut également re-mapper CapsLock.

Exemple de changements :

  • transformer la touche Commande (= « Cmd » ou « Pomme ») qui est à droite de la barre espace en touche Alt (= « Option »), notamment pour les claviers de portables qui n’ont qu’une touche Alt à gauche : sélectionner « Change Command_R to Option_R » dans le sous-menu « Change Command_R Key » ;
  • pour ceux qui ont branché un clavier PC sur le Mac, mais veulent retrouver la touche Commande immédiatement à gauche de la barre espace : inverser à gauche les touches Alt et Commande en cliquant sur « Option_L to Command_L » et sur « Command_L to Option_L » dans les sous-menus appropriés (« Change Option_L Key » et « Change Command_L Key ») ;
  • échanger CapsLock et la touche Majuscule gauche (Shift_L) : 1. utiliser PCKeyboardHack pour mapper CapsLock sur Shift_L : cocher « Change CapsLock Key », et entrer à droite sur la même ligne le keycode correspondant à Shift_L (= 56, cf. liste indicative sur le panneau de Préférences Système de PCKeyboardHack) [note : sur certains modèles, il se peut que vous ayez à cocher d’abord l’option « Enable CapsLock LED Hack » dans KeyRemap4MacBook (dans le sous-menu « General ») pour que ça marche, cf. la page de PCKeyboardHack (en anglais)] ; 2. utiliser KeyRemap4MacBook pour mapper Shift_L sur CapsLock : dans le sous-menu « Change Shift_L Key », cocher l’option « Shift_L to CapsLock » ;
  • tirer profit des touches spéciales Couper/Copier/Coller qui existent sur certains claviers (p. ex. TypeMatrix 2030) : le clavier envoie des « combos » à l’ordi — en l’occurrence : Shift+Delete, Control+Insert et Shift+Insert, respectivement —, vous pouvez remapper ces combos vers Command+X, Command+C et Command+V en cochant l’option correspondante « Use PC Style Copy/Paste #3 » [Attention, pour le bépo c’est un peu particulier, puisque X, C et V ne sont plus au même endroit que sur un clavier normal ! L’option correspondante devrait être disponible dans les jours à venir, le temps que le développeur de KR4MB intègre ces nouvelles suggestions…]
  • bien entendu, vous pouvez faire en sorte que certains changements soient actifs sur un clavier, mais pas sur un autre (par exemple si vous branchez un chavier externe sur un portable : vous voulez peut-être que votre clavier interne fonctionne « normalement » — ou en tout cas différemment — quand vous débranchez le clavier externe) ;
  • et même, en théorie [en pratique : peut-être à venir prochainement ?…], avoir des changements actifs pour le bépo, mais pas pour l’azerty ;
  • si vous êtes un peu bidouilleur, vous pouvez facilement aller plus loin…

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 :-)