web-dev-qa-db-fra.com

Comment mapper la touche de verrouillage des majuscules sur la touche d'échappement dans Arch Linux

Mon système d'exploitation est Arch Linux AMD64, Gnome ENV.

Je veux cartographier le Caps Lock la clé de Esc (évasion) dans Arch Linux. Je lance la commande:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

Cela fonctionne bien, mais un instant plus tard, la touche Caps Lock fonctionne à nouveau. Et je dois relancer la commande.

Je suis à peu près sûr que cette solution a bien fonctionné il y a peut-être un an. Quel est mon problème? Quelqu'un peut-il m'aider à mapper la touche de verrouillage des majuscules sur la touche d'échappement de façon permanente dans mon système d'exploitation Arch Linux?

21
pexeer

L'un des éléments suivants (par ordre croissant de complexité):

  1. Utilisez setxkbmap pour remapper la clé (ne nécessite pas de démon et est indépendant de votre environnement de bureau ou de votre gestionnaire de fenêtres). N'oubliez pas d'ajouter la commande avant la ligne exec gnome-session (ou similaire) dans votre ~/.xinitrc ou ~/.xsession.

    setxkbmap -option caps:escape
    

    setxkbmappeut être trouvé dans extra/xorg-setxkbmap.

  2. dconf-editor> org.gnome.desktop.input-sources.xkb-options> Ajoutez caps:escape au champ susmentionné.

  3. gnome-session-settings> Programmes de démarrage> Ajouter> Nom = Remapper le verrouillage des majuscules sur d'échappement, commande = setxkbmap -option caps:escape
  4. Créer une disposition de clavier personnalisée

Pour votre information, j'ai obtenu la règle xkb en greppant /usr/share/X11/xkb/rules pour capset escname__.

41
pilona

À utiliser avec X, la page Arch Wiki Gnome contient des instructions pour modification du clavier avec XkbOptions :

À l'aide de dconf-editor, accédez à la clé nommée org.gnome.desktop.input-sources.xkb-options et ajoutez les options Xkb souhaitées (par exemple, 'caps: swapescape') à la liste.

Dans la console, vous pouvez créer un keymap personnalisé pour le même effet. Créez votre keymap personnelle avec les modifications requises pour CapsLock et Escape à /usr/share/kbd/keymaps/i386/qwerty/yourmap puis tar it et incluez une ligne dans /etc/vconsole.conf pour l'appeler:

KEYMAP=yourmap
5
jasonwryan

Vous pouvez utiliser xmodmap. Mettez votre ~/.Xmodmap:

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

(assurez-vous qu'au début, X utilisera votre ~/.Xmodmap)

3
uzsolt

Xorg.conf

Vous pouvez y parvenir en modifiant le fichier /etc/X11/xorg.conf.d/00-keyboard.conf.

Exemple de fichier:

Section "InputClass"
        Identifier      "system-keyboard"
        MatchIsKeyboard     "on"
        Option          "XkbLayout" "us"
        Option          "XkbModel"  "pc104"
        Option          "XkbOptions" "caps:swapescape"
EndSection  

Vous pouvez spécifier plusieurs XkbOptions, par exemple caps:swapcaps,terminate:ctrl_alt_bksp pour échanger les majuscules et les majuscules, mais aussi pour tuer le X avec CtrlAltBackspace. Vous trouverez plus d’informations à ce sujet dans man xkeyboard-config.

Interface graphique

Vous pouvez également utiliser GNOME Tweak Tool (paquet gnome-Tweak-tool). Cliquez simplement sur Typingpuis choisissez ce que vous voulez dans le menu Ctrl position (voir l’image ci-dessous).

enter image description here

2
styrofoam fly

Le fichier /etc/X11/xorg.conf.d/00-keyboard.conf peut également être généré automatiquement à l'aide de systemd-localed. Utilisez la commande suivante:

localectl set-x11-keymap us "" "" caps:escape

Ou, y compris d'autres options utiles:

localectl set-x11-keymap us,de "" "" caps:escape,grp:alt_caps_toggle,grp_led:caps,lv3:ralt_switch_multikey,terminate:ctrl_alt_bksp,eurosign:e,rupeesign:4

Explications rapides:

  • CapsLk fonctionne comme Esc
  • Bascule entre deux dispositions de clavier usname __/dewith Alt+CapsLk
  • CapsLk LED indique quelle mise en page est active.
  • Alt droit (RAlt) est le "multikey" (voir Compose Key )
    • RAlt+e génère
    • RAlt+4 génère (similaire à comment Shift+4 génère $)
  • Ctrl+Alt+Backspace tue X
0
friederbluemle

! Je ne sais pas pourquoi les réponses ci-dessus ne fonctionnent pas. En voici un qui fonctionne pour moi. Dans votre ~/.Xmodmap

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

et alors

$ xmodmap ~/.Xmodmap

J'utilise Fedora et un gestionnaire de fenêtres non-Gnome. HTH

0
John Chain