Wie kann private.xml aus der Karabiner-App für Mac OS X korrigiert werden, um eine Vim-artige Navigation in der Vorschau.app zu aktivieren?

1172
Mateusz Piotrowski

Hintergrundinformation:

Ich möchte verwenden h, j, k, lNavigation im Preview.app.

Vor einigen Monaten habe ich hier eine Lösung gefunden: https://apple.stackexchange.com/a/188301/127306 . Dank der Karabiner-App und der privaten.xml-Datei von Martijn's Courteaux konnte ich hjkl in der Vorschau verwenden.

Plötzlich hörte es auf zu arbeiten. Vermutlich aufgrund eines Karabiner-Updates oder einer Vorschau.

Frage:

Haben Sie eine Idee, wie diese .xmlDatei funktionieren soll? Oder kennen Sie vielleicht andere Problemumgehungen? ( Ich möchte jedoch keine Abkürzungen wie command+ verwenden j. )


Der folgende Code ist die private.xmlDatei, die ich verwende.

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

Anmerkungen:

  • Die Karabiner-Version ist 10.9.0.
  • Ich verwende OS X El Capitan, aber ich hatte dieses Problem auch unter OS X Yosemite.
1

1 Antwort auf die Frage

1
Mateusz Piotrowski

tl; dr hotfix

Ändere das:

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

zu diesem:

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

Hinweis: Wenn das Problem dadurch nicht gelöst wird, schauen Sie sich das Update unten an.

Was war der fall

Es stellte sich heraus, dass das Problem darin bestand, dass der Bezeichner der Vorschau-App sein sollte com.apple.Previewund nicht com.apple.preview.

Ich weiß jedoch nicht, warum es nicht länger com.apple.previewals gesetzlicher Bezeichner der Preview-App gilt. Entweder wurde Karabiner zwischen Groß- und Kleinschreibung unterschieden oder Apple entschied, die Kennung zu ändern (was unwahrscheinlich ist).

Auf die eine oder andere Weise ist die Lösung ziemlich einfach.

Wenn Sie Probleme mit Karabiner haben, können Sie versuchen, das Problem mithilfe von EventView von Karabiner zu beheben und die Handbücher zu lesen: allgemeines Handbuch, privates XML-Handbuch .

Aktualisieren

Diese Funktion wurde vor einiger Zeit wieder eingestellt.

Die Lösung besteht darin, das <appdef>Teil vollständig zu entfernen . Starten Sie die Preview-App und den Karabiner nach einer erfolgreichen Deinstallation neu.

Mein private.xmlsieht im Moment so aus:

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