web-dev-qa-db-fra.com

Comment remapper la touche de verrouillage des majuscules?

Dans le passé, j’utilisais xmodmap pour empêcher le Caps Lock bouton de travail, puis dites Launchy pour gérer la touche appuyez à la place. Je n'arrive plus à faire ça.

Quelle est la meilleure façon de désactiver Caps Lockest un comportement normal, et lui faire faire autre chose?

67
Mehrdad

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:

  • caps:none - Désactive le verrouillage majuscule.
  • caps:super - Le verrouillage majuscule devient un Super (aussi appelé clé Win).
  • caps:ctrl_modifier - Le verrouillage majuscule devient un élément supplémentaire Ctrl .
  • caps:numlock - Le verrouillage majuscule devient un élément supplémentaire Num Lock .
  • caps:escape - Le verrouillage majuscule devient un élément supplémentaire Escape .
  • caps:backspace - Le verrouillage majuscule devient un Backspace .
  • caps:swapescape - Le verrouillage des majuscules devient Échap et Escape, le verrouillage des majuscules

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

70
Wernight

Dans Ubuntu 11.10 - 13.04

  1. Ouvrez l'application Keyboard Layout 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.

Screenshot of available options

19
Jjed

Vous pouvez le désactiver en allant dans le menu Clavier-> Mises en page-> Options-> Verrouillage majuscule et en choisissant "Désactiver le verrouillage majuscule".


Éditer :

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

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

enter image description here

Et vous devez répertorier launchyaux icônes de la barre des tâches. Voir Comment puis-je accéder et activer plus d'icônes dans la barre d'état système? . Vous devez également 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 sa meilleure intégration avec gnome et unité.

18
Binarylife

Il s’agit fondamentalement d’une modification de la réponse fournie sur https://askubuntu.com/a/223674/2207 .

Vous pouvez également modifier le comportement du verrouillage majuscule à l’aide de XKBOptionname__. 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 devriez avoir ceci 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 obtenir 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

15
Ehtesh Choudhury

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

xmodmap -e "keycode 66 = Shift_L"
10
jobwat

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 clé de verrouillage des majuscules, vous pouvez utiliser xmodmapcomme suit:

  • créer un fichier, par exemple "verrouillage des majuscules"
  • 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 de 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é:

enter image description here

N.B. 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.

enter image description here

É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".

6
fossfreedom
  1. Utilisez la commande xev. Lorsque vous appuyez sur 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 le décalage à gauche ou f10, ou par quelque chose qui ne semble pas gêner 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 les liaisons de clé (matériel à logiciel)

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

5
Daniel

Ubuntu 16.04

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

Cependant, cela disparaîtrait au redémarrage. Pour résoudre ce problème, j’ai ajouté à mon applications de démarrage

  1. Recherchez et exécutez Startup Applications >> Cliquez sur Ajouter
  2. Mettez la commande /usr/bin/setxkbmap -option <OPTION> en tant que commande (Remarque: le chemin complet est important)

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

Arrière-plan

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

3
Anthony Astige

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).

2
Roman Riesen

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

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