[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
|
||||
---
|
||||
|
||||
## 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
|
||||
[C'est par là](/mmd/) (en travaux).
|
||||
|
||||
|
|
Loading…
Reference in a new issue