Esto parece una tarea estándar para un programador que usa vim; de ahí mi voto para reabrir
Jeromy Anglim
44
Una alternativa es asignar el bloqueo de mayúsculas al control (Preferencias del sistema> Teclado> Teclas modificadoras) y ejecutar la secuencia de escape Ctrl + [para esc. Útil para Vim.
Editar: como se describe en esta respuesta , las versiones más nuevas de MacOS ahora tienen soporte nativo para volver Caps Locka vincular Escape. Por lo tanto, ya no es necesario instalar software de terceros para lograr esto.
Aquí está mi intento de una respuesta visual completa y exhaustiva (con enlaces) sobre cómo lograr esto usando Seil (anteriormente conocido como PCKeyboardHack).
Primero, vaya a Preferencias del sistema , elija Teclado , luego la pestaña Teclado (primera pestaña) y haga clic en Teclas modificadoras :
En el cuadro de diálogo emergente, configure la tecla Bloq Mayús en No Action:
3) Después de la instalación, tendrá una nueva aplicación instalada (Mountain Lion y más reciente) y si está en un sistema operativo anterior, es posible que tenga que buscar un nuevo panel de Preferencias del sistema:
4) Marque la casilla que dice "Cambiar bloqueo de mayúsculas" e ingrese "53" como código para la tecla de escape:
¡Y tu estas listo! Si no funciona de inmediato, es posible que deba reiniciar su máquina.
¿Impresionado? ¿Quieres más control?
También es posible que desee consultar KeyRemap4MacBook, que es en realidad la herramienta de reasignación de teclado insignia de pqrs.org- también es gratis.
Si te gustan estas herramientas puedes hacer una donación . No estoy afiliado con ellos, pero he estado usando estas herramientas durante mucho tiempo y tengo que decir que los muchachos de allí han estado haciendo un excelente trabajo para mantenerlas, agregar funciones y corregir errores.
Aquí hay una captura de pantalla para mostrar algunas de las (cientos de) opciones preseleccionables:
PQRS también tiene una gran utilidad llamada NoEjectDelay que puede usar en combinación con KeyRemap4MacBook para reprogramar la tecla Eject. Después de un pequeño ajuste, tengo el mío configurado para activar el AirPort Wifi.
Estas utilidades ofrecen flexibilidad ilimitada al reasignar el teclado de Mac. ¡Que te diviertas!
Me gustaría aclarar que he estado usando PCKeyboardHack solo sin KeyRemap4Macbook durante casi 2 años para hacer exactamente esto.
rossipedia
13
Tenga en cuenta que si usa un teclado externo, debe repetir el paso uno (es decir, bloqueo de mayúsculas = sin acción) para cada teclado. No pude hacer este paso para mi teclado externo y, como resultado, el bloqueo de mayúsculas no respondió a las pulsaciones de teclas muy rápidas debido a la protección accidental del bloqueo de mayúsculas. superuser.com/questions/317900/eliminate-macbook-capslock-delay
Jeromy Anglim
11
Gran tutorial Mapeé Caps Lock a Esc durante aproximadamente un año. Fue tremendamente eficiente. Un día, sin embargo, me estaba emparejando con un desarrollador senior. Le dije que usaba a Vim como mi editor principal. Yo también, dijo. Abrió su máquina y comenzamos a trabajar. Cuando llegó mi turno de editar el código, busqué y tropecé todo porque su Bloq Mayús no estaba mapeado. Seguí intentando llegar hasta Esc, pero golpeé Caps de vez en cuando y luego cambiaron mis comandos normales. Me enseñó que Ctrl-c también lo devolverá al modo Visual. Hazte un favor y comienza a usar Ctrl-c.
Sería genial si también pudieras editar y mencionar en la parte superior que esta es ahora una característica nativa en macOS 10.12.1 según la respuesta de @ rkusa para que los nuevos usuarios no tengan que descargar software de terceros
edhurtig
309
Desde macOS 10.12.1 es posible reasignar Caps Lockde Escforma nativa (Preferencias del sistema -> Teclado -> Teclas modificadoras).
¡Increíble! Encontré esto después de escuchar que el nuevo MBP no tendría una clave de escape. Parece que Apple anticipó alguna reacción violenta.
Andy E
1
Ejecutando El Capitan 10.11.6 y esta configuración ya está disponible.
zool
1
Gracias a Dios por esto; Después de que Sierra rompió Seil / Karabiner, pensé que estaba condenado.
Philip
44
Curiosamente, estoy en 10.11.6 y no tengo esta opción. Solo se me permite reasignar esc a caps, ctrl, opt o command. Esto es cierto para mis teclados WASD v2.
Por ejemplo, para reasignar el bloqueo de mayúsculas para escapar, consulte la tabla de claves y descubra que el bloqueo de mayúsculas tiene el código de uso 0x39 y escape tiene el código de uso 0x29. Pon estos códigos o con el valor hexadecimal 0x700000000 en la fuente y dest así:
Puede agregar otras asignaciones en el mismo comando. Personalmente, me gusta reasignar el bloqueo de mayúsculas al retroceso y reasignar el retroceso para eliminar:
Gracias por esto, +1! Agregué algunas notas tangenciales a la publicación de Apple que, con suerte, agregará algo de valor a las personas pobres que no queremos una tecla Esc pero no en el bloqueo de mayúsculas.
tripleee
Gran método para MacBooks que tienen problemas con el teclado incorporado. El mío estaba causando problemas con la configuración del teclado, por lo que no pude reasignar ninguna tecla allí.
Igor
No pude hacer que esto funcionara correctamente con el LoginHookmétodo. ¿Supongo que algo después de que se ejecuta selecciona la configuración de mi teclado local para un teclado escandinavo? De todos modos, stackoverflow.com/a/22872222/874188 señala que LoginHookestá en desuso y recomienda su uso launchd.
Vaya a PCKeyboardHack en Preferencias del sistema.
Habilite 'Cambiar bloqueo de mayúsculas' y establezca el código clave en 53.
Solución 2
Esta solución no implica parchear el controlador del teclado, pero le brinda una solución específica de Vim.
OS X admite la asignación de la tecla Bloq Mayús a un conjunto completo de teclas, pero debe hacerlo 'a mano', editando archivos .plist. El proceso se describe en este artículo . Como anexo a esa sugerencia, le sugiero que primero configure Caps-Lock en None en las Preferencias del Sistema, luego solo necesita cambiar un valor en el archivo .plist. Además, por supuesto, puede usar el Editor de lista de propiedades en lugar de seguir los pasos de conversión XML.
El truco consiste en asignar la tecla Bloq Mayús a la tecla Ayuda (código 6), que no se encuentra en la mayoría de los teclados. Pero si es así, se tratará como la tecla de inserción, que probablemente no use de todos modos, ya que pregunta sobre la reasignación de su Bloq Mayús para evitar estirar las manos;)
Luego puede asignar la Ayuda y la Insertclave a Escen vim.
Esto funcionará para gvim (Vim.app). No lo hice funcionar con vim en la Terminal y no lo he probado con MacVim.
Por lo tanto, es una solución bastante complicada, a medias, o la instalación de una piratería de terceros. Tu selección ;)
Editar: Acabo de notar la solución 3, si está usando MacVim puede usar Ctrl, Optiony Commandcomo Esc. Con las preferencias del sistema, es trivial asignar el bloqueo de mayúsculas a una de esas teclas.
Lo único que sé hacer es asignar el bloqueo de mayúsculas al control, a la opción o al comando. Esto se puede hacer a través del panel Teclado y mouse de Preferencias del sistema. Haga clic en "Teclas modificadoras" en la parte inferior izquierda y podrá reasignar Bloq Mayús, Control, Opción y Comando, a cualquiera de ellos.
@Craig: Esto sugiere que el Bloqueo de mayúsculas se puede usar como una tecla normal, es decir, sin alternar. En mi MacBook, dado que he vuelto a asignar el bloqueo de mayúsculas al control, la luz de bloqueo de mayúsculas nunca se enciende. Simplemente actúa como la tecla Control.
Estoy usando github.com/tekezo/Karabiner-Elements (que funciona en Sierra). Funciona muy bien hasta ahora, aunque desearía que hiciera "Control_L a Control_L (+ cuando escribe Control_L solamente, envíe Escape)"
atomkirk
1
@atomkirk ¿Te importaría compartir la configuración de Karabiner JSON que usaste?
Karabiner me hizo el truco con el JSON de atomkirk. A pesar de la captura de pantalla anterior, la interfaz de usuario de Keyboard Maestro es un desastre y no pude configurarla.
Paul
10
Después de haber probado varias de estas soluciones, tengo algunas notas:
DoubleCommand le no se permitirá a esc swap y bloquear las mayúsculas.
PCKeyboardHack te permitirá mapear el bloqueo de mayúsculas para escapar,pero no tiene la capacidad de mapear el escape al bloqueo de mayúsculas. Las versiones recientes le permitirán realizar un intercambio completo editando ambas teclas.
Esto puede o no ser suficiente para sus necesidades (sé que es para las mías).
PCKeyboardHack no le permite asignar el escape al bloqueo de mayúsculas, pero la aplicación complementaria KeyRemap4MacBook sí. Le permite asignar "Escape a CapsLock" y "Shift + Escape a CapsLock".
Rory O'Kane
9
En caso de que no desee instalar una aplicación de terceros y realmente solo le importe vim dentro de iTerm, lo siguiente funciona:
Vuelva a asignar CapsLock para ayudar como se describe aquí .
Versión corta: use plutil o similar para editar ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, debería ser similar a esto:
¡Reiniciar! Un simple cierre de sesión e inicio de sesión no funcionó para mí.
En iTerm, agregue una nueva asignación de teclas para la Ayuda: envíe el código hexadecimal 0x1b, que corresponde a Escape.
Sé que esto no es exactamente lo que se solicitó, pero supongo que la intención de muchas personas que buscan una solución como esta es en realidad esta variante más especializada.
Para intercambiar realmente la tecla de escape con la tecla de bloqueo de mayúsculas (no solo mapear una a la otra) usando PCKeyboardHack y KeyRemap4MacBook, debe seguir las instrucciones en este hilo , mapeando la tecla de bloqueo de mayúsculas a un código clave no utilizado por el teclado pero explicado por KeyRemap4MacBook (por ejemplo, 110). Luego, en PCKeyboardHack, seleccione la opción apropiada que mapea ese código clave para escapar (en el caso de 110, es "Clave de aplicación para escapar"). Así es como deberían verse sus preferencias de KeyRemap4MacBook (siempre que haya seleccionado la casilla de verificación "mostrar solo habilitado").
Originalmente intenté publicar esta información como una edición a la excelente respuesta de cwd , pero fue rechazada. Animo a cualquiera que quiera tomar la ruta que describo para que lea primero su respuesta.
Abra las preferencias del teclado y haga clic en las teclas modificadoras ... puede cambiar la tecla de bloqueo de mayúsculas para controlar, opción, escape o comando.
Ctrl + [
paraesc
. Útil para Vim.Respuestas:
Editar: como se describe en esta respuesta , las versiones más nuevas de MacOS ahora tienen soporte nativo para volver Caps Locka vincular Escape. Por lo tanto, ya no es necesario instalar software de terceros para lograr esto.
Aquí está mi intento de una respuesta visual completa y exhaustiva (con enlaces) sobre cómo lograr esto usando Seil (anteriormente conocido como
PCKeyboardHack
).En el cuadro de diálogo emergente, configure la tecla Bloq Mayús en
No Action
:2) Ahora, haga clic aquí para descargar Seil e instalarlo:
3) Después de la instalación, tendrá una nueva aplicación instalada (Mountain Lion y más reciente) y si está en un sistema operativo anterior, es posible que tenga que buscar un nuevo panel de Preferencias del sistema:
4) Marque la casilla que dice "Cambiar bloqueo de mayúsculas" e ingrese "53" como código para la tecla de escape:
¡Y tu estas listo! Si no funciona de inmediato, es posible que deba reiniciar su máquina.
¿Impresionado? ¿Quieres más control?
También es posible que desee consultar KeyRemap4MacBook, que es en realidad la herramienta de reasignación de teclado insignia de
pqrs.org
- también es gratis.Si te gustan estas herramientas puedes hacer una donación . No estoy afiliado con ellos, pero he estado usando estas herramientas durante mucho tiempo y tengo que decir que los muchachos de allí han estado haciendo un excelente trabajo para mantenerlas, agregar funciones y corregir errores.
Aquí hay una captura de pantalla para mostrar algunas de las (cientos de) opciones preseleccionables:
PQRS también tiene una gran utilidad llamada NoEjectDelay que puede usar en combinación con KeyRemap4MacBook para reprogramar la tecla Eject. Después de un pequeño ajuste, tengo el mío configurado para activar el AirPort Wifi.
Estas utilidades ofrecen flexibilidad ilimitada al reasignar el teclado de Mac. ¡Que te diviertas!
fuente
CTRL-[
es en realidad el equivalente apropiado de ESC. stackoverflow.com/questions/5030164/…Desde macOS 10.12.1 es posible reasignar Caps Lockde Escforma nativa (Preferencias del sistema -> Teclado -> Teclas modificadoras).
fuente
No estaba contento con ninguna de las respuestas aquí, y fui a buscar una solución de línea de comandos .
En macOS Sierra 10.12, Apple introdujo una nueva forma para que los usuarios reasignen claves.
Si eso te parece bien, échale un vistazo
hidutil
.Por ejemplo, para reasignar el bloqueo de mayúsculas para escapar, consulte la tabla de claves y descubra que el bloqueo de mayúsculas tiene el código de uso 0x39 y escape tiene el código de uso 0x29. Pon estos códigos o con el valor hexadecimal 0x700000000 en la fuente y dest así:
Puede agregar otras asignaciones en el mismo comando. Personalmente, me gusta reasignar el bloqueo de mayúsculas al retroceso y reasignar el retroceso para eliminar:
Para ver el mapeo actual:
Sus cambios se perderán al reiniciar el sistema. Si desea que persistan, póngalos en un script y configure un enlace de inicio de sesión:
fuente
LoginHook
método. ¿Supongo que algo después de que se ejecuta selecciona la configuración de mi teclado local para un teclado escandinavo? De todos modos, stackoverflow.com/a/22872222/874188 señala queLoginHook
está en desuso y recomienda su usolaunchd
.Es posible.
Solución 1
Desde un artículo en TrueAffection.net.
Solución 2
Esta solución no implica parchear el controlador del teclado, pero le brinda una solución específica de Vim.
OS X admite la asignación de la tecla Bloq Mayús a un conjunto completo de teclas, pero debe hacerlo 'a mano', editando archivos .plist. El proceso se describe en este artículo . Como anexo a esa sugerencia, le sugiero que primero configure Caps-Lock en None en las Preferencias del Sistema, luego solo necesita cambiar un valor en el archivo .plist. Además, por supuesto, puede usar el Editor de lista de propiedades en lugar de seguir los pasos de conversión XML.
El truco consiste en asignar la tecla Bloq Mayús a la tecla Ayuda (código 6), que no se encuentra en la mayoría de los teclados. Pero si es así, se tratará como la tecla de inserción, que probablemente no use de todos modos, ya que pregunta sobre la reasignación de su Bloq Mayús para evitar estirar las manos;)
Luego puede asignar la Ayuda y la Insertclave a Escen vim.
Esto funcionará para gvim (Vim.app). No lo hice funcionar con vim en la Terminal y no lo he probado con MacVim.
Por lo tanto, es una solución bastante complicada, a medias, o la instalación de una piratería de terceros. Tu selección ;)
Editar: Acabo de notar la solución 3, si está usando MacVim puede usar Ctrl, Optiony Commandcomo Esc. Con las preferencias del sistema, es trivial asignar el bloqueo de mayúsculas a una de esas teclas.
fuente
Ahora es mucho más fácil asignar la Caps Lockclave a EscmacOS Sierra.
Abra Preferencias del sistema → Teclado.
Haga clic en el botón Teclas modificadoras en la esquina inferior derecha.
Haga clic en el cuadro desplegable junto a la clave de hardware que desea reasignar y seleccione Escape.
Haga clic en Aceptar y cierre las Preferencias del sistema.
https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/
fuente
Lo único que sé hacer es asignar el bloqueo de mayúsculas al control, a la opción o al comando. Esto se puede hacer a través del panel Teclado y mouse de Preferencias del sistema. Haga clic en "Teclas modificadoras" en la parte inferior izquierda y podrá reasignar Bloq Mayús, Control, Opción y Comando, a cualquiera de ellos.
@Craig: Esto sugiere que el Bloqueo de mayúsculas se puede usar como una tecla normal, es decir, sin alternar. En mi MacBook, dado que he vuelto a asignar el bloqueo de mayúsculas al control, la luz de bloqueo de mayúsculas nunca se enciende. Simplemente actúa como la tecla Control.
fuente
Seil aún no está disponible en macOS Sierra (10.12 beta). Como tal, he estado usando Keyboard Maestro con esta configuración:
Crédito a este comentario de Github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
fuente
Después de haber probado varias de estas soluciones, tengo algunas notas:
DoubleCommand le no se permitirá a esc swap y bloquear las mayúsculas.
PCKeyboardHack te permitirá mapear el bloqueo de mayúsculas para escapar,
pero no tiene la capacidad de mapear el escape al bloqueo de mayúsculas. Las versiones recientes le permitirán realizar un intercambio completo editando ambas teclas.Esto puede o no ser suficiente para sus necesidades (sé que es para las mías).
fuente
En caso de que no desee instalar una aplicación de terceros y realmente solo le importe vim dentro de iTerm, lo siguiente funciona:
Vuelva a asignar CapsLock para ayudar como se describe aquí .
Versión corta: use plutil o similar para editar
~/Library/Preferences/ByHost/.GlobalPreferences*.plist
, debería ser similar a esto:¡Reiniciar! Un simple cierre de sesión e inicio de sesión no funcionó para mí.
En iTerm, agregue una nueva asignación de teclas para la Ayuda: envíe el código hexadecimal 0x1b, que corresponde a Escape.
Sé que esto no es exactamente lo que se solicitó, pero supongo que la intención de muchas personas que buscan una solución como esta es en realidad esta variante más especializada.
fuente
Para intercambiar realmente la tecla de escape con la tecla de bloqueo de mayúsculas (no solo mapear una a la otra) usando PCKeyboardHack y KeyRemap4MacBook, debe seguir las instrucciones en este hilo , mapeando la tecla de bloqueo de mayúsculas a un código clave no utilizado por el teclado pero explicado por KeyRemap4MacBook (por ejemplo, 110). Luego, en PCKeyboardHack, seleccione la opción apropiada que mapea ese código clave para escapar (en el caso de 110, es "Clave de aplicación para escapar"). Así es como deberían verse sus preferencias de KeyRemap4MacBook (siempre que haya seleccionado la casilla de verificación "mostrar solo habilitado").
Originalmente intenté publicar esta información como una edición a la excelente respuesta de cwd , pero fue rechazada. Animo a cualquiera que quiera tomar la ruta que describo para que lea primero su respuesta.
fuente
Seil todavía no funciona en macOS Sierra, así que estoy usando Karabiner Elements , descargue de https://pqrs.org/latest/karabiner-elements-latest.dmg .
Use la GUI o ponga lo siguiente en
~/.karabiner.d/configuration/karabiner.json
:fuente
También puede usar DoubleCommand para reasignar esta y otras claves.
IIRC, asignará Caps Lock a Esc.
fuente
Abra las preferencias del teclado y haga clic en las teclas modificadoras ... puede cambiar la tecla de bloqueo de mayúsculas para controlar, opción, escape o comando.
fuente
Esc
yEscape
? (pregunta seria)Karabiner-Elements Un personalizador de teclado potente y estable para macOS. (freeware)
https://pqrs.org/osx/karabiner/index.html
Me funcionó para Mojave cambiar el bloqueo de mayúsculas al retroceso
fuente