Como criar um layout de teclado personalizado no OS X?

67

Recentemente, mudei para o OS X e acho o layout "fonético russo" do sistema insatisfatório (não é o que estou acostumado). Como posso criar um layout personalizado?

Eu li sobre o Ukelele , mas o layout que criei e copiei Library/Keyboard Layoutsnão aparece nas Preferências do teclado.

Estou usando o OS X 10.9 Mavericks. Procurei soluções na internet, mas a maioria estava desatualizada.

mik01aj
fonte
Qual layout você usou antes do MacOS? Paul Gorodyansky? Você se importaria de compartilhar seu layout de Ukelele?
Davidir
10.9 e posteriores parecem estar usando um tipo de arquivo de layout de teclado diferente; Ukelele quebrou para mim com essa atualização também. Perdi meu teclado OCS personalizado - o OCS usa caracteres cirílicos estranhos em lugares estranhos.
Aramis

Respostas:

64
  1. Abra o Ukelele e escolha Arquivo> Novo da fonte de entrada atual. Nas novas versões do Ukelele, ele também atribui um novo ID ao layout do teclado automaticamente.
  2. Edite o layout do teclado.
  3. Salve o layout do teclado em algum local temporário como a área de trabalho. (Salvar diretamente em /Library/Keyboard Layouts/falha silenciosamente.) Você pode usar um dos dois formatos. Os popovers no estilo iOS mostrados ao pressionar as teclas funcionam apenas com o formato de pacote configurável. O formato de arquivo XML único (padrão) é mais simples. Ao usar XML, verifique se o arquivo foi salvo com uma .keylayoutextensão.
  4. Mova o layout do teclado para /Library/Keyboard Layouts/. Os layouts de teclado ~/Library/Keyboard Layouts/não podem ser selecionados nas caixas de diálogo de senha ou na janela de login.
  5. Reinicie o computador. Sair e entrar novamente não é suficiente.
  6. Habilite o novo layout de teclado em Preferências do sistema.

Para aplicar alterações a um layout de teclado, execute sudo touch /Library/Keyboard\ Layouts/e reinicie.

Consulte https://web.archive.org/web/20151030180252/http://osxnotes.net/keylayout-files-and-ukelele.html para obter mais informações.


Atualização (outubro de 2015): existe uma nova versão do Ukelele (3.0.0) que inclui a opção de instalar o layout de dentro do aplicativo. Eu ainda precisava acessar as preferências do sistema para ativá-lo, mas não precisava passar pela linha de comando.

Lri
fonte
11
Obrigado! Tenho uma observação importante: os arquivos XML salvos pelo Ukelele precisam ter .keylayoutextensão. Desta forma, ele trabalhou :)
mik01aj
O uso do formato de pacote configurável permite colocar um arquivo de ícones .icns dentro do pacote configurável (mesmo local que .keylayout) e um ícone de escolha pode aparecer ao lado da fonte de entrada. (O Ukelele pode adicionar um ícone ao pacote por meio do menu. Você precisa de um .icns).
ebukva
11
Você também pode adicionar um ícone para um arquivo XML keylayout, por exemplo, salvando o arquivo icns como /Library/Keyboard Layouts/My Keyboard Layout.icns.
Lri
em vez de salvá-lo em algum lugar e movê-lo manualmente, você pode começar ukelele como root para que ele diretamente pode salvar a biblioteca layouts / / teclado
Rayjax
Eu também tive que editar o .keylayout arquivo diretamente para alterar o nameatributo na linha 5. Antes disso, ele não aparecia nas Preferências do Sistema, provavelmente porque tinha o mesmo nome que um layout existente. Ninguém mais encontrou isso? o_O
frnhr 10/07/2015
12

Criando o arquivo de layout do teclado

Eu também usei o Ukelele para gerar um layout de teclado. Você pode exportar o arquivo .bundleou .keylayoutcopiá-lo para /Library/Keyboard Layouts.

sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

Se você deseja que o ícone do teclado seja agrupado em um arquivo, o Ukelele oferece uma opção de exportação para o pacote. Portanto, neste caso, copie o .bundlearquivo. Como alternativa, você pode manter os ícones separados e copiá-los com o mesmo nome para a mesma pasta.

sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

Após uma reinicialização, você pode adicionar a fonte de entrada no menu Preferências do Sistema-> Teclado-> Fontes de Entrada. Provavelmente disponível em Outros ou no idioma se você anexou um idioma ao teclado no Ukelele.

Menu Fonte de Entrada

Como criar um arquivo .icns

mkdir layout.iconset

Em seguida, adicione os seguintes PNGs à pasta:

# All sizes necessary
icon_16x16.png
[email protected]
icon_32x32.png
[email protected]
icon_128x128.png
[email protected]
icon_256x256.png
[email protected]
icon_512x512.png
[email protected]

Você não precisa de tudo isso, mas esta é a lista oficial. Alguns são redundantes na contagem de pixels, mas indicam densidade.

iconutil --convert icns --output layout.icns layout.iconset/

Exemplo de projeto no GitHub

Meu projeto russo-ucraniano no GitHub é uma demonstração que está atualmente trabalhando no Mavericks 10.9.5.

Cameron Lowell Palmer
fonte
2
+1 para o link do projeto ucraniano-russo. Compartilhando com alguns companheiros agora. Obrigado cara!
Costa do Mar do Tibete
Você é muito bem-vindo!
Cameron Lowell Palmer
11
Muito +1 para o link do projeto entre ucraniano e russo. Apoiamos você, @CameronLowellPalmer (e outros)!
Per Lundberg
5

O Ukelele pode funcionar para você, apenas esteja avisado de que parece estar religando as chaves no nível do software (em vez do hardware), então você provavelmente começará a se deparar com problemas como alguns aplicativos que não reconhecem modificadores ou religações especiais de teclas, não podendo para usá-lo em diálogos de senha, etc.

Se você está procurando uma solução mais robusta, consulte o Karabiner .

Sensível
fonte
O Karabinier também é melhor porque você não precisa copiar o arquivo de configuração, pois está funcionando diretamente. E você pode habilitá-lo a partir de configuração padrão misc / sistema
bormat
-1

Use Ukelele estável mais antigo versão 1.8.4 ... Não é necessário reiniciar

Eu tenho o OS X 10.10.5 (Yosemite). A versão atual de Ukelele não funcionou, mesmo depois de eu ter tentado várias outras sugestões. Finalmente, desinstalei a versão atual e instalei a versão estável mais antiga (1.8.4). Depois disso, funcionou muito bem. Não foi necessário reiniciar. Basta salvar o novo layout em Layouts de biblioteca / teclado. Em seguida, abra as preferências do teclado, fontes de entrada. Adicione clicando no +e você verá o novo layout em 'Outros'.

Nilotpal
fonte