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?
L'un des éléments suivants (par ordre croissant de complexité):
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
setxkbmap
peut être trouvé dans extra/xorg-setxkbmap.
dconf-editor
> org.gnome.desktop.input-sources.xkb-options
> Ajoutez caps:escape
au champ susmentionné.
gnome-session-settings
> Programmes de démarrage> Ajouter> Nom = Remapper le verrouillage des majuscules sur d'échappement, commande = setxkbmap -option caps:escape
Pour votre information, j'ai obtenu la règle xkb en greppant /usr/share/X11/xkb/rules
pour caps
et esc
name__.
À 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
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
)
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
.
Vous pouvez également utiliser GNOME Tweak Tool (paquet gnome-Tweak-tool). Cliquez simplement sur Typing
puis choisissez ce que vous voulez dans le menu Ctrl position
(voir l’image ci-dessous).
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:
us
name __/de
with Alt+CapsLk€
₹
(similaire à comment Shift+4 génère $
)! 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