MacBook Tastaturlayout – Einfacher Programmieren mit Karabiner

Was mich beim Programmieren auf meinem MacBook wirklich nervt, ist das bescheidene deutsche Tastaturlayout. Insbesondere kann ich mir einfach die Position der eckigen Klammern und der Tilde nicht blind merken. Der Backslash ist nicht einfach zu erreichen und nach Pipe suche ich auch immer mal wieder an der falschen Stelle…

Auftritt Karabiner.

karabinerMit dem kleinen (aber nicht gerade übersichtlichen) Public Domain Programm kann fast beliebiges Remapping von Tasten betrieben werden. Ausgenommen ist das Umbelegen von Systemsondertasten (wie etwa Caps Lock/Feststelltaste – dafür müsste man Karabiner mit Seil kombinieren… zum Programmieren und störungsfreien Schreiben reicht es mir aber schon, über „Systemeinstellungen->Tastatur: Sondertasten“ die Feststelltaste einfach mit „Keine Aktion“ zu belegen). Darüber hinaus bietet das Tool noch jede Menge andere Einstellmöglichkeiten, wie etwa die Einstellung von Tastenanschlägen im ms Bereich oder eine Erweiterung für Multitouch-Events auf dem TouchPad.

Heruntergeladen und installiert, muss dem Programm zunächst über „Systemeinstellungen->Sicherheit->Privatsphäre: Bedienungshilfen“ noch erlaubt werden, das MacBook zu steuern. Wenn Karabiner läuft, sind einige Dinge schon voreingestellt. Dazu gehört etwa die Tastenkombination fn+Backspace für Forward Delete oder fn+Pfeiltasten für PageUp, PageDown, Home und End.

Um jetzt eigene Tastenkombinationen zu definieren, startet man Preferences über des Icon in der Menübar. Wenn man unter dem Reiter „Misc & Uninstall“ auf den Button „Open private.xml“ klickt, kann man anschließend die Datei in einem Editor seiner Wahl öffnen.

Die Syntax für eine eigene Tastenkombination sieht wie folgt aus:


 Name der Tastenkombination
 private.eideutiger_kurzname
 __KeyToKey__ KeyCode::ORIGINAL_TASTEN_CODE, ModifierFlag::ORIGINAL_TASTEN_CODE, KeyCode::GEMAPPTER_TASTEN_CODE

Dabei können mehrere „autogen“ (und damit Tastenzuweisungen) in einem „item“ stehen. Die verfügbaren TASTEN_CODES gibt es hier.

Nach dem Speichern muss die veränderte Datei noch unter dem Reiter „Change Key“ über den Button „Reload XML“ eingelesen werden. Wenn keine Syntaxfehler vorliegen, erscheinen die neuen Einträge in der Liste und können mit einem einfachen Klick auf ihre Checkbox aktiviert werden.

Für mich haben sich die folgenden Tastenkombinationen als hilfreich herausgestellt, die sich zum Teil am PC-Keyboard orientieren und fn-Kombinationen nutzen:


 Eckige Klammer links: fn+8
 private.bracket_left
 __KeyToKey__ KeyCode::8, ModifierFlag::FN, KeyCode::5, ModifierFlag::OPTION_L


 Eckige Klammer recht: fn+9
 private.bracket_right
 __KeyToKey__ KeyCode::9, ModifierFlag::FN, KeyCode::6, ModifierFlag::OPTION_L


 Pipe: fn+lt
 private.pipe_gt
 __KeyToKey__ KeyCode::GERMAN_LESS_THAN, ModifierFlag::FN, KeyCode::7, ModifierFlag::OPTION_L


 Tilde: fn++
 private.tilde_plus
 __KeyToKey__ KeyCode::BRACKET_RIGHT, ModifierFlag::FN, KeyCode::N, ModifierFlag::OPTION_L


 Backslash: fn+7
 private.backslash_seven
 __KeyToKey__ KeyCode::7, ModifierFlag::FN, KeyCode::7, ModifierFlag::OPTION_L, ModifierFlag::SHIFT_L

Eine weitere kleine Unterstützung bei der Programmierarbeit leistet eine vernünftige Schriftart. Ich habe mich für „Hack“ entschieden. Da ist gerade die zweite Version erschienen und die Schriftart ist Open Source. Einfach das Schriftartpaket herunterladen, die ttf-Dateien über die „Schriftsammlung“ installieren und in allen Editoren „Hack“ als Standardschriftart einstellen.

Warum Apples MacBook 12 nur einen USB-C Anschluss hat

These 1:
Spieleentwickler streichen Features, weil sie bereits die erste Erweiterung oder den nächsten In-App-Purchase im Kopf haben. Apple wird wahrscheinlich für die nächste Iteration des MacBook 12 keinen signifikant schnelleren Prozessor, keine deutlich längere Batterielaufzeit und keinen viel besseren Bildschirm aus dem Hut zaubern (können). Natürlich könnte man 16GB RAM anbieten oder 1TB SSD-Speicher (und natürlich eine bessere Webcam). Die erste These ist: Apple promotet das MacBook 12 2016/2017 mit 100% mehr USB-C Anschlüssen. Es gibt bestimmt genug Erstkäufer, die ihr Gerät upgraden würden, wenn ein zweiter USB-Anschluss vorhanden ist.

These 2:
Die zweite These lautet: Apple hat für ein Nutzungsproblem noch keine aus seiner Sicht angemessen Lösung gefunden. Das Problem: wie stelle ich sicher, dass das MacBook 12 auch tatsächlich lädt, wenn der Nutzer es an das Netzteil anschließt? Auf diese Frage gibt es nur dann eine triviale Antwort, wenn ein MacBook 12 2016/2017 an beiden verbauten USB-C Anschlüssen geladen werden könnte. Man kann ja nicht davon ausgehen, dass der Nutzer darauf achtet, ob tatsächlich ein Ladesymbol auf dem Bildschirm angezeigt wird, wenn er das Netzteil in den richtigen Anschluss steckt – und ein optisches Signal am Kabel, wie noch beim MacSafe-Anschluss, gibt es ja nicht mehr. Lenovo hat sich für seine Ladetechnik beim Yoga 3 11 (Ladeanschluss kann auch als USB 2.0 Port genutzt werden) dafür entschieden, den Ladestecker so zu formen, dass er nicht in einen normalen USB-Port passt – das wäre für Apple vermutlich keine elegante Lösung.

These 3:
Die aktuelle Version des MacBook 12 mit einem USB-C-Anschluss ist in dieser Implementation sowieso nur ein Vormodell. Apple wartet noch auf die Thunderbolt-Version 3.0 die über USB-C funktionieren wird. Deshalb gibt es auch keinen Displayport-USB-C-Adapter für das aktuelle MacBook 12. These 3 ist daher: das aktuelle MacBook 12 ist nur ein „proof of concept“, die angedachte, „voll funktionsfähige“ Revision kommt dann ein wenig später.

These 4:
Apple glaubt tatsächlich, dass eine bestimmte Gruppe von Nutzern keine oder kaum externe Gerät nutzt und daher ein Anschluss ausreicht. Außerdem sollen sowieso alle Nutzer noch stärker an die iCloud gebunden werden. Die vierte These lautet daher: Apple gesteht seinen Nutzern großzügigerweise noch einen USB-Anschluss zu, um sie nicht ganz zu vergraulen. Eigentlich hätte Apple aber lieber gar keinen vernünftig nutzbaren Anschluss (ähnlich dem Lightning-Port an iOS-Geräten). In einer zukünftigen Version des MacBook 12 gibt es daher dann nur noch „inductive wireless charging“ und allenfalls eine ominösen „service port“ – ganz wie bei der Apple Watch.

The long way – von Mac OS X zu GNU/Linux?

Der Mensch ist ein Gewohnheitstier. Das könnte einer der Hauptgründe sein, weshalb es mir so schwer fällt, letztlich den Schritt weg von Apple und hin zu GNU/Linux zu gehen. Der Wille ist da, der Versand sagt ja (Snowden sei dank), aber das Gewohnheitstier in mir sagt nein. Warum? Vielleicht weil ich mich im goldenen Käfig des Unternehmens aus Cupertino so wohl fühle? Wohl kaum.

Meine Musik kaufe ich immer noch lieber (oftmals ja nicht nur gebraucht sogar deutlich billiger als online) auf altmodischen physischen Medienträgern (CD anyone?). Die lassen sich einfacher (legal) verleihen und bei späterem Nicht(mehr)gefallen auch wieder verkaufen. Filme und Serien? Laufen bei mir eher „einfach so“ aus dem Internet, über Amazon Prime Instant Video oder werden auf Blu-Ray käuflich erworben. Was also hält mich bei Apple?

An der Hardware und Qualität des MacBook Air 11 kann es nicht mehr liegen. Hier haben sich etwa mit den Asus Zenbooks, dem Dell XPS 13 und diversen anderen Geräten durchaus ansehnliche Konkurrenten im PC-Lager aufgetan. Auch wenn die lange Akkulaufzeit der MacBooks noch nicht immer erreicht wird, so wird die Differenz doch immer kürzen. Allenfalls bei dem wirklich sehr geringen Verbrauch der MacBooks im Standby sieht die PC-Front oftmals noch alt aus. Was ist also der Hauptgrund dafür, dass ich trotz diverser Versuche mit unterschiedlichen Notebooks, immer wieder zu meine MacBook zurückkehre?

Zum einen ist es wohl die nahtlose Interaktion zwischen iPhone, MacBook Air und iPad. Zuletzt vor allem dank Continuity… wobei der Sicherheitswahnsinn mit weitergeleiteten SMS-TANs eigentlich ein klares Gegenargument ist. Außerdem ist es ja mit Aufwand verbunden, seine Termindaten und Kontaktdaten auf eine andere Plattform zu migrieren und die einfache Synchronisation zwischen Notebook und Mobiltelefon sicherzustellen. Der Mensch ist halt faul. Nur keine unnötige Energie aufwenden/verschwenden… (das ist wohl auch der Hauptgrund, weshalb zwar alle Slacktivisten mega engagiert auf Teilnahmebuttons eindreschen, ansonsten aber eher nicht mit echter physischer Anwesenheit auf Demos glänzen).

Zum anderen halten einen wohl die liebgewonnenen Oberfläche und eingeschliffenen Handgriffe bei Mac OS X. Ubuntu kommt für mich dank seiner Philosophie in den letzten Versionen nicht in Frage. Aber wenn ich bei Fedora sogar Hand anlegen muss, um eine einigermaßen hübsche und leserliche Font hinzubekommen, bin ich schon das erste mal genervt. Und dann erst das Thema Konsistenz… bei Apple passen Betriebssystem- und Programmoberflächen und Bedienung zumindest halbwegs einheitlich zusammen. Bei GNU/Linux kommt das nicht so häufig vor. Manchmal wünschte ich, statt dem fünften Fork oder der sechsten Programmalternative würde sich die Open Source Entwicklergemeinde mal gemeinsam einer Oberfläche, einem Programm oder einer Distribution widmen. Ja, Geschmäcker sind verschieden, aber ein richtiges Gericht ist mir, auch wenn es nicht mein Lieblingsgericht ist, doch lieber als zwei halbgare. Aber das ist eigentlich meckern auf hohem Niveau. Denn eigentlich findet man für GNU/Linux alles an Software was man braucht (und allzu umständlich ist die Arbeit mit unterschiedlichen Programm- und Designphilosophien dann doch nicht).

Der Hauptgrund für die Entscheidung langfristig von OS X auf GNU/Linux umsteigen zu wollen, liegt aber nicht bei Programmen oder Design. Er liegt zum einen in den spätestens durch Snowden aufgeworfenen Notwendigkeit von sicherem Computing, Datenschutz und sicherer Kommunikation (security by obscurity liegt Open Source dann doch deutlich ferner als den Sicherheitsbemühungen von Apple, Microsoft und co.). Aber natürlich ist auch Apple schuld. Nicht weil ihr OS und ihre Programme immer schlechter werden würden, nein, viel schlimmer, sie werden immer einfacher (das neue Fotos ist da ein gutes Beispiel). Apple schafft es wie wohl nur wenige Unternehmen, weniger Funktionsumfang und ausladendere Freiflächen (mit großen Designelementen) (und Notebooks mit nur einem Anschluss…) als das nächste Level der Software- und Harware-Evolution zu verkaufen. Aber ernsthaft: Wer will schon iOS auf einem Arbeitscomputer? Ich finde ja schon das (mehr oder weniger einfache) überstülpen von iOS vom iPhone auf das größere Display des iPad nicht nur gelungen.