Cómo asignar la tecla Bloq Mayús a la tecla Escape en Arch Linux

23

Mi sistema operativo es Arch Linux amd64, Gnome ENV.

Quiero mapear la Caps Lockclave para Esc(escape) en Arch Linux. Ejecuto el comando:

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

Funciona bien, pero un momento después, la tecla Bloq Mayús vuelve a funcionar. Y debo ejecutar el comando nuevamente.

Estoy bastante seguro de que esta solución funcionó bien tal vez hace un año. Cual es mi problema ¿Alguien puede ayudarme a asignar la tecla Bloq Mayús a la tecla Escape para siempre en mi sistema operativo Arch Linux?

G-Man dice 'restablecer a Monica'
fuente

Respuestas:

47

Cualquiera de los siguientes (en orden creciente de complejidad):

  1. Úselo setxkbmappara reasignar la clave (no requiere un demonio y es independiente de su entorno de escritorio o administrador de ventanas). No olvide agregar el comando antes de la línea exec gnome-session(o similar) en su ~/.xinitrco ~/.xsession:

    setxkbmap -option caps:escape
    

setxkbmapse puede encontrar en el paquete extra / xorg-setxkbmap .

  1. dconf-editororg.gnome.desktop.input-sources.xkb-options→ Añadir caps:escapeal campo mencionado anteriormente.
  2. gnome-session-settings → Programas de inicio → Agregar → Nombre = Volver a asignar bloqueo de mayúsculas para escapar, comando =setxkbmap -option caps:escape
  3. Crea un diseño de teclado personalizado

Para su información, obtuve la regla XKB por grep de ping /usr/share/X11/xkb/rulespara capsy esc.

pilona
fuente
2
El método dconf funcionó perfectamente para mí, gracias!
Keith Smiley
Gracias por no 2. Estaba buscando esa información por años. No, puedo configurar esto en la línea de comando a través degsettings org.gnome.desktop.input-sources xkb-options ['caps:none', 'numpad:pc', 'numpad:mac']
Oliver Jan Krylow
En cuanto a no. 1: Si desea intercambiarlo en lugar de tener dos teclas de escape, puede ejecutar setxkbmap -option caps:swapescape.
Comfreak
5

Para su uso en X, la página Arch Wiki Gnome tiene instrucciones para modificar el teclado con XkbOptions :

Usando el editor dconf, navegue a la clave llamada org.gnome.desktop.input-sources.xkb-options y agregue las XkbOptions deseadas (por ejemplo, 'mayúsculas: swapescape') a la lista.

En la consola, puede crear un mapa de teclas personalizado para el mismo efecto. Cree su mapa de teclas personal con los cambios necesarios para CapsLocky Escapeen /usr/share/kbd/keymaps/i386/qwerty/yourmapese tarmomento e incluya una línea /etc/vconsole.confpara llamarlo:

KEYMAP=yourmap

fuente
3

Xorg.conf

Puede lograr esto editando el archivo /etc/X11/xorg.conf.d/00-keyboard.conf.

Archivo de ejemplo:

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

Se pueden especificar varios XkbOptions, por ejemplo, caps:swapcaps,terminate:ctrl_alt_bksppor tener esc y tapas intercambiado sino que también permite la X para ser muerto CtrlAlt Backspace. Puede encontrar más información sobre esto en man xkeyboard-config.

GUI

También puede usar GNOME Tweak Tool (paquete gnome-tweak-tool). Simplemente haga clic en Typingy luego elija lo que quiera del Ctrl positionmenú (vea la imagen a continuación).

ingrese la descripción de la imagen aquí

mosca de espuma de poliestireno
fuente
2

Puedes usar xmodmap. Pon tu ~/.Xmodmap:

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

(asegúrese de que al comenzar X usará su ~/.Xmodmap)

uzsolt
fuente
Esta es la respuesta correcta, independiente de la distribución y del escritorio.
dotancohen
Cuando pongo esto ~/.Xmodmap, no pasa nada :(
Jan Warchoł
¡Ponle línea xmodmap ~/.Xmodmapa tu ~/.xinitrc!
uzsolt
Cuando pongo esto ~/.Xmodmapy luego ejecuto xmodmap ~/.Xmodmapme salen errores: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
Necesitarás espacios alrededor del signo igual. Modifiqué la respuesta.
uzsolt
0

! No sé por qué las respuestas anteriores no funcionan. Aquí hay uno que funciona para mí. En su ~ / .Xmodmap

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

y entonces

$ xmodmap ~/.Xmodmap

Estoy usando Fedora y un administrador de ventanas que no es Gnome. HTH

John Chain
fuente
0

El archivo /etc/X11/xorg.conf.d/00-keyboard.conftambién se puede generar automáticamente mediante systemd-localed. Use el siguiente comando:

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

O, incluidas algunas otras opciones útiles:

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

Explicaciones rápidas:

  • CapsLk funciona como Esc
  • Alterna entre dos distribuciones de teclado us/ decon Alt+CapsLk
  • El LED CapsLk indica qué diseño está activo
  • Alt ( RAlt) derecho es el "multiciclo" (vea la tecla Componer )
    • RAlt+ egenera
    • RAlt+ 4genera (similar a cómo Shift+ 4genera $)
  • Ctrl+ Alt+ Backspacemata X
Friederbluemle
fuente