Comment remapper la touche de verrouillage des majuscules?

69

Dans le passé, j’avais l'habitude d' xmodmapempêcher le Caps Lockbouton de fonctionner, puis je demandais à Launchy de gérer la touche. Je n'arrive plus à faire ça.

Quel est le meilleur moyen de désactiver Caps Lockle comportement normal et de lui faire faire autre chose?

Mehrdad
la source
1
Pour Ubuntu 14.04, voir askubuntu.com/q/444714/25388
Léo Léopold Hertz

Réponses:

71

De howtogeek.com qui a une bonne réponse pour tout système d'exploitation.

Pour Linux (y compris Ubuntu):

setxkbmap -option <OPTION>

<OPTION>peut être par exemple de:

  • caps:none - Désactive le verrouillage des majuscules.
  • caps:super- Caps Lock devient un Super supplémentaire (aka clé Win).
  • caps:ctrl_modifier- Caps Lock devient un Ctrl supplémentaire .
  • caps:numlock- Le verrouillage des majuscules devient un verrouillage numérique supplémentaire .
  • caps:escape- Caps Lock devient une évasion supplémentaire .
  • caps:backspace- Le verrouillage majuscule devient un retour arrière supplémentaire .
  • caps:swapescape - La majuscule devient Escape, et Escape devient majuscule

Remarque: Xmodmap est obsolète en faveur de setxkbmap.

La nuit
la source
3
je vous aime mec, merci, cela fonctionne pour ubutnu 14.10
Andrzej Rehmann
2
fonctionne aussi dans Ubuntu 15.10! Merci!
Donatello
6
gentil et simple, fonctionne en 16.04
chepyle
4
Pour restaurer les setxkbmapmodifications éventuelles (par exemple, si vous avez besoin que votre clé Caps soit revenue à son emplacement d'origine), il vous suffit d'exécuter ceci:setxkbmap -option
landroni
1
Si vous avez remappé la touche Capslock sur backspace et que vous vous demandez maintenant pourquoi elle ne supprime pas les mots si vous la maintenez enfoncée, c'est que vous devez utiliser une commande supplémentaire. Après setxkbmap -option caps:backspaceentrer xset r 66et voila.
Gabriel
19

Vous pouvez le désactiver en allant au clavier-> Mises en page-> options-> comportement du verrouillage majuscule et en choisissant "désactiver le verrouillage majuscule".


Modifier :

Je ne sais pas pourquoi cela semble gênant avec une autre touche du clavier.

Mais Launchy fonctionne très bien avec moi après avoir essayé avec CTRL+ Super+ Space.

entrez la description de l'image ici

Et vous devez ajouter une liste blanche launchyaux icônes de la barre des tâches. Voir Comment accéder et activer davantage d'icônes dans la barre d'état système? . En outre, vous devez l'ajouter aux applications de démarrage, car cela ne fonctionnera pas s'il n'est pas ouvert.


Après tout, comme alternative à Launcy, essayez Synapse pour une meilleure intégration avec gnome et unité.

Vie binaire
la source
Cette option ne semble pas être disponible pour moi sur Ubuntu 15.04.
MichielB
19

Dans Ubuntu 11.10 - 13.04

  1. Ouvrez l' application de configuration du clavier et cliquez sur le bouton "Options".
  2. Une liste des options de reliure apparaîtra. Sélectionnez "Comportement de la touche Verr. Majuscule".
  3. Sélectionnez votre option de réaffectation de majuscule préférée.

Capture d'écran des options disponibles

Jjed
la source
1
@JacobJohanEdwards Remarque pour vous, vérifiez si xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'fonctionne toujours.
Jjed
Pour les utilisateurs de vim, 'Practical Vim' recommande de mapper le verrouillage des majuscules sur ctrl au niveau du système. Disposition du clavier> Options> Position des touches Ctrl> Verrouillage majuscule car Ctrl fait l'affaire.
Repatabi
12
Ces paramètres n'existent plus dans 13.10. Installer gnome-tweak-tool, vous y trouverez des paramètres similaires sous "Saisie".
pcworld
Cela ne fonctionne pas pour moi dans Ubuntu 12.10. Jouer avec ces paramètres dans le gnome-control center ne semble pas avoir d’effet.
Andrew Wagner
4
Pourquoi ont-ils supprimé ces options de 14.04?
Léo Léopold Hertz 준영
16

Il s’agit essentiellement d’une modification de la réponse fournie à l’ adresse https://askubuntu.com/a/223674/22073 .

Vous pouvez également modifier le comportement du verrouillage majuscule en utilisant un XKBOption. Ces changements sont même propagés aux consoles virtuelles (/ dev / tty [1-6] ou Ctrl-Alt-F [1-6]).

Par exemple, pour désactiver le verrouillage majuscule, vous auriez les éléments suivants dans /etc/default/keyboard:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

Ensuite, vous courriez:

sudo dpkg-reconfigure keyboard-configuration

Pour une liste complète des personnalisations de XKBOPTIONS, consultez /usr/share/X11/xkb/rules/base.lst. Voici la liste complète de ma machine Ubuntu 13.10: http://sprunge.us/cUZO

Encore plus d'informations peuvent être trouvées sur le wiki ArchLinux: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg

Ehtesh Choudhury
la source
Parfait, j'utilise XKBOPTIONS="ctrl:swapcaps"pour échanger la touche Ctrl gauche avec des majuscules.
Márcio
Cela fonctionne sur 16.04 dans X et les consoles virtuelles.
Jfs
11

Pour remapper les majuscules inutiles dans un changement de base, faites

xmodmap -e "keycode 66 = Shift_L"
jobwat
la source
Cela ne persiste pas après le redémarrage.
Czarek Tomczak
3
Pour qu'il persiste après le redémarrage, faites: Ubuntu Dash Home> Applications de démarrage> Ajouter> Tapez la commande ci-dessus.
Czarek Tomczak
7

La méthode suivante utilise la combinaison de Compiz pour lancer une application lorsque vous appuyez sur une touche.

En résumé -

  1. modifiez le comportement de la touche de verrouillage majuscule pour imiter une autre clé.
  2. Configurez Compiz pour écouter la nouvelle clé imitée et exécutez un script personnalisé.

Changer la touche majuscule

Pour modifier le comportement de la touche de verrouillage des majuscules, vous pouvez utiliser xmodmaples méthodes suivantes:

  • créer un fichier, par exemple "capslock"
  • copier et coller ce qui suit dans le fichier
keycode 66 = cent
clear Lock
add Control = cent
  • Maintenant, lancez xmodmap pour reconnaître votre changement:

xmodmap capslock

Pour exécuter en permanence, ajoutez cette commande aux applications de démarrage.

En appuyant maintenant sur la touche majuscule, vous imitez une touche «cent». Notez que cette touche n’existe pas sur mon clavier.

Vous pouvez obtenir une liste des noms KeySym à partir d'ici .

Configurer Compiz

Démarrer le gestionnaire de paramètres CompizConfig

Dans la section générale, assurez-vous que "Commandes" est activé et configurez une commande comme indiqué:

entrez la description de l'image ici

NB: activez la liaison de clé et utilisez "combinaison de touches" pour reconnaître votre clé "cent". Vous ne pouvez pas obtenir Compiz pour reconnaître la clé de verrouillage majuscule elle-même malheureusement.

entrez la description de l'image ici

Évidemment - changez "firefox" pour la commande que vous utilisez pour lancer "launchy"

Désormais, lorsque vous appuierez sur la touche Caps Lock, Compiz reconnaîtra la touche "cent" mappée et exécutera la commande - dans ce cas, firefox -, dans votre cas, "lancement".

fossfreedom
la source
Après quelques minutes, les réglages sont rétablis - et encore une fois, Caps Lock a le comportement habituel.
Vitaly Zdanevich
5
  1. Utilisez la commande xev. Quand vous appuierez sur l'entrée, xev se lancera. xev prend toutes vos entrées et informations sur la clé dans la ligne de commande. Je recommande de placer votre souris sur la touche de sortie de la fenêtre xev, d'appuyer sur la touche majuscule (ou sur la touche sur laquelle vous souhaitez en savoir plus), et de quitter immédiatement xev. Les lignes pertinentes sur mon système, pour le verrouillage des majuscules, ressemblent à ceci:

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Remarquez keycode(66) et keysym(0xffe5).

    Vous pouvez également, à présent, obtenir des données pour une autre clé - une clé que vous n'utilisez pas vraiment et qui, dans le contexte dans lequel vous souhaitez utiliser le bouton de verrouillage majuscule, ne fait rien. Donc, si vous voulez que les majuscules activent la boîte de recherche Unity (comme le fait habituellement super), utilisez peut-être `, par exemple. Sur ma machine:

    keycode 49 (keysym 0x60, grave)
    
  2. Liez la fonction de la nouvelle clé au bouton Caps Lock, à l’aide de xmodmap. Je suis sûr que vous voulez utiliser une commande comme:

    xmodmap -e "keycode 66=0x60"
    

    Maintenant, si vous appuyez sur le bouton de verrouillage des majuscules physiques dans une zone de texte, le caractère grave (`) apparaîtra. Mais si vous associez une touche de raccourci à celle-ci, cela fera autre chose. Si vous souhaitez pouvoir l'utiliser dans une zone de texte, remplacez peut-être le verrouillage des majuscules par un décalage à gauche ou f10, ou par un autre paramètre qui ne semble pas interférer avec la commande que vous souhaitez utiliser.

  3. Testez-le pour vous assurer que la commande que je vous ai donnée fonctionne comme vous le souhaitez.

  4. Accédez aux applications de démarrage et ajoutez cette commande à vos applications de démarrage. De cette façon, la clé changera correctement à chaque démarrage.

  5. Danse.

(crier à l'entreprise) Changer Keybindings (hardware to software)

Aussi, pour plus d’aide sur xmodmap:

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html

Daniel
la source
5

Ubuntu 16.04

setxkbmap -option <OPTION> de la réponse de Wernight semblait fonctionner immédiatement pour moi.

Cependant, cela disparaîtrait au redémarrage. Pour remédier à cela, j'ai ajouté à mes applications de démarrage

  1. Rechercher et exécuter Startup Applications>> Cliquez sur Ajouter
  2. Mettre en /usr/bin/setxkbmap -option <OPTION>tant que commande (Note: le chemin complet est important)

Remplacez <OPTION>par quelque chose comme caps:escape(je l'utilise pour vi)

Contexte

Je viens de passer de 15h10 à 16h04 et tout ce que je mappais avant de cesser de fonctionner.

Anthony Astige
la source
2

L'option que j'ai trouvée la meilleure pour moi (dans tout wm / de compatible X) est d'ajouter

Option "XkbOptions" "caps:swapescape"

à l'intérieur de

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

bloquer dans /etc/X11/xorg.conf.d/00-keyboard.conf (créer si nécessaire).

Roman Riesen
la source
1

Bien que l'option xmodmap fonctionne, je souhaitais trouver une option utilisant l'interface graphique. Ceci est disponible pour moi (avec Ubuntu 15.10):

  • installer gnome-tweak-tool
  • aller à 'taper'
  • sous "Comportement de la touche de verrouillage des majuscules", choisissez "Verrouillage des majuscules désactivé"
MichielB
la source
-1

La solution la plus robuste consiste à acheter un clavier permettant de remapper les touches dans le micrologiciel, c’est-à-dire un clavier professionnel programmable.

Ceux-ci coûtent généralement environ 200 dollars et ont également des interrupteurs à clé mécaniques de haute qualité. Elles sont chères, mais elles constituent le seul moyen d’éviter de se battre à chaque nouvelle machine, et chaque fois que les développeurs apportent des modifications radicales à l’infrastructure de système d’exploitation aussi fondamentales que la carte clavier.

Andrew Wagner
la source
1
Cela n'aide pas avec un ordinateur portable.
Wallyk