Comment désactiver la commutation Alt-Flèche des consoles virtuelles?

37

Ce qui suit se produit sur différentes Linuces:

Lorsque je suis dans une console virtuelle, maintenez enfoncé Altet appuyez sur ou , le cycle de ttys virtuel. C'est vraiment ennuyeux car j'utilise fish-shell qui utilise également ce combo clé. Je pourrais remapper les raccourcis du poisson, mais je ne veux pas. Au lieu de cela, je veux désactiver la fonction linux ou la remapper.

Comment puis-je désactiver ou changer le combo tty-cyclisme-clé?

Max Ried
la source
2
Une réponse qui peut vous aider: superuser.com/questions/290115/…
Didi Kohen

Réponses:

14

Vous pouvez utiliser la loadkeyscommande pour remapper les clés sur la console Linux. Les lignes suivantes définissent les raccourcis clavier permettant de changer de console (sur un clavier de PC):

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

Chargez votre propre fichier de clavier qui remplace ces liaisons avec une séquence d'échappement reconnue par fish. Pour qu'une clé envoie une séquence d'échappement, vous devez la lier à un nom de clé du formulaire et définir une séquence de caractères pour .FNUMBERFNUMBER

alt keycode 105 = F105
alt keycode 106 = F106
string F105 = "\033\033[D"
string F105 = "\033\033[C"

Différentes distributions (et parfois différents packages pour la prise en charge de la console) stockent le mappage de touches au moment du démarrage du système à différents emplacements sous /etc. Recherchez un fichier appelé *.kmapou *.kmap.gzou *.mapou *.map.gzsous /etcou consultez le manuel de votre distribution. Certaines distributions stockent à la place le nom du clavier /etcet placent le clavier lui-même ailleurs; recherchez un paramètre associé à la keymap sous /etc/sysconfigou dans un autre répertoire de configuration.

Vous pouvez écrire votre propre keymap et l'utiliser include "/path/to/foo.map"pour référencer la keymap système ou organiser le chargement de votre propre keymap contenant uniquement les paramètres que vous souhaitez modifier au cours du processus de démarrage.

Gilles, arrête de faire le mal
la source
Êtes-vous sûr de l' .kmapextension? Je n'ai pas pu trouver de fichiers sur Fedora 20, mais par contre j'ai trouvé /lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz.
Cristian Ciupitu
@CristianCiupitu Ma mauvaise, j'aurais dû mentionner d'autres façons, cela peut être fait. Je pense que dans Fedora, il existe un paramètre quelque part /etc/sysconfigqui détermine le nom du fichier de clavier à charger au démarrage.
Gilles 'SO- arrête d'être méchant'
Devrais-je avoir ma configuration avec dumpkeys, la sauvegarder, la changer et la changer /etc/sysconfig? Cela le rendra-t-il persistant?
Max Ried
@Gilles, peut-être que les pages de manuel pour systemd-vconsole-setup.service et [vconsole.conf] ( freedesktop.org/software/systemd/man/vconsole.conf.html ) peuvent nous éclairer.
Cristian Ciupitu
@ MaxRied Je recommande de garder les deux séparés, ce sera plus facile à maintenir. Remplacez la référence par /etc/sysconfigun fichier contenant une includedirective par le keymap standard.
Gilles, arrête de faire le mal '24
44

Voici un correctif unique:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'
Tobu
la source
Je suggérerais d'ajouter ceci en tant que commande dans les "applications de démarrage".
Samy Bencherif le
20

J'ai repensé la réponse de Tobu pour ne changer que ce qui est absolument nécessaire:

sudo sh -c 'dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|grep -v Last_Console|loadkeys'

NB: Comme cela a été dit, il s’agit d’un correctif ponctuel qui disparaîtra probablement après un redémarrage.

Gunar Gessner
la source
1
Deux correctifs: 1. Ne videz que les raccourcis clavier pour éviter une erreur de syntaxe dans loadkeys; 2. Débarrassez-vous également de Last_Console (Alt + Tab): sudo sh -c 'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys' Merci beaucoup pour cela!
Reuben Thomas
Suite à mon commentaire précédent, j'ai découvert que le voyant Caps Lock était toujours allumé et éteint (même si celui-ci était toujours mappé sur Contrôle sur mon système). Pour résoudre ce problème, le filtrage de la ligne contenant Caps_Lock ne fonctionne pas, car il s'agit du seul mappage pour le code clé approprié. Par conséquent, il n'est pas écrasé lorsque la liste filtrée des mappages est rechargée. En fin de compte, la solution la plus simple était de vider un keymap «connu comme bon», puis de le charger explicitement.
Reuben Thomas
14

J'ai parfois eu le problème avec Ubuntu 18.04:

sudo kbd_mode -s

A fait le travail. (au moins temporairement)

Vous pouvez trouver un long rapport de bogue ici sur le tableau de bord .

Bobine
la source
Comment cela marche-t-il? J'hésite à expérimenter, car la page de manuel indique "Avertissement: le fait de changer le mode du clavier, autre qu'entre ASCII et Unicode, rendra probablement votre clavier inutilisable".
nshiff
1
Bonjour, j'ai ajouté un lien.
Coil
Merci! Cela a fonctionné. J'ai essayé de cliquer sur "Oui, ça m'affecte" sur bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546 mais je continue à avoir une erreur de dépassement de délai. Une idée comment résoudre ce problème?
6005 le
Il devrait être temporairement, je suppose ou vous devez remplir un rapport de bogue pour le système de rapport de bogues lui-même! : p
Coil le