¿Cómo vuelvo a asignar la tecla de bloqueo de mayúsculas?

69

En el pasado solía usar xmodmappara evitar que el Caps Lockbotón funcionara, y luego le decía a Launchy que manejara la presión de la tecla. Parece que ya no puedo hacer esto.

¿Cuál es la mejor manera de deshabilitar Caps Lockel comportamiento normal y hacer que haga algo más?

Mehrdad
fuente
1
Para Ubuntu 14.04, consulte askubuntu.com/q/444714/25388
Léo Léopold Hertz 준영

Respuestas:

71

De howtogeek.com que tiene una buena respuesta para cualquier sistema operativo.

Para Linux (incluido Ubuntu):

setxkbmap -option <OPTION>

Donde <OPTION>puede ser por ejemplo de:

  • caps:none - Desactiva el bloqueo de mayúsculas.
  • caps:super- Bloqueo de mayúsculas se convierte en un Súper adicional (también conocido como tecla Win).
  • caps:ctrl_modifier- Bloqueo de mayúsculas se convierte en un Ctrl adicional .
  • caps:numlock- El bloqueo de mayúsculas se convierte en un bloqueo numérico adicional .
  • caps:escape- Bloqueo de mayúsculas se convierte en un escape adicional .
  • caps:backspace- Bloqueo de mayúsculas se convierte en un Retroceso adicional .
  • caps:swapescape - Caps Lock se convierte en Escape, y Escape se convierte en Caps Lock

Nota: Xmodmap está en desuso a favor de setxkbmap.

Wernight
fuente
3
te amo hombre, gracias, funciona para ubutnu 14.10
Andrzej Rehmann
2
¡funciona en ubuntu 15.10 también! ¡Gracias!
Donatello
66
agradable y simple, funciona en 16.04
chepyle
44
Para restaurar cualquier setxkbmapcambio (es decir, si necesita que la tecla Mayús vuelva a su ubicación original) solo necesita ejecutar esto:setxkbmap -option
landroni
1
Si reasignó la tecla Capslock a retroceso y ahora se pregunta por qué no eliminará palabras si la mantiene presionada, es porque necesita usar un comando adicional. Luego de setxkbmap -option caps:backspaceentrar xset r 66y voilá.
Gabriel
19

Puede deshabilitarlo yendo al teclado-> Diseños-> opciones-> comportamiento de bloqueo de mayúsculas y elija "deshabilitar bloqueo de mayúsculas".


Editar :

No sé por qué parece inconveniente con otras teclas del teclado.

Pero Launchy funciona bien conmigo después de probarlo con CTRL+ Super+ Space.

ingrese la descripción de la imagen aquí

Y debe incluir launchyen la lista blanca los iconos de la bandeja. Consulte ¿Cómo accedo y habilito que haya más iconos en la bandeja del sistema? . También debe agregarlo a las aplicaciones de Inicio, ya que no funcionará cuando no se abra.


Después de todo, como alternativa a Launcy, prueba Synapse para su mejor integración con gnome y unit.

Vida binaria
fuente
Esta opción no parece estar disponible para mí en Ubuntu 15.04.
MichielB
19

En Ubuntu 11.10 - 13.04

  1. Abra la aplicación Distribución del teclado y haga clic en el botón "Opciones".
  2. Aparecerá una lista de opciones de encuadernación. Seleccione "Comportamiento de la tecla Bloq Mayús".
  3. Seleccione su opción preferida de reutilización de Bloq Mayús.

Captura de pantalla de las opciones disponibles.

Jjed
fuente
1
@JacobJohanEdwards Nota personal, verifique si xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'aún funciona.
Jjed
Para los usuarios de vim, 'Practical Vim' recomienda asignar el bloqueo de mayúsculas a ctrl en el nivel del sistema. Distribución del teclado> Opciones> Posición de la tecla Ctrl> Bloq Mayús mientras Ctrl hace el truco.
rpattabi
12
Estas configuraciones ya no existen en 13.10. Instalar gnome-tweak-tool, allí tendrá configuraciones similares en "Mecanografía".
pcworld
Esto no me funciona en Ubuntu 12.10. Jugar con esos ajustes en el centro de control de gnomos no parece tener ningún efecto.
Andrew Wagner
44
¿Por qué eliminaron estas opciones de 14.04?
Léo Léopold Hertz 준영
16

Esto es básicamente una modificación de la respuesta proporcionada en https://askubuntu.com/a/223674/22073 .

También puede modificar el comportamiento de Bloq Mayús usando un XKBOption. Estos cambios incluso se propagan a las consolas virtuales (/ dev / tty [1-6] o Ctrl-Alt-F [1-6]).

Por ejemplo, para desactivar el bloqueo de mayúsculas, tendría lo siguiente en /etc/default/keyboard:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

Entonces correrás:

sudo dpkg-reconfigure keyboard-configuration

Para obtener una lista completa de las personalizaciones de XKBOPTIONS, eche un vistazo /usr/share/X11/xkb/rules/base.lst. Aquí está la lista completa de mi máquina Ubuntu 13.10: http://sprunge.us/cUZO

Se puede encontrar aún más información en la wiki de ArchLinux: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg

Ehtesh Choudhury
fuente
Perfecto, estoy usando XKBOPTIONS="ctrl:swapcaps"para intercambiar Ctrl Izquierda con Mayúsculas.
Márcio
Funciona el 16.04 en X y las consolas virtuales.
jfs
11

Para reasignar el inútil caps_lock en un cambio básico, haz

xmodmap -e "keycode 66 = Shift_L"
Jobwat
fuente
Esto no persiste después de reiniciar.
Czarek Tomczak
3
Para que persista después del reinicio, haga: Inicio de Ubuntu Dash> Aplicaciones de inicio> Agregar> Escriba el comando anterior.
Czarek Tomczak
7

El siguiente método utiliza la combinación de Compiz para iniciar una aplicación cuando se presiona una tecla.

En resumen -

  1. cambie el comportamiento de la tecla Bloq Mayús para imitar otra tecla.
  2. Configure compiz para escuchar la clave recién imitada y ejecute un script personalizado.

Cambiar la tecla de bloqueo de mayúsculas

Demasiado cambiar el comportamiento de la tecla de bloqueo de mayúsculas, puede usar xmodmaplo siguiente:

  • crear un archivo, por ejemplo, "capslock"
  • copia y pega lo siguiente en el archivo
keycode 66 = cent
clear Lock
add Control = cent
  • ahora ejecute xmodmap para reconocer su cambio:

xmodmap capslock

Para ejecutarlo permanentemente, agregue este comando a las aplicaciones de inicio.

Al presionar el bloqueo de mayúsculas ahora solo se imita presionar una tecla "centavo"; tenga en cuenta que esta no es una tecla que realmente exista en mi teclado.

Puede obtener una lista de nombres KeySym desde aquí .

Configurar Compiz

Inicie el Administrador de configuración de CompizConfig

En la sección general, asegúrese de que "Comandos" esté habilitado y configure un comando como se muestra:

ingrese la descripción de la imagen aquí

NB habilite la combinación de teclas y use la "combinación de teclas de captura" para reconocer su tecla "centavo". Desafortunadamente, no puede obtener compiz para reconocer la tecla de bloqueo de mayúsculas.

ingrese la descripción de la imagen aquí

Obviamente, cambie "firefox" por cualquier comando que use para iniciar "launchy"

Ahora, cuando presione la tecla Bloq Mayús, compiz reconocerá la tecla "cent" asignada y ejecutará el comando, en este caso firefox, en su caso "launchy".

fossfreedom
fuente
Después de unos minutos, la configuración regresa, y nuevamente el bloqueo de mayúsculas tiene el comportamiento habitual.
Vitaly Zdanevich
5
  1. Usa el comando xev. Cuando presionas enter, xev se iniciará. xev toma toda su información de entrada e información sobre la clave en la línea de comando. Recomiendo colocar el mouse sobre la tecla de salida de la ventana xev, presionar el bloqueo de mayúsculas (o cualquier tecla que desee averiguar) e inmediatamente salir de xev. Las líneas relevantes en mi sistema, para el bloqueo de mayúsculas, se parecen a:

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Aviso keycode(66) y keysym(0xffe5).

    Ahora también podría obtener datos para otra clave, una que realmente no usa y que, en el contexto en el que desea usar el botón de bloqueo de mayúsculas, no hace nada. Por lo tanto, si desea que el bloqueo de mayúsculas active el cuadro de búsqueda de Unity (como lo hace super normalmente), puede usar `, por ejemplo. En mi máquina

    keycode 49 (keysym 0x60, grave)
    
  2. Vincula la función de la nueva tecla al botón Bloq Mayús, usando xmodmap. Estoy bastante seguro de que desea utilizar un comando como:

    xmodmap -e "keycode 66=0x60"
    

    Ahora, si presiona el botón de bloqueo de mayúsculas físicas en un cuadro de texto, aparecerá el carácter grave (`). Pero si le asigna una tecla de acceso directo, hará otra cosa. Si desea poder usarlo en un cuadro de texto, quizás reemplace el bloqueo de mayúsculas con el desplazamiento a la izquierda, o f10, o algo más que no parezca que interfiera con el comando que desea usar.

  3. Pruébelo para asegurarse de que el comando que le di funciona de la manera que desea.

  4. Vaya a las aplicaciones de inicio y agregue ese comando a sus aplicaciones de inicio. De esta manera, la tecla cambiará correctamente cada vez que inicie.

  5. Danza.

(gritar a la sorpresa) Cambiar combinaciones de teclas (hardware a software)

Además, para obtener más ayuda sobre xmodmap:

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html

Daniel
fuente
5

Ubuntu 16.04

setxkbmap -option <OPTION> La respuesta de Wernight parecía funcionar de inmediato para mí.

Sin embargo, desaparecería al reiniciar. Para abordar esto, agregué a mis aplicaciones de inicio

  1. Busque y ejecute Startup Applications>> Haga clic en Agregar
  2. Poner /usr/bin/setxkbmap -option <OPTION>como comando (Nota: la ruta completa es importante)

Reemplazar <OPTION>con algo como caps:escape(lo uso para vi)

Antecedentes

Acabo de actualizar de 15.10 a 16.04 y todo lo que solía asignar esto antes de dejar de funcionar.

Anthony Astige
fuente
2

La opción que encontré mejor para mí (en cualquier wm / de compatible con X) es agregar

Option "XkbOptions" "caps:swapescape"

dentro de

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

bloquee /etc/X11/xorg.conf.d/00-keyboard.conf (cree si es necesario).

Roman Riesen
fuente
1

aunque, por supuesto, la opción xmodmap funcionaría, quería encontrar una opción que use la GUI. Esto está disponible para mí (usando Ubuntu 15.10):

  • instalar gnome-tweak-tool
  • ir a "escribir"
  • en "Comportamiento de la tecla Bloq Mayús", elija "Bloq Mayús desactivado"
MichielB
fuente
-1

La solución más robusta es comprar un teclado que le permita reasignar teclas en el firmware, es decir, un teclado profesional programable.

Estos generalmente cuestan alrededor de 200 dólares y también tienen interruptores de llave mecánicos de alto grado. Son caros, pero son la única forma de evitar tener que luchar con esto en cada nueva máquina en la que te sientas, y cada vez que los desarrolladores hacen cambios importantes en la infraestructura del sistema operativo tan fundamental como el mapa del teclado.

Andrew Wagner
fuente
1
Esto no ayuda con una computadora portátil.
wallyk