Tuve exactamente el mismo problema: un diseño de teclado personalizado que había funcionado perfectamente en macOS 10.12 Sierra de repente se negó a trabajar con las aplicaciones por defecto y las aplicaciones instaladas desde la App Store después de actualizar a macOS 10.13 High Sierra. El SO siempre volvía a la distribución de teclado por defecto de mi región (finlandés). Esto me hizo pensar y me las arreglé para arreglar el diseño que uso para que ahora funcione con todas las aplicaciones, no sólo las instaladas desde homebrew.
El truco está en modificar tu diseño personalizado para que se ajuste a tu región actual. Puedes hacerlo modificando el paquete manualmente o utilizando Ukelele.
1. Editar el diseño con Ukelele
Descarga e instala Ukelele desde, por ejemplo, homebrew. Cuando abra la aplicación, abra su diseño personalizado desde el archivo o, si lo tiene activo, puede crear un nuevo paquete basado en él eligiendo "Archivo" → "Nuevo desde la fuente de entrada actual". Una vez que lo tengas abierto, deberás establecer el idioma correcto (y posiblemente la región) desde los ajustes de "Idioma " que se encuentran en la pestaña "Diseños de teclado". El idioma no tiene por qué coincidir con el idioma del sistema operativo y no sé si la región tiene algo que ver con este asunto (Ukelele dice que es opcional), pero ajustarlo a tu región no puede hacer daño.
Después de configurar el idioma en la pestaña "Disposiciones del teclado", debes configurar la localización en la pestaña "Localizaciones". Si ya hay una línea de localización en la lista, puedes editarla haciendo doble clic en ella y configurando el idioma (aún no tiene que coincidir con el idioma del sistema operativo), si no, puedes añadir una nueva con el botón con el signo '+'. La configuración de la región es opcional aquí también, pero más vale prevenir que lamentar. Después de esto puedes guardar el paquete y pasar a instalar y habilitar tu diseño.
2. Editar el diseño manualmente
Los paquetes de diseño de teclado son en realidad sólo directorios con cierta estructura, por lo que también puede editarlos manualmente desde la línea de comandos. Lo que tienes que hacer es entrar en el directorio Your.bundle/Contents
y editar Info.plist
añadiendo KLInfo_<your-layout-name>
dictado. Este es un ejemplo del Info.plist
del diseño que estoy utilizando:
<?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>CFBundleIdentifier</key>
<string>com.apple.keyboardlayout.arkkudvorak</string>
<key>CFBundleName</key>
<string>ArkkuDvorak</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>KLInfo_ArkkuDvorak</key>
<dict>
<key>TISInputSourceID</key>
<string>com.apple.keyboardlayout.arkkudvorak.arkkudvorak</string>
<key>TISIntendedLanguage</key>
<string>fi-FI</string>
</dict>
</dict>
</plist>
Lo principal aquí es incluir las abreviaturas de su idioma y región como valor de cadena para TISIntendedLanguage
. Supongo que TISInputSourceID
puede ser cualquier cosa siempre que vaya precedida de CFBundleIdentifier
.
Una vez que hayas configurado el idioma y la región, puedes guardar y cerrar el Info.plist
archivo. Sin embargo, todavía tienes que editar un poco la estructura del directorio. cd into Your.bundle/Contents/Resources
y cambiar el nombre del <something>.lproj
en <language>_<REGION>.lproj
, en mi caso fi_FI.lproj
. Una vez hecho esto, ya has terminado con los cambios.
3. Instalación y habilitación de la maqueta
Después de corregir los ajustes de idioma, región y localización y de guardar el paquete, muévalo a /Library/Keyboard Layouts/
si no lo editó directamente desde allí. Reinicie el ordenador, vuelva a añadir el diseño desde 'Preferencias del sistema' → 'Teclado' → 'Fuentes de entrada' y ahora debería funcionar con todas las aplicaciones.
Esto me sirvió a mí, dime si te funcionó a ti.
Descargo de responsabilidad: no soy el autor del paquete ArkkuDvorak, sólo lo uso.