Ich besitze einen R400 Presenter von Logitech. Meiner Meinung nach bietet dieser alles, was man so von einem Presenter erwartet. Zusatzfunktionen der teureren Modelle wie Display oder Diktiergerät benötige ich nicht. Er funktioniert auch einwandfrei – sofern man denn PowerPoint verwendet – da die einzelnen Tasten einfache Tastaturkommandos schicken, wie sie PowerPoint erwartet. Wenn man nun aber die Präsentation mit LaTeX erstellt und das daraus resultierende pdf am Mac in Skim anzeigt, funktioniert die Bedienung nicht mehr.

Normalerweise sendet der R400 für nächste und vorherige Folie „Bild ab“ beziehungsweise „Bild auf“. Der Knopf zum Start der Präsentation entspricht einem Klick auf „F5“ und das Abdunkeln des Bildschirms einem auf „.“ – eben genau so, wie es für PowerPoint benötigt wird. Diese Tastendrücke lassen sich mit Karabiner anderen Tasten zuweisen. Nach der Installation begeben wir uns dazu in die Einstellungen von Karabiner und öffnen dort die private.xml, was das Hinzufügen von eigenen, über die voreingestellten hinausgehenden Zuweisungen, ermöglicht.
karabiner1
Der komplette Inhalt kann dann einfach durch den meiner private.xml ersetzt werden, die ich hier hochgeladen habe. Sie sieht folgendermaßen aus:

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>SKIM</appname>
    <equal>net.sourceforge.skim-app.skim</equal>
  </appdef>
  <item>
    <name>R400 for presentation in Skim</name>
    <identifier>private.presenter_skim</identifier>

    <only>SKIM</only>

    <autogen>__KeyToKey__ KeyCode::PAGEDOWN, KeyCode::CURSOR_RIGHT</autogen>
    <autogen>__KeyToKey__ KeyCode::PAGEUP, KeyCode::CURSOR_LEFT</autogen>
    <autogen>__KeyToKey__ KeyCode::DOT, KeyCode::B</autogen>
  </item>
</root>

Dabei wird zunächst die App Skim definiert, um das Remapping später nur bei geöffnetem Skim durchzuführen. Schließlich soll der R400 ja auch noch in PowerPoint funktionieren.

  <appdef>
    <appname>SKIM</appname>
    <equal>net.sourceforge.skim-app.skim</equal>
  </appdef>

Dann wird ein frei wählbarer Name und eine ID für das Remapping vergeben, der später im Karabiner-Fenster angezeigt wird.

    <name>R400 for presentation in Skim</name>
    <identifier>private.presenter_skim</identifier>

Nun wird festgelegt, dass die Zuweisung nur in Skim erfolgen soll.

    <only>SKIM</only>

Und zum Schluss erfolgt dann das eigentliche Remapping. So wird aus „Bild ab“ der „Pfeil nach rechts“, aus „Bild auf“ der „Pfeil nach links“ und aus dem Punkt ein „B“, was in Skims Präsentationsmodus für das Abdunkeln des Bildschirms sorgt.

    <autogen>__KeyToKey__ KeyCode::PAGEDOWN, KeyCode::CURSOR_RIGHT</autogen>
    <autogen>__KeyToKey__ KeyCode::PAGEUP, KeyCode::CURSOR_LEFT</autogen>
    <autogen>__KeyToKey__ KeyCode::DOT, KeyCode::B</autogen>

Die Taste zum Start des Präsentationsmodus von Skim habe ich auf F5 geändert. Da das mit Bordmitteln geht, ist hier kein Umweg über Karabiner nötig. Dazu müssen die Systemeinstellungen geöffnet werden. Unter „Tastatur“ kann dann jedem Befehl, der im Menü auftaucht, eine Tastenkombination zugewiesen werden.
karabiner2
Dazu muss der Name nur exakt dem Eintrag im Menü entsprechen, im vorliegenden Fall also „Präsentation“.
karabiner3
Und damit funktionieren alle Tasten des R400 auch in Skim und damit bei pdfs wie von PowerPoint gewohnt. Die Fähigkeiten von Karabiner wurden hierbei nur oberflächlich behandelt und sind weitaus größer, wie der Dokumentation zu entnehmen ist.