Come rimappare il tasto Super (sinistro) al tasto di controllo


26

Qualcuno potrebbe dirmi come rimappare la mia Superchiave (sinistra) in Ctrlchiave?

Voglio dire Super(a sinistra) dovrebbe funzionare come Ctrlchiave.


Vuoi che solo il tasto Super sinistro funzioni come Ctrl? È facile rimappare entrambi contemporaneamente dalle impostazioni del layout della tastiera, ma è necessario modificarne solo uno tramite i file di configurazione.
Pconley,

Sì, voglio solo lasciare il tasto Super per agire come Ctrl ..
Sandy,

Il super tasto si riferisce al tasto sulla mia tastiera che ha un logo MS Windows su di esso si trova tra sinistra ctrl e sinistra alt / destra alt gr e un tasto con un altro logo strano?
René Nyffenegger,

1
@ RenéNyffenegger Il tasto Super è il Windowstasto sulle tastiere del PC e il Commandtasto sulle tastiere Apple. Io non sono sicuro di quello che entirly l'altro tasto si descrive è
nhed

Risposte:


28

Per apportare importanti modifiche alla tastiera, inclusi rimappatura dei caratteri e modifica dei modificatori, è necessario utilizzare l'utilità xmodmap man xmodmap. Vedere . Esistono un paio di modi per eseguire le modifiche:

  • dalla riga di comando

    xmodmap -e "your commands"
    
  • o scrivi i comandi in un file come .xmodmaprc, quindi eseguilo nei tuoi elementi di accesso o nel tuo .bashrc con

    xmodmap .xmodmaprc
    

    Se si assegna un nome al file, ~/.xmodmapquesto verrà eseguito automaticamente all'accesso.

Ora i comandi

Quello che vuoi fare è un processo in due fasi. Prima devi annullare la mappatura di Super dal suo modificatore, quindi mapparlo per controllarlo.

  1. Esegui xmodmap -pmin una finestra del terminale per ottenere un elenco dei modificatori associati. Sulla mia macchina (e presumibilmente la tua) Super viene indicato come mod4. Super_Le Super_Rsono tasti separati che generano lo stesso modificatore.

    Ora puoi annullare la mappatura del modificatore da esso. Esegui il comando xmodmap (utilizzando uno dei metodi sopra)

    remove mod4 = Super_L
    

    Ora la chiave fisica viene ancora definita internamente come Super_L, ma non fa nulla.

  2. Ora rimappa. Esegui il comando xmodmap:

    add control = Super_L
    

Se si desidera annullare questa operazione in un secondo momento, eseguire gli stessi comandi con gli argomenti appropriati.

No Super_R?

L'output di xmodmap -pm potrebbe darti diverse chiavi chiamate Super_L ma nessuna chiamata Super_R). In tal caso, ora hai diversi tasti extra assegnati a Control, ma nessuno assegnato a Super. Dovrai rinominare una chiave. (NB: potrebbe darti diversi Super_L e almeno un Super_R. Questo va bene.)

I nomi delle chiavi nella tabella hanno tutti un numero esadecimale tra parentesi accanto. Questo numero è il codice chiave fisico del tasto sulla tastiera (può variare in base al modello). Se devi cambiare un Super_L in Super_R, trova prima il codice chiave che vuoi associare a Super_R (non sei sicuro di quale sia quello corretto? Esegui xevquindi tocca il Super giusto un paio di volte. Da qualche parte nel labirinto dell'output è " keycode = 133 "(con un numero diverso)). Esegui il comando xmodmap

keycode 133 = Super_R

per rinominare la chiave, quindi

add mod4 = Super_R

per assegnarlo a Super.


Innanzitutto grazie per aver trascorso del tempo per me. Quando ho digitato "remove mod4 = Super_L" nel terminale ho ricevuto questo messaggio: remove mod4 = Super_L: comando non trovato . Schermata: i.imgur.com/fbvEA.png
Sandy,

1
Questo è un comando per l'utilità xmodmap. Devi eseguirlo con uno dei metodi che ho dato nella prima sezione. Ho modificato la mia risposta per renderlo più chiaro.
Pconley,

Potresti anche dirmi come eseguire questi comandi all'avvio?
Sandy,

Quando accedi o quando il sistema si avvia? Se il primo, basta inserire i comandi nel file '.xmodmap' nella directory home; quest'ultimo sarebbe più appropriato per una domanda separata sulla falsariga di "come eseguire uno script all'avvio" (presumibilmente tali domande sono state poste prima).
Pconley,

Per me non ha funzionato senza keyum . keysym Super_L = Control_L
Aliaksandr Sushkevich,

19

Riga di comando:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Oppure inserisci ~/.Xmodmapper attivare all'avvio:

remove mod4 = Super_L
add control = Super_L

4

Su Ubuntu, puoi modificare /etc/default/keyboarde impostare:

XkbOptions = "altwin: ctrl_win"

Quale:

Ctrl è associato ai tasti Win (e ai soliti tasti Ctrl)

Leggi man 5 keyboardper maggiori informazioni. Puoi trovare tutte le possibili combinazioni di opzioni sul tuo sistema facendo:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win

2

Se vuoi avere a che fare con una GUI:

  1. Installa / apri Tweaks di Gnome
  2. Clic Keyboard & Mouse
  3. Clic Additional Layout Options
  4. Espandere Ctrl position
  5. Selezionare Swap Left Win with Left Ctrl

1

Prova con questo:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Inserisci le righe sopra nel tuo ~/.Xmodmaped esegui xmodmap ~/.Xmodmap.

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.