Come mappare il tasto BLOC MAIUSC sul tasto ESC in Arch Linux


23

Il mio sistema operativo è Arch Linux amd64, Gnome ENV.

Voglio mappare la Caps Lockchiave per Esc(escape) in Arch Linux. Eseguo il comando:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

Funziona bene, ma un attimo dopo, il tasto BLOC MAIUSC funziona di nuovo. E devo eseguire nuovamente il comando.

Sono abbastanza sicuro che questa soluzione abbia funzionato bene forse un anno fa. Qual è il mio problema? Qualcuno può aiutarmi a mappare il tasto BLOC MAIUSC sul tasto ESC per sempre nel mio sistema operativo Arch Linux?

Risposte:


47

Uno dei seguenti (in ordine crescente di complessità):

  1. Utilizzare setxkbmapper rimappare la chiave (non richiede un demone ed è indipendente dall'ambiente desktop o dal gestore finestre). Non dimenticare di aggiungere il comando prima della riga exec gnome-session(o simile) nella tua ~/.xinitrco ~/.xsession:

    setxkbmap -option caps:escape
    

setxkbmappuò essere trovato nel pacchetto extra / xorg-setxkbmap .

  1. dconf-editororg.gnome.desktop.input-sources.xkb-options→ Aggiungi caps:escapeal campo sopracitato.
  2. gnome-session-settings → Programmi di avvio → Aggiungi → Nome = Rimappa blocco maiuscole per uscire, comando =setxkbmap -option caps:escape
  3. Crea un layout di tastiera personalizzato

Cordiali saluti, ho ottenuto la regola XKB da grep ping /usr/share/X11/xkb/rulesper capse esc.


2
Il metodo dconf ha funzionato perfettamente per me grazie!
Keith Smiley,

Grazie per no. 2. Stavo cercando quelle informazioni da anni. No, posso impostarlo sulla riga di comando tramitegsettings org.gnome.desktop.input-sources xkb-options ['caps:none', 'numpad:pc', 'numpad:mac']
Oliver Jan Krylow,

Per quanto riguarda il n. 1: se si desidera scambiarlo anziché disporre di due chiavi di escape, è possibile eseguire setxkbmap -option caps:swapescape.
comfreak

5

Per l'uso in X, la pagina Arch Wiki Gnome contiene istruzioni per modificare la tastiera con XkbOptions :

Usando l'editor dconf, vai alla chiave denominata org.gnome.desktop.input-sources.xkb-options e aggiungi le XkbOptions desiderate (es. "Caps: swapescape") all'elenco.

Nella console è possibile creare una mappa di tasti personalizzata per lo stesso effetto. Crea la tua keymap personale con le modifiche necessarie per CapsLocke Escapein /usr/share/kbd/keymaps/i386/qwerty/yourmapquel tarmomento e includi una linea /etc/vconsole.confper chiamarla:

KEYMAP=yourmap

3

xorg.conf

Puoi farlo modificando il file /etc/X11/xorg.conf.d/00-keyboard.conf.

File di esempio:

Section "InputClass"
        Identifier      "system-keyboard"
        MatchIsKeyboard     "on"
        Option          "XkbLayout" "us"
        Option          "XkbModel"  "pc104"
        Option          "XkbOptions" "caps:swapescape"
EndSection  

È possibile specificare più XkbOptions, ad esempio caps:swapcaps,terminate:ctrl_alt_bkspper aver esc e tappi scambiato, ma anche permettendo al X per essere ucciso con CtrlAlt Backspace. Puoi trovare maggiori informazioni al riguardo in man xkeyboard-config.

GUI

Puoi anche usare GNOME Tweak Tool (pacchetto gnome-tweak-tool). Basta fare clic su Typinge quindi scegliere quello che ti piace dal Ctrl positionmenu (vedi immagine sotto).

inserisci qui la descrizione dell'immagine


2

Puoi usare xmodmap. Metti il ​​tuo ~/.Xmodmap:

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

(assicurati che all'inizio X userà il tuo ~/.Xmodmap)


Questa è la risposta corretta, distro-agnostica e desktop-agnostica.
dotancohen,

Quando lo inserisco ~/.Xmodmap, non succede nulla :(
Jan Warchoł,

Metti la linea xmodmap ~/.Xmodmapal tuo ~/.xinitrc!
uzsolt,

Quando lo inserisco ~/.Xmodmape poi corro, xmodmap ~/.Xmodmapricevo degli errori:xmodmap: .Xmodmap:1: bad remove modifier name 'lock=caps_lock', not allowed xmodmap: .Xmodmap:2: bad keysym target key symbol 'Escape=Caps_Lock' xmodmap: .Xmodmap:3: bad keysym target key symbol 'Caps_Lock=Escape' xmodmap: .Xmodmap:4: bad add modifier name 'lock=caps_lock', not allowed xmodmap: 4 errors encountered, aborting
comfreak

Avrai bisogno di spazi attorno al segno uguale. Ho modificato la risposta.
uzsolt

0

! Non so perché le risposte sopra non funzionino. Eccone uno funzionante per me. Nella tua ~ / .Xmodmap

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

e poi

$ xmodmap ~/.Xmodmap

Sto usando Fedora e il gestore delle finestre non Gnome. HTH


0

Il file /etc/X11/xorg.conf.d/00-keyboard.confpuò anche essere generato automaticamente utilizzando systemd-localed. Utilizzare il comando seguente:

localectl set-x11-keymap us "" "" caps:escape

Oppure, tra cui alcune altre opzioni utili:

localectl set-x11-keymap us,de "" "" caps:escape,grp:alt_caps_toggle,grp_led:caps,lv3:ralt_switch_multikey,terminate:ctrl_alt_bksp,eurosign:e,rupeesign:4

Spiegazioni rapide:

  • CapsLk funziona come Esc
  • Alterna tra due layout di tastiera us/ decon Alt+CapsLk
  • Il LED CapsLk indica quale layout è attivo
  • Right Alt ( RAlt) è il "multikey" (vedi Compose Key )
    • RAlt+ egenera
    • RAlt+ 4genera (simile a come Shift+ 4genera $)
  • Ctrl+ Alt+ Backspaceuccide X
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.