¿Alguien sabe cómo deshabilitar la entrada de texto Unicode en los campos de texto?

Me encanta el motor de texto Cocoa. Unas pocas modificaciones a un pequeño archivo xml ~/Library/DefaultKeyBinding.dict, y puede obtener casi cualquier secuencia de teclas para trabajar en cualquier campo de texto estándar de Cocoa en cualquier aplicación.

Por ejemplo, agregué un montón de combinaciones de teclas de emacs como CtrlApara ir al principio de una línea, Fpara avanzar una palabra, Bpara retroceder una palabra, etc.

De todos modos, me he dado cuenta de que algunas aplicaciones, aunque parecen usar el motor de texto Cocoa y los widgets de campo de texto estándar de Cocoa, tienen esta forma molesta de subvertir mis enlaces de teclas de emacs. En algunos campos de texto, la Optiontecla se utiliza para escribir caracteres internacionales Unicode.

¿Hay alguna forma de deshabilitar esto globalmente? Nunca quiero que la Optiontecla haga esto; si quiero escribir un carácter Unicode, usaré el visor de caracteres.

¿Algunas ideas?

Respuestas (2)

Algunas aplicaciones y vistas de texto simplemente no son compatibles con DefaultKeyBinding.dict.

Si crea una nueva distribución de teclas con Ukelele , puede, por ejemplo, hacer que ⌥A no inserte nada en lugar de å. O puede reasignar combinaciones de teclas que ingresan estados de teclas muertas (como ⌥U en el diseño de EE. UU.) para que puedan usarse en DefaultKeyBinding.dict.

  • Los diseños de teclado en ~/Library/Keyboard Layouts/no se pueden seleccionar en los cuadros de diálogo de contraseña o en la pantalla de inicio de sesión, pero los que sí /Library/Keyboard Layouts/pueden.
  • Los archivos de distribución de teclas XML no funcionan con las ventanas emergentes que se muestran cuando se mantienen pulsadas las teclas, pero los paquetes de distribución de teclas sí.
  • Para aplicar cambios a un diseño de teclas, actualmente debe, por ejemplo, ejecutar sudo touch /Library/Keyboard\ Layouts/y cerrar sesión y volver a iniciarla.
  • Las fuentes de entrada predeterminadas se pueden eliminar editando ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist .

KeyRemap4MacBook puede, por ejemplo, cambiar ⌥B a ⌥← en todas las aplicaciones excepto iTerm y Emacs. Ver esta pregunta .

Puede haber formas más simples que la que menciono a continuación.

Lo que estás describiendo en esencia se reduce a: cuál tiene prioridad sobre el otro, la distribución del teclado o el DefautlKeyBinding.dict. Esta parte no puedo responder. Sin embargo, sé cómo evitar la producción de caracteres Unicode cuando uso una o ambas optionteclas controlmodificadoras.

Usé Ukelele para hacer un diseño de teclado personalizado para otro idioma. Para su situación, crearía un nuevo diseño de teclado basado en mi diseño de teclado actual, luego eliminaría todos los caracteres producidos mientras sostenía una o ambas optionteclas controlmodificadoras.

Lo he usado personalmente para producir mi propio diseño de teclado para árabe y hace lo que estaba destinado a hacer.

Después de personalizar el diseño de su teclado, todo lo que tiene que hacer es colocarlo dentro de la Library/Keyboard Layouts/carpeta de su carpeta de inicio. Por supuesto, debe crearlo si aún no está presente.

Tenga en cuenta que algunas aplicaciones tienen sus propias asociaciones de teclas codificadas, especialmente las aplicaciones de edición de texto. Por lo tanto, esto responde solo a la parte relacionada con la desactivación de los caracteres Unicode producidos con las teclas optiony control.