web-dev-qa-db-fra.com

Remappage des touches: majuscule pour échapper et vice versa dans Ubuntu 13.10

Je viens d'installer Ubuntu 13.10 et je manque la fonctionnalité permettant d'échanger les touches d'échappement et de verrouillage majuscule. Auparavant, cela était possible via une interface graphique dans Ubuntu 12.04. Quelqu'un sait comment je peux résoudre ce problème?

Merci pour l'aide :)

9
KristianF

Vous pouvez toujours accéder directement à la clé dconf sous-jacente à partir de la ligne de commande, comme suit:

dconf read /org/gnome/desktop/input-sources/xkb-options
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"

(Il prend effet immédiatement.)

Pour activer plusieurs options XKB, répertoriez-les sous forme de chaînes entre guillemets séparées par des virgules; Par exemple, j'utilise aussi le menu comme clé de composition:

dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape', 'compose:menu']"

Voir la page de manuel xkeyboard-config pour une référence complète des options XKB que vous pouvez utiliser.

10
Pi Delport

Auparavant (en 13.04 et avant), vous pouviez créer un fichier nommé .Xmodmap dans votre répertoire personnel. Il sera automatiquement configuré lors de la connexion, mais je ne l’ai pas testé dans la version 13.10.

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

Modifier:

Maintenant en 13.10, j'ai commencé à éditer swapescape dans/usr/share/X11/xkb/symboles

partial hidden modifier_keys
xkb_symbols "swapescape" {
    key <CAPS> {        [       Tab, ISO_Left_Tab  ]       };
    key <ESC>  {        [     Caps_Lock    ]       };
    key <TAB>  {        [     Escape, Escape    ]       };
};

Cela me permet d'utiliser setxkbmap pour utiliser -variant basic sur mon clavier programmable et -variant swapescape sinon.

2
Eric Woodruff

~/.Xmodmap n'est pas analysé automatiquement par xmodmap au moment de la connexion lors de l'utilisation de Unity dans 13.10. Vous pouvez créer un script de wrapper et le faire exécuter par "Éléments de démarrage", mais chaque fois que vous suspendez/reprenez, vous trouvez que votre majuscule fonctionne normalement.

13.10 Unity n'a aucun moyen de désactiver/remapper Caps_lock comme le fait kubuntu. Jusqu'à présent, c'est la seule fonctionnalité (bug? Omission?) De Unity pour laquelle je n'ai pas trouvé de moyen de contourner ou d'apprendre à vivre.

CapsLock est stupide.

1
Ben Lutgens

J'ai travaillé (en quelque sorte) en y mettant les commandes suivantes et en l'exécutant à chaque redémarrage:

#! /bin/bash
xmodmap -e "clear Lock"
xmodmap -e "keycode 9 = Caps_Lock"
xmodmap -e "keycode 66 = Escape"
xmodmap -e "add Lock = Caps_Lock"

Malheureusement, je dois aussi l'exécuter à chaque fois que je change de clavier, ce que je fais souvent pour que ce soit une solution que je peux utiliser longtemps.

1
KristianF