41 votes

Comment mapper la touche Caps Lock sur la touche Echap dans Arch Linux

Mon OS est Arch Linux amd64, environnement Gnome.

Je veux mapper la touche Caps Lock sur la touche Esc (échapper) dans Arch Linux. Je lance la commande :

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

Cela fonctionne bien, mais un moment plus tard, la touche Caps Lock fonctionne à nouveau. Et je dois exécuter la commande de nouveau.

Je suis assez sûr que cette solution fonctionnait bien il y a peut-être un an. Quel est mon problème? Est-ce que quelqu'un peut m'aider à mapper la touche Caps Lock sur la touche Echap pour toujours dans mon OS Arch Linux?

1voto

8jean Points 2506

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

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

Ou, en incluant quelques 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
  • Alterne entre deux mises en page de clavier us/de avec Alt+CapsLk
  • Le LED des CapsLk indique quelle mise en page est active
  • La touche Droite Alt (RAlt) est la "multikey" (voir Compose Key)
    • RAlt+e génère
    • RAlt+4 génère (similaire à comment Shift+4 génère $)
  • Ctrl+Alt+Backspace arrête X

0voto

comonadd Points 101

Pour échanger Caps Lock avec Échap, vous pouvez utiliser la commande suivante :

setxkbmap -option caps:swapescape

0voto

tdy Points 105

Les autres réponses sont excellentes, mais l'année dernière j'ai basculé vers caps2esc, qui mappe caps à la fois comme esc et ctrl:

  • tap = esc
  • hold = ctrl

caps2esc

  1. Installez pour votre distribution ou compilez à partir des sources. Pour Arch Linux, utilisez pacman:

    $ sudo pacman -S interception-caps2esc
  2. Créez /etc/interception/udevmon.yaml et spécifiez facultativement le mode. Ici, -m 1 spécifie le mode "minimal" :

    - JOB: intercept -g $DEVNODE | caps2esc -m 1 | uinput -d $DEVNODE
      DEVICE:
        EVENTS:
          EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
  3. Activez et démarrez udevmon:

    $ sudo systemctl enable udevmon
    $ sudo systemctl start udevmon

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X