Establezca un diseño de teclado personalizado como predeterminado del sistema, incluso para la pantalla de inicio de sesión

37

¿Puedo hacer un diseño de teclado personalizado (uno que no estaba incluido con OS X por defecto) como el sistema predeterminado, incluso para la pantalla de inicio de sesión?

Mathias Bynens
fuente
(mientras tanto, podría no aceptar la respuesta, los lectores podrían estar confundidos)
o0 '.
1
@Lohoris: ¡Listo!
Mathias Bynens el
Actualice la pregunta b eliminando la nota de actualización, la mejor respuesta ahora también funciona en las últimas versiones de osx
Bert Goethals

Respuestas:

13

Esto funciona en OSX 10.9 Mavericks, con un diseño de teclado que creé con Ukulele. Suponiendo que ya tiene el diseño instalado en su sistema, inicie sesión en su cuenta y active su diseño de teclado personalizado.

Abra una terminal y ejecute el siguiente comando:

cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/

Si tiene la intención de utilizar un editor de texto (por ejemplo, TextWrangler) para realizar este cambio en lugar de XCode (que tiene un editor gráfico especializado), ejecute también :

plutil -convert xml1 /tmp/com.apple.HIToolbox.plist

Ahora, abra /tmp/com.apple.HIToolbox.plisten el editor de texto o en XCode.

En todo el archivo encontrará varias menciones de una KeyboardLayout IDclave seguida de un número entero y KeyboardLayout Nameseguido de una cadena. Cambie estas cadenas al nombre de su diseño de teclado personalizado y los enteros de identificación a la ID de su diseño (la forma más fácil de encontrar los valores correctos es comparar con la configuración de usuario que se encuentra en el archivo ~/Library/Preferences/com.apple.HIToolbox.plist.

Además, el valor de la clave AppleCurrentKeyboardLayoutInputSourceIDdebe cambiarse en consecuencia (probablemente a algo así org.unknown.keylayout.NameOfYourLayout). De nuevo, puede encontrar este valor en su archivo de preferencias local.

Una vez que se realizan estos cambios, guarde el archivo y vuelva a la terminal. Para que sea seguro, puede crear una copia del com.apple.HIToolbox.plistarchivo original , en caso de que haya cometido un error y necesite retroceder. Por ejemplo, para guardar una copia en su carpeta Documentos :

sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents

Luego instale su cambio con lo siguiente:

sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'

(No es necesario volver a convertir su archivo fuera del formato de texto plutilsi lo hizo antes).

Salga de la terminal y reinicie la computadora (el cierre de sesión no es suficiente: el archivo no se volverá a leer). Después de reiniciar, debe tener la distribución del teclado en la pantalla de inicio de sesión.

NOTA: es posible que hubiera sido suficiente para copiar el archivo com.apple.HIToolbox.plistdesde ~/Library/Preferences/que /Library/Preferences/, sin embargo, en mi caso tiene más entradas, así que decidí ir a lo seguro y simplemente modificar el archivo existente.

Eric J. Francois
fuente
Intentando esto ahora, ya que la otra respuesta no funcionó. FWIW, com.apple.HIToolbox.plistasí es como se ve mi archivo después de los cambios: gist.github.com/anonymous/d18bae208b5cf12e48be
Mathias Bynens
Trabajó sin problemas, gracias! Lo siento, ya no puedo darte la recompensa, así que configuraré una nueva solo para recompensarte por esta respuesta.
Mathias Bynens
Me alegra que haya ayudado. Gracias por la recompensa extra! :-)
Eric J. Francois
Trabajado como un encanto. Gran consejo!
ƘɌỈSƬƠƑ
Esto es fantástico. ¡Mi teclado belga me ha atascado por defecto en mucho tiempo! ¡Ojalá pudiera darte múltiples votos!
Bert Goethals
12

Encontré este viejo consejo de MacWorld , que sugería ejecutar nuevamente el Asistente de configuración:

sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant

Al principio pensé que esto ya no era compatible con Lion ya que ejecutar este comando no parecía tener ningún efecto. Solo después de publicar esta pregunta, noté que hay un error tipográfico en el comando. Los caracteres de espacio deben escaparse correctamente, o debe citarse la ubicación del binario. Por esta razón, la sugerencia que he vinculado no funciona.

Aquí está el comando correcto:

sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

Alternativamente, esto también funcionaría:

sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant

Otro problema que no se mencionó en la página a la que me vinculé: el diseño de teclado personalizado debe instalarse /Library/Keyboard Layouts/(es decir cd /Library/Keyboard\ Layouts, no) ~/Library/Keyboard Layouts, para que aparezca en la pantalla de selección de diseño de teclado del Asistente de configuración.


Actualización: a partir de OS X 10.8, deberá ejecutar un comando adicional (es decir, eliminar primero un archivo):

sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

Además, tendrá que crear una nueva cuenta de usuario para completar el Asistente de configuración, pero no se preocupe, puede eliminar la nueva cuenta después.

Este truco ya no funciona en las últimas versiones de OS X 10.8.


Actualización: Aquí es todo lo que sé acerca de los diseños de teclado personalizados en OS X .

Mathias Bynens
fuente
Seguí tus pasos para el Mountain Lion 10.8 y ejecuté la ganancia del asistente de configuración. Establecí mi diseño de teclado predeterminado en Dvorak e intenté iniciar sesión pero no funcionó. al reiniciar, todavía estaba usando qwerty para la pantalla de inicio de sesión.
enms.
Sí, ya no parece funcionar desde OS X 10.8. :(
Mathias Bynens
3

Estoy usando un diseño de teclado personalizado creado con Ukelele en OS X 10.8.5 . Cambié el diseño del teclado de la pantalla de inicio de sesión con los siguientes pasos:

  1. Abrir Users & GroupsenSystem Preferences
  2. Seleccione Login Optionsdesde la parte inferior del panel izquierdo
  3. Comprobar Show Input menu in login window
  4. Ir a la pantalla de inicio de sesión
  5. Seleccione el diseño preferido en Other input sourcesel menú de entrada, ubicado en la parte superior derecha
  6. Regrese y desmarque Show Input menu in login windowpara evitar más cambios en el diseño de inicio de sesión

Encontré este método mucho más fácil que editar algunos .plistarchivos aleatorios y ejecutar comandos en la Terminal.

Este método puede requerir acceso administrativo, ya que posiblemente tenga que desbloquear el panel derecho en el paso 3. anterior haciendo clic en el icono de bloqueo en la parte inferior.

Actualización: Lamentablemente, esto no parece funcionar en OS X 10.9.

Jawa
fuente
Le he otorgado la recompensa, ya que esta parecía ser la mejor respuesta, pero en realidad no parece funcionar, siempre vuelve a la distribución predeterminada del teclado de EE. UU. Para probar esto, utilicé un diseño de teclado que me permite escribir tres símbolos con una sola pulsación, para poder ver cuántos caracteres enmascarados aparecen en el cuadro de entrada de contraseña. Después de aplicar los pasos que mencionó, solo pude ingresar un símbolo a la vez (según el teclado de EE. UU.).
Mathias Bynens
¿Puedes describir lo que no funciona con OS X 10.9? Puedo seguir estos pasos (no hice el paso 6) con éxito cuando uso el diseño Workman (que se encuentra aquí: workman.deekayen.net ). Sin embargo, mi problema es que si se selecciona ese diseño y bloqueo la computadora, el menú de entrada no se mostrará en la pantalla de inicio de sesión, mientras que está bien si tengo OS X o algo más compatible de forma nativa (es decir, veo el menú y puede volver a EE. UU. si es necesario)
Timothée Boucher
@ TimothéeBoucher Mi comentario anterior describe qué sale mal y cómo probé esto.
Mathias Bynens
2

Después de instalar macOS Sierra, mi diseño personalizado se reinicializó al valor predeterminado cada vez que inicié sesión en mi cuenta.

Apple agregó nuevos teclados y la identificación estaba en conflicto con el teclado que estaba usando.

Para validar si tiene este problema, ejecute:

sudo touch / Biblioteca / Teclado \ Diseños /

La salida:

Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.

El resultado afirma que soluciona algo, pero en realidad no hizo nada. Todavía tenía que editar el diseño yo mismo y comenzó a funcionar como antes.

jrobichaud
fuente
También conseguí cambiar mi personalizado. Lamentablemente, arreglar las identificaciones en los archivos .plist no me ayudó.
Pavel Gurkov
@PavelGurkov ¿Ejecutó el comando sudo touch en la carpeta después? Se requería que el SO lo tuviera en cuenta.
jrobichaud
Sí, hizo eso, no obtuvo ningún resultado. Revisé todo lo que pude, pero aún así ... Trabajé perfectamente en El Capitán, no tuve suerte en Sierra.
Pavel Gurkov