[misc] infos xkb
This commit is contained in:
parent
a8909f418e
commit
6143ce22dc
1 changed files with 65 additions and 0 deletions
|
@ -5,6 +5,71 @@ subtitle: Divers
|
||||||
en_url: /en/misc
|
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 <a name="keymap"></a>
|
||||||
|
|
||||||
|
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 <ESC> { [ Escape ] };
|
||||||
|
|
||||||
|
// The extra key on many European keyboards:
|
||||||
|
key <LSGT> { [ less, greater, bar, brokenbar ] };
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
include "srvr_ctrl(fkey2vt)"
|
||||||
|
include "pc(editing)"
|
||||||
|
include "keypad(x11)"
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
key <ALT> { [ 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
|
## Dictionaire mathématique multilingue
|
||||||
[C'est par là](/mmd/) (en travaux).
|
[C'est par là](/mmd/) (en travaux).
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue