Remappage des majuscules-lock pour s'échapper, et menu pour composer, sur la console Linux

Lorsque vous exécutez XI, utilisez un file .xmodmaprc pour remapper certaines keys:

! Make it so that both Caps Lock and Escape do Escape clear Lock keysym Caps_Lock = Escape ! Remap the menu key as Compose keysym Menu = Multi_key 

Comment puis-je accomplir les mêmes choses sur la console?

mettre à jour

En plus de la solution partielle donnée dans ma réponse, j'ai appris que la console mappe CTRL- . composer. Donc, je pourrais peut-être m'habituer à ça. Configurer la touche Menu en tant que Compose n'est pas si simple, car il y a une tonne de codes keys atsortingbués par nul et aucun candidat évident pour un autre nom pour Menu.

J'ai aussi réalisé que les bindings de composition elles-mêmes sont beaucoup plus limitées que celles auxquelles je suis habitué sous X, et que la plupart des caractères spéciaux que j'utilise fréquemment ne sont pas là. Peut-être y a-t-il un utilitaire qui traduira les bindings de la syntaxe X en quelque chose que loadkeys peut lire?

    Vous devrez éditer votre keymap de la console. Sur ma console, j'ai mappé Escape to Caps Lock et Caps Lock to Escape. Voici comment cela fonctionne.

    1. Vous devez d'abord find votre keymap. J'utilise la disposition américaine standard. Sur mon système, il se trouve sous /usr/share/keymaps/i386/qwerty/us.map.gz .
    2. Faites une copy du file sous un nouveau nom, par exemple us-nocaps.map.gz .
    3. Décompressez le file et ouvrez-le dans un éditeur de text: gunzip us-nocaps.map.gz && vim us-nocaps.map
    4. Changez les mappages dans le file à votre goût, par exemple j'avais le keycode 58 = Caps_Lock que j'ai changé au keycode 58 = Escape .
    5. Gzip le file et chargez-le: gzip us-nocaps.map && loadkeys us-nocaps .

    Encore une chose: vous devrez probablement configurer votre dissortingbution pour vous assurer que les nouvelles keymaps sont toujours chargées au démarrage, sinon vous devrez charger votre keymap manuellement avec loadkeys tout moment. Comment cela dépend de la dissortingbution que vous utilisez.

    Avec l'aide de Cedric, j'ai découvert qu'Ubuntu n'a pas installé les keymaps où $ man loadkeys dit qu'ils sont censés être ( /usr/share/keymaps ). Il s'agit d'une toute nouvelle installation, alors peut-être que j'ai juste besoin d'installer un package afin d'get des keymaps autres que celui que j'ai sélectionné lors de l'installation.

    Au lieu de poursuivre cet angle, et dans un effort pour rendre la solution un peu plus robuste et pratique, je fais ceci:

      $ sudo dumpkeys | sed 's/CtrlL_Lock/Escape/' | sudo loadkeys 

    Bien que je sois un peu confus quant à la raison pour laquelle le système Cedric utilise Caps_Lock pour le locking des majuscules et le mien utilise CtrlL_Lock , il fonctionne malgré tout.

    Pour les nouvelles dissortingbutions Debian, vous n'avez plus besoin de tout cela.

    "Le file keyboard décrit les propriétés du keyboard, il est lu par setupcon(1) afin de configurer le keyboard sur la console.Dans les systèmes Debian, la disposition du keyboard par défaut est décrite dans /etc/default/keyboard et partagée entre X et la console ". (keyboard de l'homme)

    Dans /etc/default/keyboard set XKBOPTIONS="caps:escape" , redémarrez et tout est fait, y compris les parameters pour X.

    "La description de tous les templates de keyboard, layouts, variantes et options disponibles est disponible dans /usr/share/X11/xkb/rules/xorg.lst ." (keyboard de l'homme)