A way to boost your productivity with Karabiner

:+1::+1::+1::+1::+1:

Thank you very much for your help and thank you for making me discover this great utility. Friendly companion to Keyboard Maestro.

Well, in my experience not always “friendly”.

I tried to use Karabiner a couple of times in the last years, and each time I had to uninstall it because it caused some kind of trouble.

Without going much into details: Once it produced kernel panics (that was back then when it still was called KeyRemap4MacBook). The last time (some months ago) no more kernel panics, but it managed somehow to progressively slow down all keystrokes, so that 30–40 minutes after system boot the computer was virtually unusable. (Window scrolling was also affected.)

The only other “keystroke-related” tools I’m using over the years are Typinator and Keyboard Maestro, and I never experienced comparable problems with any of them. Of course, Karabiner works on a lower level then KM/Typinator, and maybe the (potential) issues are just the price for that power.

It may sound silly, and due to my experiences I’m surely biased, but with Karabiner installed I feel a bit as if I had jailbreaked my Mac. So I decided to give up on any further experiments with Karabiner, and to live with the limited —but less invasive— power of Keyboard Maestro :slight_smile:

Maybe I’ll give it another try at some (distant) point in the future. The customization possibilities it offers are really tempting, that’s for sure.

Of course you guys could! I’m guessing @nikivi remembers them because they are organized in a particular way.

Maybe it would be hard to remember all of @nikivi’s shortcuts, but I bet if you used a similar approach for your own you’d have no problem.

It’s kind of like having a hot key menu without having to select from the UI.

1 Like

@nikivi, thanks for sharing! Some of these will be very useful to me.
I also use Karabiner in partnership with Keyboard Maestro, BetterTouchTool, and ControllerMate as each tool has their unique uses.

For some feedback, you could split your private.xml file into individual xml files for each section then use private.xml as a controller for them. For example, here is my private.xml file.

<?xml version="1.0"?>
<root>
  <block>
    <include path="defs-deviceProductDef.xml" />
    <include path="defs-waitDef.xml" />
    <item><name>Private Configuration</name>
      <item><name>Application: BetterTouchTool</name><include path="app-BetterTouchTool.xml" /></item>
      <item><name>Application: Virtual Machines</name><include path="app-virtualMachines.xml" /></item>
      <item><name>Application: Web Browsers</name><include path="app-webBrowsers.xml" /></item>
      <item><name>Hardware: Sculpt Keyboard</name><include path="hardware-SculptKeyboard.xml" /></item>
      <item><name>System: Control Macros</name><include path="system-ctrlMacros.xml" /></item>
      <item><name>System: Misc</name><include path="system-misc.xml" /></item>
      <item><name>Testing</name><include path="testing.xml" /></item>
    </item>
  </block>
</root>

The first 2 includes read in definitions that are used in all the other XML files.
Then each item entry is a different section that I can turn on and off from the Karabiner GUI.

With them split into smaller sections, it is easier to maintain and update.