diff --git a/misc.markdown b/misc.markdown
index 0eab136..e7b748c 100644
--- a/misc.markdown
+++ b/misc.markdown
@@ -5,6 +5,71 @@ subtitle: Divers
en_url: /en/misc
---
+## Modifier une disposition clavier XKB (infos tirées du post de [madduck](https://web.archive.org/web/20170825051821/http://madduck.net:80/docs/extending-xkb/))
+
+Les dispositions XKB sont construites à partir de fragments de définitions présentes dans `/usr/share/X11/xkb` (sous Fedora & co.), en suivant un genre de recette. On peut afficher la recette utilisée pour la disposition active avec
+
+ setxkbmap -print
+
+ce qui donne par exemple
+
+ xkb_keymap {
+ xkb_keycodes { include "evdev+aliases(azerty)" };
+ xkb_types { include "complete" };
+ xkb_compat { include "complete" };
+ xkb_symbols { include "pc+fr+inet(evdev)" };
+ xkb_geometry { include "pc(pc105)" };
+ };
+
+La ligne la plus intéressante est la ligne `xkb_symbols`, qui indique que cette disposition utilise les fichiers de définition `pc` et `fr`, ainsi que le fragment `evdev` du fichier `inet`. Tous ces fichiers sont présents dans `/usr/share/X11/xkb/symbols`. Si on regarde par exemple le premier fragement de `pc`:
+
+ default partial alphanumeric_keys modifier_keys
+ xkb_symbols "pc105" {
+
+ key { [ Escape ] };
+
+ // The extra key on many European keyboards:
+ key { [ less, greater, bar, brokenbar ] };
+
+ ...
+
+ include "srvr_ctrl(fkey2vt)"
+ include "pc(editing)"
+ include "keypad(x11)"
+
+ ...
+
+ key { [ NoSymbol, Alt_L ] };
+ include "altwin(meta_alt)"
+
+ ...
+
+ };
+
+Sur la première ligne on peut voir :
+- `default` : c'est le fragment qui sera utilisé si `pc` est inclus sans précision (sans parenthèses)
+- `partial` : ce fragement ne définit pas toutes les touches
+- `alphanumeric_keys` et `modifier_keys` : sont définies à la fois des caractères affichables et d'autres non.
+
+On peut construire une nouvelle définition de clavier en combinant des fragments déjà sur le système, mais on peut aussi ajouter nos propres
+définitions. Avant de toucher aux fichiers système, on peut tester ses idées en créant un répertoire avec la structure suivante :
+
+ xkb
+ ├── keymap/perso
+ └── symbols/perso
+
+- le fichier `keymap/perso` est similaire à celui [ci-dessus](#keymap), avec une ligne `xkb_symbols` modifiée, par exemple `"pc+fr+inet(evdev)+perso"`.
+- `symbols/perso` contient nos nouvelles définitions.
+
+On supposant que la variable shell `xkb` pointe vers le répertoire `xkb`, on active la disposition comme ça :
+
+ xkbcomp -I${xkb} ${xkb}/keymap/perso $DISPLAY
+
+Quand on est satisfait, met nos définitions dans `/usr/share/X11/xkb/symbols/perso` (par exemple), et on ajoute une entrée dans la section `! layout` de `rules/base.lst`,
+on peut utiliser notre définition avec :
+
+ setxkbmap -symbols "pc+fr+inet(evdev)+perso"
+
## Dictionaire mathématique multilingue
[C'est par là](/mmd/) (en travaux).