É possível remover ou desativar um dos layouts de teclado padrão do OS X Lion?
Estou usando um layout de teclado personalizado e agora que consegui defini-lo como o layout de teclado padrão em todo o sistema , gostaria de poder desmarcar ou remover o layout de teclado interno “EUA” que acompanha o sistema operacional X. Aqui está uma captura de tela - observe que a caixa de seleção está desativada:
No OS X 10.9, esse painel de preferências foi redesenhado, mas ainda não há como "remover" o layout de teclado interno "EUA":
Como nunca uso o layout do teclado americano, eu adoraria me livrar dele, ou seja, removê-lo do menu Entrada na barra de menus. Como posso fazer isso?
Atualização: A resposta de Daniel realmente não responde a essa pergunta, mas oferece algumas informações valiosas sobre esse problema:
O Mac OS X parece exigir pelo menos um layout de teclado que o sistema reconheça como um layout de "caracteres latinos" para ser selecionado.
Supondo que essas informações sejam precisas (obrigado, Daniel!), A pergunta pode ser reformulada da seguinte forma:
Como fazer com que o OS X considere um teclado personalizado como um layout de caracteres latinos?
Atualização: acabei de encontrar algo que pode ajudar.
Respostas:
f=~/Library/Preferences/ByHost/com.apple.HIToolbox*.plist; plutil -convert xml1 $f; open $f -e
.Edit: o método acima parece ter parado de funcionar no 10.9. Isso funcionou tanto em 10.9 quanto em 10.8:
~/Library/Preferences/com.apple.HIToolbox.plist
(em 10.9) ou~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist
(em 10.8 e versões anteriores). Você pode converter o plist para XML complutil -convert xml1
.AppleEnabledInputSources
dicionário. Se houver umaAppleDefaultAsciiInputSource
chave, remova-a.fonte
Parece que você não pode fazer o que deseja sem algum hack ainda não descoberto no sistema . O Mac OS X parece exigir pelo menos um layout de teclado que o sistema reconheça como um layout de "caracteres latinos" para ser selecionado. Isso evita que você não consiga inserir sua senha na tela de login, etc. Se você selecionou francês, canadense ou outro layout de teclado que o sistema reconheça como caracteres latinos, você pode desmarcar o layout dos EUA.
Seu problema é que seu layout personalizado, embora contenha caracteres latinos, não é reconhecido pelo sistema como um layout de teclado latino e, portanto, não pode ser o único layout de teclado selecionado. Veja esta pergunta (infelizmente sem uma ótima resposta) para obter mais informações.
Observe que uma ótima resposta para essa pergunta também responderia à sua pergunta. Infelizmente, minha resposta aqui apenas esclarece qual é o problema, mas não tenho uma solução passo a passo para você. Embora tal invasão possa ser possível, não vejo nenhuma evidência de que alguém tenha descoberto como convencer o Mac OS X de que um teclado personalizado específico é seguro para uso como o único teclado selecionável.
fonte
Por uma questão de exaustividade, arquivei isso como ID de bug # 11137961 na Apple, e esta é a resposta que recebi:
fonte
Aqui está outra idéia: Há alguns anos, os pacotes dos layouts de teclado da Apple eram muito mais fáceis de editar, e esse problema parece ter sido solucionado:
http://hintsforums.macworld.com/archive/index.php/t-71629.html
Talvez ainda seja possível usar o antigo pacote editável, se você puder obtê-lo de um sistema antigo, no sistema operacional atual.
fonte
Acabei de encontrar algo que pode ajudar. Aqui vai:
Este é o meu sistema, onde meu layout de teclado personalizado (chamado “QWERTY”) é o padrão. Observe que as propriedades
KeyboardLayout Name
e seKeyboardLayout ID
referem ao ID e nome no início do.keylayout
arquivo.Como você pode ver,
defaults read /Library/Preferences/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID
ainda retorna a string"com.apple.keylayout.Dutch"
. Existe uma lista em algum lugar doscom.apple.keylayout
valores disponíveis ? É possível obter esse valor para um layout de teclado personalizado? Porque nesse caso, poderíamos simplesmente substituir a propriedade.Além disso, as
AppleEnabledInputSources
,AppleInputSourceHistory
eAppleSelectedInputSources
propriedades de todos parecem ignorar o layout de teclado personalizado, como seus valores correspondem ao layout de teclado OS X nativa I originalmente selecionado ao executar a instalação do assistente.Outra atualização: Aha! Parece que há outro
plist
arquivo do qual podemos copiar as configurações.Como você pode ver (
AppleCurrentKeyboardLayoutInputSourceID
), layouts de teclado aparentemente personalizados obtêm valores como"org.unknown.keylayout.FOO"
ondeFOO
está o nome do layout do teclado (conforme especificado no.keylayout
arquivo).Então, vamos tentar definir todos os valores para nosso layout de teclado personalizado, nomeado
QWERTY
e com ID1337
(especificado no.keylayout
arquivo):Infelizmente, isso não parece funcionar.
Atualização: @Lri descobriu um método confiável - veja sua resposta.
fonte
Resposta da Apple ao meu relatório de erros, no qual eu estava pedindo para tornar possível remover o layout de teclado padrão do sistema se outro for selecionado através das Preferências do Sistema:
fonte
Acabei de obter êxito ao remover o layout padrão no High Sierra usando o seguinte método:
Library/Preferences
pasta.com.apple.HIToolbox.plist
, clicando duas vezes nele ou usandoopen
na linha de comando. Isso fará com que o XCode apareça e talvez você queira instalar componentes adicionais.AppleEnabledInputSources
nó e desdobre-o.Agora você provavelmente precisará sair ou reiniciar para finalizar. Eu tive que reiniciar de qualquer maneira para alguma atualização, o que fez o truque para mim. Agora estou feliz digitando Neo a uma velocidade glacialmente agonizante, mas nem um único QWERTZ está à vista!
fonte
Aqui está uma idéia: Depois de verificar se o ID do teclado do seu layout personalizado está definido como Roman, crie um AppleKeyboardLayouts.bundle personalizado que contenha apenas esse layout e substitua-o pelo que acompanha o sistema operacional. (Não sei o que está envolvido na criação de um pacote.)
fonte
Você pode usar o Ukelele para marcar seu layout usado como um que usa script latino. Exporte como um pacote, instale e, em seguida, você poderá excluir o pacote dos EUA.
fonte
Isso pode ser feito facilmente. Primeiro mude para o layout personalizado (use o menu Entrada da barra de menus) e desmarque o layout nos EUA.
fonte