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.

Fedora 23@Dell XPS 13 9350: Was geht?

Die folgenden Ausführungen beziehen sich auf:

  • Dell XPS 13 9350 8GB / 256GB SSD mit BIOS Version 1.1.7
  • Fedora 23 mit Kernel 4.2.3.300 bzw. 4.4.0-0.rc5 (nur WLan)

Out of the Box (nachdem man die Installationsprobleme ausgeräumt hat)  sieht es wie folgt mit der Funktionsfähigkeit aus:

 Funktion  Stand der Dinge
Touchpad TapToClick und TwoFingerScroll funktionieren problemlos. Bei Nutzung des Synaptics Treibers leider keine Handballenerkennung/ palm detection. Soll mit libinput funktionieren (noch nicht getestet). In sehr seltenen Fällen wird das Anheben des Fingers nicht registriert und stattdessen Text markiert.
Tastatur In sehr seltenen Fällen kommt es immer noch vor, dass vereinzelt ein Buchstabe doppelt ausgegeben wird.
USB-C -> HDMI Externer FullHD Monitor funktioniert mit Leicke USB-C auf HDMI Adapter problemlos.
USB-C -> USB-A Festplatte oder USB-Stick über USB-C auf USB-A Adapter werden nicht erkannt. Anstecken löst kein UDEV Event aus.
SD-Kartenleser Funktioniert problemlos.
Kamera Nicht getestet, sondern im EFI/BIOS gleich deaktiviert.
Audio Soundausgabe funktioniert auf Anhieb ohne lästige Neustarts obwohl vorher Windows lief.
Mikrofon funktioniert.
WLan Funktioniert nur nach Treiberdownload und Installation von Kernel 4.4.
Bluetooth Firmware Datei BCM-0a5c-6412.hcd fehlt und muss erst heruntergeladen werden.
Standby Standby beim Schließen des Notebookdeckels funktioniert. Es treten allerdings ein paar ata_scsi Error auf.
Shortcuts Stand der Dinge
Bildschirmhelligkeit F11/F12 und einstellen der Helligkeit über Menü funktionieren nur mit Kernel cmdline-Parametern „acpi_osi=Linux i915.preliminary_hw_support=1“.
Keyboard Backlight F10 funktioniert. Helligkeit kann auch in drei Schritten (0: AUS, 1: gedimmt, 2: hell) über „/sys/class/leds/dell::kdb_backlight/brightness“ gesteuert werden.
Multimedia F4/F5/F6 funktionieren wenn bspw. Rhythmbox läuft.
Lautstärke F1/F2/F3 funktionieren.
Fn-Lock Fn+Esc schaltet FN-Lock an/aus.
Suche F9 ruft die Suche von Gnome 3 auf.
Flugmodus Fn+“Druck“ liefert erstmal nur „dell_wmi: Unknown key 153 pressed“.
Externer Bildschirm F8 ohne Funktion.

Fedora 23@Dell XPS 13 9350 – Teil 2: WLan & Bluetooth

Leider hat Dell es auch mit der neuen Iteration des XPS 13 nicht hinbekommen, von umgelabelten Broadcom WLan-Karten (im Fall des XPS 13 9350 eine Broadcom 4350) auf voll Linux kompatible Intel Karten umzusteigen.

Wer möchte, kann natürlich immer noch die M.2 Broadcom Karte einfach gegen eine Intel 7260 oder Intel 7265 austauschen. Für den Anfang kann man aber auch erstmal die Broadcom 4350 zum Laufen bekommen. Diese wird ab Kernel 4.4 unterstütz, so dass es noch etwas zu tun gibt.

Die folgenden Ausführungen beziehen sich auf:

  • Dell XPS 13 9350 8GB / 256GB SSD mit BIOS Version 1.1.7
  • Fedora 23 mit Kernel 4.2.3.300
  1. Zunächst kümmern wir uns um eine der Error-Meldungen in dmesg. Sie betrifft die Bluetooth Einheit der Broadcom Karte. Dafür einfach die fehlende Datei BCM-0a5c-6412.hcd herunterladen und nach „/lib/firmware/brcm/“ kopieren. Nach einem Neustart kann problemlos eine Maus u.a. per Bluetooth angeschlossen werden.
  2. Jetzt holen wir uns den Treiber für den Broadcom 4350 WLan Teil: brcmfmac4350-pcie.bin und kopieren ihn ebenfalls nach „/lib/firmware/brcm/“.
  3. Ich habe mich jetzt für die einfachste Variante entschieden und einfach Kernel 4.4.0-0.rc5 installiert (EDIT: alte Links gehen nicht mehr. Link auf alternative Kernel-Version mit Dank an Frank für seinen entsprechenden Kommentar). Dafür einfach die drei Dateien kernel-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm, kernel-core-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm und kernel-modules-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm herunterladen. Diese dann mittels „rpm -ivh kernel-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm kernel-core-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm kernel-modules-4.4.0-0.rc5.git1.2.fc24.x86_64.rpm“ installieren.
  4. Jetzt noch die grub.cfg updaten (dabei den Eintrag von „acpi_osi=Linux i915.preliminary_hw_support=1“ für die Helligkeitssteuerung in „/etc/default/grub“ nicht vergessen): „grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg“. Nach dem Neustart sollte WLan dann endlich funktionieren.