DefaultKeyBinding.dict: moveWordBackward: no se anula en macOS Sierra

Recientemente comencé a usar una computadora nueva (en realidad una Hackintosh) con macOS Sierra. Mi máquina de desarrollo anterior todavía está en El Capitán. En el proceso de configuración de la nueva máquina que he agregado ~/Library/KeyBindings/DefaultKeyBinding.dict.

La mayoría de combinaciones de teclas (específicamente opción+f para mover el cursor una palabra hacia adelante) funcionan bien. Sin embargo, la opción+b para mover el cursor una palabra hacia atrás simplemente actúa como una tecla muerta y escribe un ˘carácter.

La sección relevante de DefaultKeyBindings.dict se ve así:

<key>~b</key>
<string>moveWordBackward:</string>

Agregar esto específicamente a, por ejemplo, el archivo específico de TextMate ~/Library/Application Support/TextMate/KeyBindings.dictda como resultado que la opción + b funcione en TextMate, pero obviamente no tiene ningún efecto en otros lugares:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>~b</key>
    <string>moveWordBackward:</string>
</dict>
</plist>

¿Cómo puedo evitar tener que cambiar mis hábitos con respecto a moveWordBackward:?

Respuestas (1)

Finalmente resolví esto después de darme cuenta de que la diferencia entre mi máquina El Capitan (10.11) y Sierra (10.12) era la nueva clave muerta en la Opción-b. No he podido determinar si se trata de una diferencia entre los diseños de teclado o las versiones del sistema operativo.

Parece que KeyBindings no puede anular las claves muertas. Usando Ukelele pude cambiar la salida de la opción-b a algún otro carácter. Luego instalé este diseño de teclado y moveWordBackward: comenzó a trabajar sin más modificaciones.

  1. En Ukelele, elija Archivo->Nuevo desde la fuente de entrada actual
  2. Haga clic con el botón derecho en el nombre del diseño y elija Establecer nombre de diseño y secuencia de comandos
    • Cambiar el nombre a algo comoU.S. No B Dead Key
  3. Haga doble clic en el nombre del diseño para abrir el editor de diseño.
  4. Mantenga presionada la opción, luego haga clic con el botón derecho en la btecla; elija Hacer salida
  5. Introduzca cualquier otro carácter; será anulado por DefaultKeyBinding.dict
  6. Ahorrar
  7. Elija Archivo-> Instalar para el usuario actual
  8. En las Preferencias de teclado, elija su nuevo diseño de teclado.