Como corrigir o private.xml do aplicativo Karabiner para Mac OS X para ativar a navegação do tipo Vim no arquivo Preview.app?

1

Informações básicas:

Eu gostaria de usar a navegação h , j , k , l no arquivo Preview.app.

Há alguns meses, encontrei uma solução aqui: link . Graças ao aplicativo Karabiner e ao arquivo private.xml do Martijn's Courteaux, eu pude usar o hjkl no Preview.

De repente, parou de funcionar. Provavelmente devido a uma atualização do Karabiner ou do Preview.

Pergunta:

Você tem alguma idéia de como fazer com que esse arquivo .xml funcione? Ou talvez você saiba algumas outras soluções alternativas? ( Eu não quero usar atalhos como o comando + j no entanto. )

O código abaixo é o arquivo private.xml que eu uso.

<?xml version="1.0"?>
<root>
    <appdef>
        <appname>PREVIEW</appname>
        <equal>com.apple.preview</equal>
    </appdef>

    <item>
        <name>Vi Navigation in Preview</name>
        <identifier>private.preview.vinav</identifier>
        <only>PREVIEW</only>
        <uielementrole_not>AXTextField, AXTextArea</uielementrole_not>
        <modifier_only>
            ModifierFlag::NONE,
            ModifierFlag::SHIFT_L | ModifierFlag::NONE,
            ModifierFlag::SHIFT_R | ModifierFlag::NONE,
        </modifier_only>
        <appendix>Navigate using the HJKL keys</appendix>
        <autogen>__KeyToKey__ KeyCode::J, KeyCode::CURSOR_DOWN</autogen>
        <autogen>__KeyToKey__ KeyCode::K, KeyCode::CURSOR_UP</autogen>
        <autogen>__KeyToKey__ KeyCode::H, KeyCode::CURSOR_LEFT</autogen>
        <autogen>__KeyToKey__ KeyCode::L, KeyCode::CURSOR_RIGHT</autogen>
    </item>
</root>

Notas:

  • A versão do Karabiner é 10.9.0.
  • Estou usando o OS X El Capitan, mas também tive esse problema no OS X Yosemite.
por Mateusz Piotrowski 06.10.2015 / 23:59

1 resposta

1

tl; hotfix do dr.

Altere isto:

<appdef>
    <appname>PREVIEW</appname>
    <equal>com.apple.preview</equal>
</appdef>

para isso:

<appdef>
    <appname>PREVIEW</appname>
    <equal>com.apple.Preview</equal>
</appdef>

Observação: se isso não resolver seu problema, consulte a Atualização abaixo.

Qual foi o caso?

Acontece que o problema era que o identificador do aplicativo "Visualização" deveria ser com.apple.Preview e não com.apple.preview .

No entanto, não sei porque com.apple.preview parou de ser um identificador legal do aplicativo de visualização. Ou o mosquetão tornou-se sensível a maiúsculas ou a Apple decidiu alterar o identificador (o que é improvável).

De um jeito ou de outro, a solução é bem fácil.

Se você tiver alguns problemas com o Karabiner, você pode tentar solucionar o problema usando o EventView do Karabiner e lendo os manuais: geral manual , manual xml privado .

Atualizar

Este recurso parou de funcionar novamente há algum tempo.

A solução é remover completamente a parte <appdef> . Reinicie o Preview App e o Karabiner após uma remoção bem-sucedida.

Meu private.xml se parece com isso no momento:

<?xml version="1.0"?>
<root>
    <!-- <appdef> -->
        <!-- <appname>PREVIEW</appname> -->
        <!-- <equal>com.apple.Preview</equal> -->
    <!-- </appdef> -->
    <item>
        <name>Vi Navigation in Preview</name>
        <identifier>private.preview.vinav</identifier>
        <only>PREVIEW</only>

        <appendix>Navigate using the HJKL keys</appendix>
        <autogen>__KeyToKey__ KeyCode::J, KeyCode::CURSOR_DOWN</autogen>
        <autogen>__KeyToKey__ KeyCode::K, KeyCode::CURSOR_UP</autogen>
        <autogen>__KeyToKey__ KeyCode::H, KeyCode::CURSOR_LEFT</autogen>
        <autogen>__KeyToKey__ KeyCode::L, KeyCode::CURSOR_RIGHT</autogen>
    </item>
</root>
    
por 12.10.2015 / 19:21