Come disabilitare la commutazione Alt-Arrow delle console virtuali?


37

Quanto segue accade su diversi Linuce:

Quando sono in una console virtuale, tieni premuto Alte premi o , il ciclo ttys virtuale. Questo è davvero fastidioso poiché sto usando fish-shell che utilizza anche questa combinazione di tasti. Ho potuto rimappare scorciatoie di pesce, ma io non voglio. Invece voglio disabilitare la funzione linux o rimapparla.

Come posso disabilitare o modificare la combinazione di tty-cycling-key-combo?


2
Una risposta che può aiutarti: superuser.com/questions/290115/…
Didi Kohen,

Risposte:


14

È possibile utilizzare il loadkeyscomando per rimappare le chiavi sulla console Linux. Le seguenti righe definiscono i collegamenti dei tasti per cambiare console (sulla tastiera di un PC):

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

Carica il tuo file keymap che sovrascrive questi binding con una sequenza di escape riconosciuta da fish. Per fare in modo che una chiave invii una sequenza di escape, è necessario associarla a un nome chiave del modulo e definire una sequenza di caratteri per .FNUMBERFNUMBER

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

Distribuzioni diverse (e talvolta pacchetti diversi per il supporto della console) memorizzano la mappa dei tasti di avvio del sistema in posizioni diverse in /etc. Cerca un file chiamato *.kmapo *.kmap.gzo *.mapo *.map.gzsotto /etco consulta il manuale della tua distribuzione. Alcune distribuzioni memorizzano /etcinvece il nome della keymap e mettono la keymap effettiva altrove; cercare un'impostazione relativa alla mappa di chiavi in /etc/sysconfigo altra directory di configurazione.

Puoi scrivere la tua keymap e utilizzarla include "/path/to/foo.map"per fare riferimento alla keymap di sistema, oppure organizzare il caricamento della tua keymap contenente solo le impostazioni che desideri modificare durante il processo di avvio.


Sei sicuro .kmapdell'estensione? Non sono riuscito a trovare alcun file su Fedora 20, ma d'altra parte ho trovato /lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz.
Cristian Ciupitu,

@CristianCiupitu Mio male, avrei dovuto menzionare altri modi per farlo. Penso che su Fedora ci sia un'impostazione da qualche parte /etc/sysconfigche determina il nome del file keymap da caricare all'avvio.
Gilles 'SO- smetti di essere malvagio' il

Devo ottenere la mia configurazione con dumpkeys, salvarla, cambiarla e cambiarla /etc/sysconfig? Ciò lo renderà persistente?
Max Ried il

@Gilles, forse le pagine man di systemd-vconsole-setup.service e [vconsole.conf] ( freedesktop.org/software/systemd/man/vconsole.conf.html ) possono far luce su questo.
Cristian Ciupitu,

@MaxRied Raccomando di tenere i due separati, sarà più facile da mantenere. Modificare il riferimento in /etc/sysconfigun file che contiene una includedirettiva nella keymap standard.
Gilles 'SO- smetti di essere malvagio' il

44

Ecco una soluzione unica:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'

Suggerirei di aggiungere questo come comando in "applicazioni di avvio".
Samy Bencherif,

20

Ho riformulato la risposta di Tobu per cambiare solo il necessario:

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

NB: Come detto, si tratta di una soluzione una tantum, che probabilmente scomparirà dopo un riavvio.


1
Due correzioni: 1. Scaricare solo i collegamenti dei tasti, per evitare un errore di sintassi nei loadkey; 2. Elimina anche Last_Console (Alt + Tab): sudo sh -c 'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys' Grazie mille per questo!
Reuben Thomas

In seguito al mio precedente commento, ho scoperto che la spia BLOC MAIUSC era ancora accesa e spenta (anche se BLOC MAIUSC era ancora mappato su Controllo sul mio sistema). Per risolvere questo problema, il filtraggio della riga contenente Caps_Lock non funziona, poiché è l'unico mapping per il relativo codice chiave, quindi non viene sovrascritto quando viene ricaricato l'elenco filtrato dei mapping. Alla fine, la soluzione più semplice era quella di scaricare una keymap "bene noto" e quindi caricarla esplicitamente.
Reuben Thomas,

14

Ho avuto il problema a volte con Ubuntu 18.04:

sudo kbd_mode -s

Ha fatto il lavoro. (almeno temporaneamente)

Puoi trovare una lunga segnalazione di bug qui sul launchpad .


Come funziona? Sono restio a sperimentare perché la pagina man dice "Avvertenza: cambiare la modalità tastiera, tranne che tra ASCII e Unicode, renderà probabilmente inutilizzabile la tastiera".
nshiff,

1
Ciao, ho aggiunto un link.
Bobina

Grazie! Questo ha funzionato. Ho provato a fare clic su "Sì, mi interessa" su bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546 ma continuo a ricevere un errore di timeout. Qualche idea su come risolverlo?
6005

Dovrebbe essere temporaneamente suppongo o è necessario compilare una segnalazione bug per il sistema stesso di segnalazione bug! : p
COil
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.