28 votos

Cómo quitar o deshabilitar un diseño de teclado predeterminado?

Es posible quitar o deshabilitar uno de OS X Lion por defecto de los diseños de teclado?

Estoy usando un teclado personalizados de diseño, y ahora que he conseguido establecer como defecto del sistema de distribución de teclado, me gustaría ser capaz de desactivar o eliminar la incorporada en "Estados Unidos") diseño de teclado que viene con OS X. Aquí está una captura de pantalla - tenga en cuenta que la casilla de verificación está desactivada:

Screenshot

En OS X 10.9, este panel de preferencias ha sido rediseñado, pero no hay manera de "eliminar" de la incorporada en los "Estados Unidos") diseño de teclado:

Screenshot

Ya que yo nunca uso el teclado de EE.UU. de diseño, me encantaría deshacerse de él, es decir, quitar de la Entrada de menú en la barra de menú. ¿Cómo puedo hacer esto?


Actualización: Daniel respuesta no contesta a esta pregunta, pero sí ofrecen una valiosa información acerca de este problema:

Mac OS X parece requerir, al menos, una distribución de teclado que el sistema reconoce como un "Latin carácter de" diseño para ser seleccionado.

Suponiendo que esto es información precisa (gracias, Daniel!), la pregunta podría reformularse de la siguiente manera:

Cómo hacer que OS X considerar un teclado personalizado para ser una latina diseño del personaje?


Actualización: acabo de encontrar algo que le podría ayudar.

40voto

Fuzzy Purple Monkey Puntos 702
  1. Habilitar una fuente de entrada que no es como la física de la distribución del teclado de Preferencias del Sistema (he usado Afgano Dari).
  2. Ejecutar f=~/Library/Preferences/ByHost/com.apple.HIToolbox*.plist; plutil -convert xml1 $f; open $f -e.
  3. Eliminar otras fuentes de entrada, excepto el temporal habilitado diseño de teclado y personalizado de diseño de teclado.
  4. Registro de salida y de regreso.
  5. Quitar el temporal habilitado diseño de teclado de la lista de propiedades.
  6. Registro de salida y de regreso.

Edit: el método anterior parece que ha dejado de trabajar en 10.9. Este trabajado tanto o 10.8 10.9:

  1. Cambiar la fuente de entrada actual a su costumbre de diseño de teclado.
  2. Abra ~/Library/Preferences/com.apple.HIToolbox.plist (10.9) o ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist (10.8 y anteriores). Usted puede convertir el plist para XML con plutil -convert xml1.
  3. Retire la fuente de entrada fuente de entrada que desea deshabilitar desde la AppleEnabledInputSources diccionario. Si hay un AppleDefaultAsciiInputSource clave, eliminarlo.
  4. Reinicie.

8voto

TraFoO Puntos 11

Parece que no puede hacer lo que quiera sin que algunos aún no descubiertos hack para el sistema. Mac OS X parece requerir, al menos, una distribución de teclado que el sistema reconoce como un "Latin carácter de" diseño para ser seleccionado. Esto impide que el de ser incapaz de escribir su contraseña en la pantalla de inicio de sesión, etc. Si ha seleccionado francés, o un Canadiense, o de otra distribución de teclado que el sistema reconoce como caracteres latinos, puede anular la selección del diseño de US.

Su problema es que su diseño personalizado, a la vez que contiene los caracteres latinos, no es reconocido por el sistema como un diseño del teclado latino, y por lo tanto no puede ser el único seleccionado de la distribución de teclado. Ver a esta pregunta (carecen de una gran respuesta) para obtener más información.

Tenga en cuenta que una gran respuesta a esta pregunta responder a su pregunta también. Ay, mi respuesta aquí sólo se aclara cuál es el problema, pero no tengo el paso a paso de la solución para usted. Mientras que un hack puede ser posible, no veo ninguna evidencia de que alguien se las ha ingeniado para convencer a Mac OS X que un teclado personalizado es seguro para usar como el único seleccionables por el teclado.

8voto

Jeff Bloom Puntos 155

En aras de la exhaustividad, que presentó esta como bug ID #11137961 con Apple, y esta es la respuesta que recibí:

Bug ID #: 11137961
Título del error: Permitir la desactivación por defecto (built-in) los diseños de teclado cuando se utiliza uno personalizado


La ingeniería ha determinado que este problema se comporta como la intención de base en la siguiente información:

Si el problema es la distribución del teclado reconocido como ASCII-capaz, la más sencilla sería la de "paquete".keylayout, entonces su Información.plist puede contener un "KLInfo_" diccionario que además, describe, como:

 <key>TISIntendedLanguage</key>
 <string>en</string>   # BCP 47 language string

Yo tendría que mirar un poco en este tema, pero parece TIS va a escanear el diseño del teclado de salida para producir una USet y producir una inicial la idea de ascii-ness por si pasa a la siguiente prueba mínimos:

 uset_containsRange(uSet, 0x0020, 0x0021) && uset_containsRange(uSet, 0x002C, 0x0039) &&
 uset_containsRange(uSet, 0x003F, 0x005A) && uset_containsRange(uSet, 0x0061, 0x007A);

TIS también examinará el modelo establecido por la mencionada localidad y requieren de una buena docena de caracteres en el rango [a-z].

Algunas sugerencias sobre la paquetización de un .keylayout, véase también TextInputSources.h.

Si esto es todavía un problema, o si tiene preguntas con respecto a la la resolución de este problema, por favor, actualice su informe de error con la que información.

Ahora estamos de cierre de este informe de error.

2voto

Tom Gewecke Puntos 592

He aquí otra idea: hace Un par de años el paquete(s) para el Teclado Apple keyboard Layouts eran mucho más fáciles de editar, y este problema parece haber sido resueltos:

http://hintsforums.macworld.com/archive/index.php/t-71629.html

Tal vez, aún puede utilizar el viejo editable paquete, si usted puede conseguir uno de un sistema antiguo, en el sistema operativo actual.

1voto

Jeff Bloom Puntos 155

Acabo de encontrar algo que le podría ayudar. Aquí va:

$ defaults read /Library/Preferences/com.apple.HIToolbox.plist 
{
    AppleCurrentKeyboardLayoutInputSourceID = "com.apple.keylayout.Dutch";
    AppleDefaultAsciiInputSource =     {
        InputSourceKind = "Keyboard Layout";
        "KeyboardLayout ID" = 1337;
        "KeyboardLayout Name" = QWERTY;
    };
    AppleEnabledInputSources =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 26;
            "KeyboardLayout Name" = Dutch;
        }
    );
    AppleInputSourceHistory =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 26;
            "KeyboardLayout Name" = Dutch;
        }
    );
    AppleSelectedInputSources =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 26;
            "KeyboardLayout Name" = Dutch;
        }
    );
}

Este es, en mi sistema, donde mi costumbre de diseño de teclado (denominado "QWERTY") es el valor predeterminado. Tenga en cuenta que el KeyboardLayout Name y KeyboardLayout ID propiedades se refieren a la identidad y el nombre en el inicio de la .keylayout archivo.

Como se puede ver, defaults read /Library/Preferences/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID todavía devuelve la cadena de caracteres "com.apple.keylayout.Dutch". Hay una lista en algún lugar de la disponible com.apple.keylayout valores? Es posible obtener un valor para personalizar un diseño de teclado? Porque en ese caso, podríamos simplemente reemplazar la propiedad.

También, el AppleEnabledInputSources, AppleInputSourceHistoryy AppleSelectedInputSources propiedades todos parecen ignorar la costumbre de diseño de teclado, ya que sus valores se corresponden con el nativo de OS X de la distribución de teclado que originalmente seleccionado cuando ejecuta el Asistente de Configuración.


Otra actualización: Aha! Parece que hay otra plist archivo desde el que podría ser capaz de copiar la configuración.

$ defaults read ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist 
{
    AppleCurrentKeyboardLayoutInputSourceID = "org.unknown.keylayout.QWERTY";
    AppleDateResID =     {
        smRoman = 2;
    };
    AppleEnabledInputSources =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 26;
            "KeyboardLayout Name" = Dutch;
        },
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 1337;
            "KeyboardLayout Name" = QWERTY;
        },
                {
            "Bundle ID" = "com.apple.CharacterPaletteIM";
            InputSourceKind = "Non Keyboard Input Method";
        },
                {
            "Bundle ID" = "com.apple.KeyboardViewer";
            InputSourceKind = "Non Keyboard Input Method";
        },
                {
            "Bundle ID" = "com.apple.inputmethod.ironwood";
            InputSourceKind = "Non Keyboard Input Method";
        }
    );
    AppleGlobalTextInputProperties =     {
        TextInputGlobalPropertyPerContextInput = 0;
    };
    AppleInputSourceHistory =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 1337;
            "KeyboardLayout Name" = QWERTY;
        },
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 26;
            "KeyboardLayout Name" = Dutch;
        }
    );
    AppleNumberResID =     {
        smRoman = 2;
    };
    AppleSelectedInputSources =     (
                {
            InputSourceKind = "Keyboard Layout";
            "KeyboardLayout ID" = 1337;
            "KeyboardLayout Name" = QWERTY;
        },
                {
            "Bundle ID" = "com.apple.inputmethod.ironwood";
            InputSourceKind = "Non Keyboard Input Method";
        }
    );
    AppleTimeResID =     {
        smRoman = 2;
    };
}

Como se puede ver (AppleCurrentKeyboardLayoutInputSourceID), al parecer de teclado personalizados diseños de obtener valores como "org.unknown.keylayout.FOO" donde FOO es el nombre de la distribución del teclado (como se especifica en la .keylayout archivo).

Así que, vamos a tratar de establecer todos los valores de nuestro sistema personalizado de diseño de teclado, de nombre QWERTY y con ID 1337 (especificado en la .keylayout archivo):

sudo defaults write /Library/Preferences/ByHost/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID -string "org.unknown.keylayout.QWERTY"

Lamentablemente, esto no parece funcionar.

Actualización: @Lri descubierto un método fiable - ver su respuesta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X