Rimappare il blocco maiuscole per uscire e il menu per comporre sulla console di Linux


9

Quando esegui XI, usa un .xmodmaprc per rimappare determinate chiavi in ​​questo modo:

! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key

Come posso realizzare le stesse cose sulla console?

aggiornare

Oltre alla soluzione parziale fornita nella mia risposta, ho imparato che la console associa CTRL .a Compose. Quindi potrei abituarmi a quello. L'impostazione del tasto Menu come Compose non è così facile, poiché ci sono molti codici chiave assegnati in modo nullo e nessun contendente ovvio per un nome alternativo per Menu.

Mi sono anche reso conto che gli stessi collegamenti di composizione sono molto più limitati di quelli a cui sono abituato in X, e che la maggior parte dei caratteri speciali che utilizzo frequentemente non ci sono. Forse c'è un'utilità che tradurrà i collegamenti di sintassi X-sintassi in qualcosa che loadkeyspuò leggere?


1
Tradizionalmente: con loadkeys. Penso che al giorno d'oggi puoi ottenere la console Linux per leggere la configurazione X, ma non so come funzioni.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


8

Dovrai modificare la mappa dei tasti della tua console. Sulla mia console ho mappato Escape to Caps Lock e Caps Lock su Escape. Ecco come funziona.

  1. Per prima cosa devi trovare la tua keymap. Uso il layout standard degli Stati Uniti. Sul mio sistema, si trova sotto /usr/share/keymaps/i386/qwerty/us.map.gz.
  2. Crea una copia del file con un nuovo nome, ad esempio us-nocaps.map.gz.
  3. Decomprimi il file e aprilo in un editor di testo: gunzip us-nocaps.map.gz && vim us-nocaps.map
  4. Cambia le mappature nel file a tuo piacimento, ad esempio ho avuto keycode 58 = Caps_Lockche ho cambiato keycode 58 = Escape.
  5. Gzip il file e caricarlo: gzip us-nocaps.map && loadkeys us-nocaps.

Ancora una cosa: probabilmente dovrai configurare la tua distribuzione in qualche modo per assicurarti che le nuove keymap vengano sempre caricate all'avvio, altrimenti dovrai caricare la tua keymap manualmente con loadkeyssempre. Come lo fai dipende da quale distribuzione stai usando.


1
Il passaggio con la pistola non è effettivamente necessario qui - nella maggior parte delle versioni di vimte dovrebbe essere solo in grado divim us-nocaps.map.gz
glittershark

3

Per le nuove distribuzioni Debian non è più necessario tutto questo.

Il file della tastiera descrive le proprietà della tastiera. Viene letto setupcon(1)per configurare la tastiera sulla console. Nei sistemi Debian il layout di tastiera predefinito è descritto in /etc/default/keyboarded è condiviso tra X e la console. (tastiera uomo)

Nel /etc/default/keyboardset XKBOPTIONS="caps:escape"e poi fai:

~$ sudo setupcon

La descrizione di tutti i modelli di tastiera, layout, varianti e opzioni disponibili è disponibile in /usr/share/X11/xkb/rules/xorg.lst. "(Tastiera uomo)


1

Con l'aiuto di Cedric, ho scoperto che Ubuntu non ha installato le mappe dei tasti in cui si $ man loadkeysdice che dovrebbero essere ( /usr/share/keymaps). Questa è un'installazione nuova di zecca, quindi forse ho solo bisogno di installare un pacchetto per ottenere keymap diverse da quella che ho selezionato durante l'installazione.

Invece di perseguire quell'angolazione, e nel tentativo di rendere la soluzione un po 'più robusta e conveniente, sto facendo questo:

    $ sudo dumpkeys | sed 's/CtrlL_Lock/Escape/' | sudo loadkeys

Anche se sono un po 'confuso sul perché il sistema Cedric utilizza il Caps_Lockblocco maiuscole e il mio CtrlL_Lock, il mio funziona indipendentemente.


È interessante, non sapevo dove fossero le differenze tra le distribuzioni con quelle keymap. Personalmente uso Gentoo, le mappe dei tasti provengono dal pacchetto sys-apps / kbd-1.15.
Cedric,

2
A partire da Ubuntu 10.04, le keymap sono nel console-datapacchetto. Non sono installati per impostazione predefinita. Puoi scoprire in quale pacchetto installa i file /usr/share/keymapseseguendo apt-file search /usr/share/keymaps.
Gilles 'SO- smetti di essere malvagio' il
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.