д-р исправление
Изменить это:
<appdef> <appname>PREVIEW</appname> <equal>com.apple.preview</equal> </appdef>
к этому:
<appdef> <appname>PREVIEW</appname> <equal>com.apple.Preview</equal> </appdef>
Примечание: если это не решит вашу проблему, посмотрите обновление ниже.
В чем дело?
Оказывается, проблема заключалась в том, что идентификатор приложения Preview должен быть, com.apple.Preview
а не должен com.apple.preview
.
Однако я не знаю, почему com.apple.preview
перестали быть юридическим идентификатором приложения Preview. Либо Карабинер стал чувствительным к регистру, либо Apple решила изменить идентификатор (что маловероятно).
Так или иначе, решение довольно простое.
Если у вас есть какие-то проблемы с Karabiner, вы можете попытаться решить проблему, используя EventView Karabiner и читая руководства: общее руководство, личное руководство xml .
Обновить
Эта функция перестала работать еще некоторое время назад.
Решение состоит в том, чтобы полностью удалить <appdef>
деталь. После успешного удаления перезапустите приложение Preview и Karabiner.
Моя private.xml
выглядит так на данный момент:
<?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>