O layout do teclado continua revertendo desde a atualização para High Sierra

4

Eu tenho um layout de teclado personalizado que uso há muitos anos no OS X (alternativa ao layout em francês ).

Desde que atualizei para High Sierra hoje, enfrento estes problemas:

  • o layout continua voltando ao padrão (francês), por exemplo, quando abro um novo aplicativo
  • às vezes não consigo voltar ao meu layout personalizado
  • quando eu reiniciar, preciso adicionar novamente o layout personalizado nas Preferências

Eu tentei redefinir a NVRAM, mas nenhuma alteração. O que eu posso fazer?

Matthieu Napoli
fonte
Tente configurar uma nova conta de usuário e veja se ela tem os mesmos problemas. Adicione os resultados ao texto da sua pergunta.
214176 Tom Gewecke em 01/10
11
Eu tenho o mesmo problema. No meu computador, especificamente os aplicativos instalados através da App Store (e da própria App Store) parecem não conseguir usar layouts personalizados. Os aplicativos que eu instalei com, por exemplo, brew-cask funcionam como antes.
Miikka

Respostas:

4

Eu tive o mesmo problema. Meu teclado personalizado estava localizado em /Library/Keyboard Layouts. Ouvi dizer que existem alguns problemas de direitos de arquivo ao usar o Ukulele - então mudei meu teclado personalizado para ~/Library/Keyboard Layout:

cd ~/"Libaray/Keyboard Layouts"
mv "/Library/Keyboard Layouts"/*

Além disso, alterei o proprietário, o grupo e alguns direitos de arquivos nesse local:

sudo chown <your username> *
sudo chgrp staff *
sudo chmod u+rwx *

Em seguida, remova seu teclado personalizado das Preferências do sistema, reinicie, adicione novamente e reinicie novamente.

Rok
fonte
Por enquanto, parece que o problema foi corrigido, obrigado!
Matthieu Napoli
Desculpe, eu não entendo isso. Para mim, parece que você está dizendo que o move de uma para a mesma pasta. Devo substituir o asterisco por outra coisa? O que esses comandos fazem?
Kofi
5

Eu tinha exatamente o mesmo problema: um layout de teclado personalizado que funcionou bem no macOS 10.12 Sierra subitamente se recusou a trabalhar com aplicativos e aplicativos padrão instalados na App Store após a atualização para o macOS 10.13 High Sierra. O sistema operacional sempre retornaria ao layout de teclado padrão da minha região (finlandês). Isso me fez pensar e consegui consertar o layout que uso para que agora funcione com todos os aplicativos, não apenas com os instalados no homebrew.

O truque é modificar seu layout personalizado para que ele seja definido na sua região atual. Você pode fazer isso modificando o pacote manualmente ou usando o Ukelele.

1. Editando o layout com o Ukelele

Faça o download e instale o Ukelele de, por exemplo, homebrew. Quando você abrir o aplicativo, abra seu layout personalizado a partir do arquivo ou, se você o tiver atualmente ativo, poderá criar um novo pacote baseado nele, escolhendo 'Arquivo' → 'Novo da fonte de entrada atual'. Depois de abrir, você deve definir o idioma correto (e possivelmente a região) para ele nas configurações de 'Idioma ...' encontradas na guia 'Layouts de teclado'. O idioma não precisa corresponder ao idioma do sistema operacional e não sei se a região tem algo a ver com esse problema (Ukelele diz que é opcional), mas configurá-lo para sua região não pode prejudicar.

Depois de definir o idioma na guia 'Layouts de teclado', você precisa definir a localização na guia 'Localizações'. Se já existe uma linha local na lista, você pode editá-la clicando duas vezes nela e definindo o idioma (ainda não precisa corresponder ao idioma do sistema operacional); caso contrário, você pode adicionar uma nova com o botão com um botão '+' assine nele. A configuração da região também é opcional aqui, mas é melhor prevenir do que remediar. Depois disso, você pode salvar o pacote configurável e pular para instalar e ativar seu layout.

2. Editando o layout manualmente

Os pacotes de layout de teclado são na verdade apenas diretórios com certa estrutura, para que você também possa editá-los manualmente na linha de comando. O que você precisa fazer é entrar no CD Your.bundle/Contentse editar Info.plistadicionando KLInfo_<your-layout-name>dict. Aqui está um exemplo do Info.plistlayout que estou usando:

<?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>

O principal aqui é incluir as abreviações de idioma e região como valor de string para TISIntendedLanguage. Eu acho que TISInputSourceIDpode ser qualquer coisa, desde que seja prefixado por CFBundleIdentifier.

Depois de definir o idioma e a região, você pode salvar e fechar o Info.plistarquivo. Você ainda precisa editar um pouco a estrutura do diretório. cd Your.bundle/Contents/Resourcese renomeie o <something>.lprojinto <language>_<REGION>.lproj, no meu caso fi_FI.lproj. Depois de fazer isso, você termina as alterações.

3. Instalando e Ativando seu Layout

Após corrigir as configurações de idioma, região e localização e salvar o pacote, mova-o para /Library/Keyboard Layouts/se você não o editar diretamente a partir daí. Reinicie o seu computador, adicione novamente o layout de 'Preferências do sistema' → 'Teclado' → 'Fontes de entrada' e agora deve funcionar com todos os aplicativos.

Isso fez isso por mim, deixe-me saber se funcionou para você.

Isenção de responsabilidade: eu não sou o autor do pacote ArkkuDvorak, apenas o uso.

Spike_B
fonte
Outro usuário do ArkkuDvorak aqui, sim! Eu tentei isso, mas não resolveu o problema para mim. : |
Miikka
@Mikikka hmm, isso é estranho. Você tentou editar o pacote manualmente ou com o Ukelele? Na verdade, eu criei um novo pacote com o Ukelele usando o "Novo da fonte de entrada atual" e instalei isso, para que a edição do layout atual não funcione - você tentou remover o método de entrada e adicioná-lo novamente após a edição ? Eu também pode compartilhar-lhe o pacote que eu fiz para que você possa ver se ele funciona em sua máquina :)
Spike_B
11
Tentei editar o pacote com o Ukelele. Mover o layout ~/Library/Keyboard Layoutsde /Library/Keyboard Layoutsfez o truque. De alguma forma, acabei com várias cópias do layout nas configurações de entrada, mas tudo funciona, então acho que está tudo bem.
quer
Olá, o segundo parágrafo do item 1. me parece misterioso. Não consegui encontrar 'localizações' em lugar nenhum. Como isso vai?
Kofi
3

Não é uma resposta nova, mas um comentário (precisa de 50 pontos de representante!) A ser levantado pelo @Miikka.

Certifique-se de desativar "Alternar automaticamente para a fonte de entrada de um documento". Quando você faz isso, minha seleção da fonte de entrada permanece com a desejada.

HanSooloo
fonte
obrigado, mas onde você desativa isso? Não consigo encontrar essa configuração nas configurações do teclado.
Matthieu Napoli
Preferências do Sistema -> Teclado -> Fontes de Entrada
HanSooloo 21/10
Eu nunca tive isso ativado de qualquer maneira.
precisa