¿Cómo deshabilitar la escritura de caracteres especiales al presionar la tecla de opción en Mac OS X? [cerrado]

129

Ahora, cuando presiono la opción-b, obtendré ∫. No necesito escribir caracteres especiales y necesito asignar la opción-b a accesos directos para ciertas aplicaciones. ¿Hay alguna forma de hacer esto?

ximyu
fuente
26
Estoy usando IntelliJ y me gustaría simular los atajos de teclado de emacs y asigné meta a la tecla de opción. Pero cuando presiono, digamos, la opción-b, obtuve el comportamiento esperado ya que se interpreta como un carácter especial.
ximyu
3
Si uso la tecla de opción como modificador, puedo definir aún más accesos directos en mi IDE, lo que aumenta considerablemente mi productividad.
Dan
25
Es simplemente ridículo lo difícil que son tales acciones simples en Mac. Coloqué una aplicación incorrecta en el iniciador: buena suerte eliminándola con sentencias SQL; desea deshabilitar algunos accesos directos estúpidos: comience a descargar y probar miles de soluciones que no son consistentes en todas las versiones del sistema operativo. Dios, ¿por qué compré esta horrible computadora?
Vasiliy
3
Esto funciona para mí: superuser.com/a/942256/535138
김민준
1
Para las personas que tienen un problema en el terminal, esta precaución, -> superuser.com/questions/496090/...
A-letubby

Respuestas:

33

Estaba teniendo exactamente el mismo problema, exactamente en el mismo IDE.

La solución a esto es descargar Ukulele desde aquí:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

En la aplicación, puede crear un nuevo keylayout usando Archivo -> Nuevo desde la fuente actual. Al presionar Opción, se mostrará en el lugar de la Opción-b una tecla de color rojo, lo que significa que es una tecla muerta . Hacer doble clic en él le permitirá cambiarlo de una clave muerta a una clave de salida. Cuando se le solicite la salida, puede poner lo mismo (presionando Opción-b).

Por lo tanto, generará el mismo carácter pero no se considerará una clave muerta, por lo que Intellij puede vincularlo como un acceso directo.

Para habilitar su nuevo diseño, debe guardarlo en su ~ / Biblioteca / Diseños de teclado (ayuda si le da un nuevo nombre con Teclado -> Establecer nombre de teclado), y luego habilitarlo desde Preferencias del sistema -> Idioma y texto.

Sebastian Zaha
fuente
15
Esto es mucho trabajo y solo corrige una combinación de teclas en una aplicación. Yo y al menos algunos otros desearíamos deshabilitar la opción de entrada como caracteres especiales en mac.
javadba
@javadba No fue tan malo después de haberlo hecho bien. Vea mi respuesta a continuación para conocer los pasos detallados que deberían ser rápidos para hacer clic.
Peter Lamberg
Agregué una respuesta con pasos detallados a lo que @SebastianZaha describe en esta respuesta. Terminé buscando un poco para hacerlo, así que espero que eso le ahorre a alguien (y luego a mí) algunos problemas.
Peter Lamberg
74

Puede crear una asignación de teclado personalizada con letras de opción configuradas en BLANCO utilizando la herramienta en línea de esta página web . Puede crear una asignación personalizada en varios clics con casi cualquier diseño de teclado. Probado para trabajar en MacOSX 10.7+ con IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Seleccione la radio "Establecer en blanco para la tecla de opción" en el formulario, envíe el formulario y descargue un diseño de teclado parcheado con la función de tecla "opción" desactivada. Estoy compartiendo el archivo de trabajo para el diseño estándar del teclado en inglés de EE. UU .:

Después de habilitar esta asignación personalizada, si escribe una letra con la tecla "opción" presionada, no se imprime nada en la salida de texto. Pero el sistema operativo activa la "pulsación de la tecla de opción" y su IDE la detecta. ¡Entonces obtiene exactamente el mismo comportamiento que tiene para otras teclas de comando!

  1. Descargue el archivo de asignación de claves My Layout.keylayout.
  2. Moverlo a ~/Library/Keyboard\ Layouts/
  3. Abierto System Preferences->Language & Text
  4. Vaya a Input Sources-> (hit +)->Select Others
  5. Debería encontrarlo My Layouten la lista y seleccionarlo.

El paso 4 puede cambiar ligeramente en las versiones de MacOS. Tenga paciencia para encontrar la lista de diseños de teclado en la configuración.

Dan
fuente
1
@javadba, he corregido mi respuesta. ¡¡Gracias por tus comentarios!! Las cosas podrían cambiar con las nuevas versiones del sistema operativo.
Dan
55
El enlace de Dropbox parece roto ahora.
Andrew White
2
No se pudo lograr que esto funcione. Puedo agregar mi nuevo diseño de clave a la lista, pero no puedo eliminar el diseño predeterminado de 'EE. UU.', Por lo que en realidad no usará mi nuevo diseño de clave ...
AgmLauncher
12
Esto ya no es trabajo en 10.11. Genero un archivo de diseño en gist.github.com/haosdent/573ea124e5ea666fc576 que funciona en 10.11
haosdent
1
No funciono para mi. En lugar de escribir la opción + r ®, ahora escribe rIntelliJ :(
Navin
35

Aquí hay pasos detallados para la respuesta de Sebastian Zaha. (Terminé buscando un poco antes de que esto funcionara).

(Alternativamente, aquí hay un archivo preparado por mí )

  1. Descargar Ukelele
  2. Puede ejecutarlo directamente desde el archivo .dmg
  3. Archivo -> Nuevo basado en la fuente de entrada actual (había seleccionado EE. UU.)
  4. Haga clic en el botón Modificadores
  5. Seleccione cada modificador de la lista que tiene izquierda abajo o derecha abajo en la columna Opción . (Podría haber algunos como Abajo o Arriba también, pero AFAIK puede dejarlos).
    • Presione el botón menos para cada uno de estos
  6. Vaya al menú Teclado -> Establecer nombre del teclado
  7. Cambiar el nombre de alguna manera para que sea más fácil identificar
  8. Vaya a Archivo -> Guardar como
  9. Guardar en ~ / Biblioteca / Teclado \ Diseños / con sufijo .keylayout
  10. Salga de su cuenta de Mac OS
  11. Inicie sesión nuevamente
  12. Vaya a Preferencias del sistema -> Teclado -> Fuentes de entrada
  13. Presione el botón + -> Otros -> Su nuevo diseño debería estar disponible
  14. Agregar el nuevo diseño
  15. Posiblemente también deje la distribución original del teclado y configure alguna forma agradable de cambiar
Peter Lamberg
fuente
1
Esta es la única solución que funcionó para mí y me permitió volver a unir las combinaciones de teclas a comandos similares a Emacs.
event_jr
@event_jr, ¿cómo los volviste a unir para el comportamiento de emacs? Cuando mantiene presionada la opción y hace clic en b, se solicita la salida para esa combinación. ¿Cómo le decimos que la salida es retroceder una palabra?
Sahas
1
Como comenté anteriormente, esto tampoco me ayudó a corregir los accesos directos en IDEA en Yosemite. Me temo que cambiaron algo en las versiones más nuevas y ahora no fue posible solucionarlo. Estoy ejecutando IntelliJ IDEA 14.1.2 en OS X Yosemite 10.10.3
Innokenty
1
@Innokenty Strange. Estoy en OSX 10.10.3 e IDEA 14.1.2 y mis enlaces tipo emacs funcionan. Traje la configuración de IDEA desde una máquina Windows y el archivo .keylayout fue construido usando alguna versión anterior de OSX. ¿Podría uno de estos ser el motivo? Aquí está mi archivo de diseño.
Peter Lamberg
1
En OS X 10.10.5, no vi ningún "Izquierda hacia abajo" o "Derecha hacia abajo" en la columna "Opción": solo "O hacia abajo". Eliminé todos esos, y ahora tengo las combinaciones de teclas de estilo Emacs trabajando en IntelliJ. Ojalá entendiera lo que significaba eliminar esas filas, pero dado que es fácil cambiar los métodos de entrada si me encuentro con problemas, voy con eso. Gracias.
marcadores de duelin
12

Uso Ctrl-Alt-<MNEMONIC>. En mi humilde opinión, es mucho más fácil que tener que instalar y configurar una aplicación separada.

Victor Tatai
fuente
2
Bueno saber. Sin embargo, esto no es completamente satisfactorio si también las combinaciones de teclas Ctrl-Alt-tienen funciones.
Peter Lamberg
44
Para IDE, CTRL + ALT probablemente ya esté en uso, por lo que debe reconfigurar su IDE, lo cual es igual de difícil que tener que configurar alguna otra aplicación.
ARKBAN
esta respuesta es lo que obtienes si le preguntas a JetBrains
Kirby el
8

¡Tengo una solución! Coloque un archivo en: ~/Library/KeyBindings/DefaultKeyBinding.dictcomo:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Ocultará la entrada de texto original. Pero aún puede obtener eso usando Ctrl-Q antes de la combinación. Entonces Ctrl-Q Alt-f me da ƒ por ejemplo. De hecho, estoy escribiendo esta respuesta con las combinaciones de teclas de opción habilitadas. ¡También puedes agregar otras teclas que te gusten! Referencia oficial: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Aquí hay una buena lista de cosas a las que puede unirse: https://www.hcs.harvard.edu/~jrus/site/selectors.html

Ah, por cierto, si vincula una clave a una acción indefinida, su aplicación tendrá una pérdida de memoria y su sistema se quedará sin memoria en unos segundos. Probado en el capitan, por las malas.

Wung Hugh
fuente
5

Tuve el mismo problema en un nuevo Macbook con VSCode que había funcionado bien en mi viejo Macbook. Cuando escribí alt-shift-f para el formato, obtuve unicode en su lugar. Me di cuenta de que la diferencia era que mi Macbook anterior tenía una configuración de teclado británica en lugar del predeterminado "ABC - Extendido". Agregar el teclado británico solucionó el problema para mí.

chookie
fuente
Intenté esto, pero aún obtuve un personaje molesto con la Opción + N, por ejemplo, en Intellij IDEA.
Amir Eldor
2

Usando Apple JRE, las combinaciones de teclas de Opción funcionarán como accesos directos en lugar de insertar caracteres especiales.

Enlace de descarga: https://support.apple.com/kb/DL1572?locale=en_US

Es un viejo JRE obsoleto (basado en Java 6) pero a partir de octubre de 2015 sigue siendo lo que parece funcionar mejor con mi instalación de JetBrains RubyMine. (Cualquier otra cosa, las teclas vuelven a insertar caracteres especiales).

MarkWPiper
fuente
0

He encontrado una solución decente. Utilizo el software Karabiner para cambiar mi tecla Intro derecha para controlar cuando se mantiene presionada.

Entonces, lo que se hace iv es reasignar la tecla de opción a opción + cmd + control, ya que no conozco ningún comando que use los tres modificadores. Ahora puedo mapear los atajos correctos sin ningún carácter. Pero también puede asignar a teclas adicionales si es necesario

Agregue esto a su private.xml: (entre la raíz)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Luego vuelva a cargar el xml y habilite la opción en la parte superior de la pestaña 'Cambiar clave'

https://pqrs.org/osx/karabiner/

nicwhitts
fuente
-2

Use ABC como método de entrada en lugar de ABC-Extended, luego la opción + [char] podría usar el acceso directo de la aplicación en lugar de mostrar caracteres especiales.

Michael Yu
fuente
Esta respuesta me ayudó, en lugar de ABC-Locale o ABC-Extended, usé ABC
Nombre
-3

Simplemente use la clave esc en lugar de meta, por ejemplo meta-x se asigna a esc-x.

Zermelo
fuente