Come rimappare i tasti BLOC MAIUSC e Ctrl?


77

Vorrei rimappare le mie chiavi in ​​modo che Ctrlsi comporti come Caps Lockchiave e viceversa. Inoltre, se possibile, vorrei che le impostazioni fossero disponibili solo all'interno dell'utente attualmente connesso. Come posso raggiungere questo obiettivo?

Sono un utente VIM, a differenza delle altre persone che usano questa macchina, quindi mi piacerebbe quelle impostazioni solo per il mio account.


1
Ha questo aiuto?
Mitch


4
Sono sconvolto dal fatto che questa non è una funzionalità standard nelle impostazioni di Linux al giorno d'oggi.
Edward Falk,

Risposte:


59

13.10+:

Installare e utilizzare gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior.

Pre 13.10:

Apri la finestra di dialogo Preferenze tastiera ( System -> Preferences -> Keyboard). Nella scheda layout, fai clic sul Options...pulsante. Espandi la Ctrl key positionsezione e seleziona Swap Ctrl and Caps Lock.

Tali impostazioni devono essere applicate ogni volta che accedi e interesseranno solo il tuo account utente.


2
Questa opzione è scomparsa in Ubuntu Saucy. Non sono sicuro di come spiegarlo, ma semplicemente non c'è. Le preferenze della tastiera non hanno una "scheda Layout", ma c'è un pulsante "Impostazioni layout", e quando faccio clic su di esso mi porta alla scheda "Sorgenti di input" del pannello "Regione e lingua", che misteriosamente manca di qualsiasi tipo del pulsante "Opzioni". L'unico pulsante lì apre una tastiera virtuale sullo schermo che mi mostra il layout della mia tastiera rotta senza alcun modo di cambiare quali tasti si comportano in che modo.
Robru,

4
Per Ubuntu 13.10, dovrai usare gnome-tweak-tool.
Jeremy Bicha,

1
L'opzione Pre 13.10 funziona per me nel 14.04
JeremyKun l'

Lo stesso di @JeremyKun. Nel mio caso, usando 14.04, la soluzione pre 13.10 ha funzionato ma il 13.10+ non ha funzionato
matiascelasco,

Grazie per questa risposta! L' gnome-tweak-toolè veramente bello; puoi anche usarlo per motivi come "usa Caps Lock per cambiare layout di tastiera" (un preferito personale) e "cambia Alt / Win" (che è utile se sei un utente Mac da molto tempo ...)
Per Lundberg,

63

Uno dei modi migliori per farlo graficamente è installare Gnome Tweak Tool :

sudo apt-get install gnome-tweak-tool

  • Apri lo strumento di modifica e fai clic sulla sezione di digitazione nella colonna di sinistra.
  • Ora dovresti vedere la riga Comportamento tasto Bloc Maiusc sulla sinistra.
  • Scegli Rendi Bloc Maiusc un tasto Ctrl aggiuntivo anziché Disabilitato nell'elenco a discesa e dovresti essere bravo.

Inoltre, il pannello delle impostazioni non richiede molto tempo per apparire sulla mia macchina, quindi non ho idea di quale sia il problema.

Goditi la tua nuova Ctrlchiave!


Volevo usare il tasto MAIUSC per spegnere lo schermo. L'ho impostato prima nella finestra Impostazioni di sistema> tastiera, ma CAPS ha ancora attivato lo stato e il LED CapsLock. Quindi ho disabilitato la chiave con lo strumento che mi hai consigliato (che presenta alcuni errori di visualizzazione tra - sfondo trasparente della finestra), che ha anche impedito il funzionamento del mio collegamento personalizzato. Dopo aver disabilitato, ho dovuto impostare nuovamente il collegamento per farlo funzionare. È stato impostato sul valore 0xff o qualcosa del genere anziché CAPS. Ho pensato che questa procedura potesse aiutare alcuni futuri lettori con desideri simili.
Byte Commander

Quando eseguo gnome-tweak-tool dalla riga di comando, c'è un messaggio di errore sulla shell che non esegue DBus e quindi qualsiasi tentativo che faccio di modificare le impostazioni non ha alcun effetto.
Edward Falk,

1
Aggiornamento: gnome-tweak-tool funziona solo all'interno della shell gnome
Edward Falk,

1
nessuna sezione di "digitazione" nella mia colonna di sinistra: solo Desktop, Font, Shell, Shell Extensions, Theme, Windows.
Reb.Cabin,

2
Nota che l'opzione di scambio di gnome-tweak è sotto "Posizione tasto Ctrl", non "Comportamento tasto BLOC MAIUSC".
Phil Goetz,

59

Ecco un modo per farlo senza installare software aggiuntivo:

setxkbmap -layout us -option ctrl:nocaps

Fonte:


3
Questo non sopravvive dopo il riavvio. Come posso renderlo permanente? Preferirei non inserirlo in uno script di avvio (ad esempio .bashrc).
nic,

9
@nic Devi anche cambiare il file sudo vi /etc/default/keyboarde cambiare XKBOPTIONS="ctrl:nocaps". Esegui il comando di Jorge dopo quello ma come setxkbmap -option ctrl:nocapstale che non cambia il layout di tastiera predefinito.
Léo Léopold Hertz 준영

43

Apri quanto segue per la modifica:

sudo vi /etc/default/keyboard

E modifica XKBOPTIONS="ctrl:swapcaps"

Quindi, riconfigurare:

sudo dpkg-reconfigure keyboard-configuration

o

/usr/bin/setxkbmap -option "ctrl:swapcaps"

La domanda era "Vorrei che quelle impostazioni fossero solo per il mio account". La modifica di / etc / default / keyboard lo cambierà per tutti.
skierpage

1
hai 3 passaggi (1, 2, 3). Intendi [(1 e 2) o 3] o [1 e (2 o 3)]?
jgomo3,

Grande! Esegui il comando sudo dpkg-reconfigure keyboard-configuratione premi più volte, e ha funzionato !!! EDIT: tuttavia, dopo essermi disconnesso e riconnesso, l'impostazione è andata via. :(
LeOn - Han Li,

24

Per modificare in modo permanente il comportamento:

  1. correre dconf-editor

  2. Selezionare org.gnome.desktop.input-sources

  3. Cambia xkb-optionsin ['ctrl:nocaps'](o aggiungilo a qualsiasi opzione esistente)

o dalla riga di comando ( Attenzione: questo sovrascrive le impostazioni esistenti! ):

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

Questa fodera può anche essere aggiunta a ~ / .profile per la portabilità.
jthetzel,

Questo non ha funzionato per me su Kubuntu 16.04, anche dopo un riavvio.
zplizzi,

3
Le impostazioni di dconf si applicano immediatamente e sono persistenti, quindi non ha senso inserirlo in ~ / .profile e non è necessario riavviare. Questa particolare impostazione si applica solo a Gnome / Unity, non a KDE utilizzato in Kubuntu.
Anton Eliasson,

4

Questo è un compito facile una volta che sai come farlo.

1) Controlla il codice chiave della tua chiave. Esegui questo programma sul terminale.

xev


In questo esempio, il terminale mostra che il codice chiave per my kè "45".

2) Modificali come preferisci creare questo file:

gedit ~ / .Xmodmap

Il suo contenuto dovrebbe assomigliare a questo esempio:

keycode 37 = Caps_Lock NoSymbol Caps_Lock keycode
66 = Control_L NoSymbol Control_L

(Modificare il numero di codice chiave secondo necessità - guardare il passaggio "1")

Ilustration:
(Obs .: se voglio cambiare il mio kdovrei usare "keycode 45" come mostrato al passaggio "1").

4) Disconnettersi e riconnettersi o riavviare o eseguire questo:

xmodmap ~ / .Xmodmap

Spero ti diverta ;-)


2
Si noti che questa soluzione potrebbe causare problemi a parte le mappe dei tasti più semplici. La compatibilità xmodmap nel nuovo sistema xkb non è perfetta, quindi probabilmente è meglio attenersi a xkb, se possibile.
James Henstridge l'

@James vorresti spiegare come possiamo farlo?
desgua,

Vedi l'altra risposta a questa domanda. Il pannello di controllo della tastiera standard costruirà e la keymap xkb dal layout di base selezionato più le opzioni abilitate.
James Henstridge,

1
Bene, puoi impostare le stesse keymap usando il setxkbmapprogramma da riga di comando . Scrivere nuove keymap è possibile, ma un po 'più coinvolto rispetto ai mapping dei codici chiave Xmodmap. È positivo che la maggior parte delle varianti di opzioni che desideri siano già disponibili.
James Henstridge,

1
@James. Ho cercato e imparato setxkbmap. Ma non sono riuscito a trovare una risposta: è possibile rimappare una chiave per tutto ciò che vogliamo? Ad esempio qualcosa di eccentrico come: "keycode 51 = bracketright braceright bracketright braceright bar maschile"?
desgua,

4

Ecco come farlo manualmente (senza strumenti aggiuntivi), tramite XKB, che è il gestore chiavi predefinito per Ubuntus recente. Modifica /usr/share/X11/xkb/symbols/pc, sezione xkb_symbols "pc105":

//key <CAPS> {  [ Caps_Lock     ]   };
//key <LCTL> {  [ Control_L     ]   };
key <CAPS> {    [ Control_L ]   };
key <LCTL> {    [ Caps_Lock     ]   };

Login / logout o riavvio. Vedi qui per maggiori dettagli.

In alternativa puoi scambiare a livello di codici chiave, che sono emessi da quei pulsanti. Modify /usr/share/X11/xkb/keycodes/evdev:

<CAPS> = 64; //66;
<LCTL> = 66; //64

Dovrai sudo rm -rf /var/lib/xkb/*applicare le modifiche.


Ottimo punto per lavorare a livello di codici chiave. Sui miei laptop con Kubuntu Bionic, cambiare semplicemente a livello di simboli non è soddisfacente perché premendo il tasto Caps fisico si attiva o disattiva lo stato Caps interno. La modifica dei codici chiave funziona! A proposito, ho esteso questo a tre tasti (maiuscolo, meta e RAlt) e vorrei notare che in realtà è necessario scrivere <CAPS> = *orig code of the physical key you want to act **as** CAPS*piuttosto che <CAPS> = *orig code of the key you want physical CAPS to act **as**(spero che la distinzione sia chiara). Questa distinzione è necessaria in questi casi.
Jamadagni,

3

La risposta accettata è confusa perché gnome-tweak-tools non mostra alcuna sezione di "digitazione".

Invece, fai clic sulla sezione "Tastiera e mouse" e quindi seleziona "Opzione layout aggiuntivo". Lì vedrai "Comportamento Blocco maiuscole" che consente di convertire il blocco maiuscole in chiavi diverse.

Schermata di tweak-tool


2

Nelle distribuzioni basate su KDE (come KDE Neon o Kubuntu) questo comportamento può essere configurato nelle normali impostazioni di sistema. Apri le impostazioni di sistema, seleziona "Input Devices" => "Keyboard" => "Advanced". Nella categoria "Posizione chiave Ctrl" selezionare "Scambia Ctrl e Blocco maiuscole".

Schermata del modulo Tastiera delle impostazioni di sistema di KDE


0

gnome-tweaks 3.28.1 non ha Typingsezione.
Pertanto, setxkbmap -layout us -option ctrl:nocapso setxkbmap -layout us -option ctrl:swapcapssarebbero opzioni possibili.

Per renderlo permanente, puoi fare riferimento alla risposta di @name.


Tastiera e mouse -> opzione di layout aggiuntivo
Voyager
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.