Can a Macbook Pro KB be programmed with a layers like a Pok3r?

I know this is kinda off topic… more of a living with 60% muscle memory when the 60% isn’t available.

TL;DR, I am thinking about buying a Macbook Pro (want to run Sketch) and was wondering if there is a way to remap the Caps Loc to be a momentary Layer key with additional layer like the Pok3r?

The googling I’ve done always seems to point to switching languages and the caps lock is more of a toggle, which is not really the same.

Currently, I’m using a Pok3r programmed similar to a Yoda v1 layout and also been running a hack ( ) on my Fedora/Dell XPS to make my laptop keys map the same way; caps loc and all, for times when my Pok3r is not available or I want to remain incognito. Just wondering if the same is available for Mac?

I haven’t tried this specifically, but the Mac app Karabiner can probably handle that. I know it has a number of complex options for using the caps lock key, such as changing it to control when you press it in combination with other keys, and using it as escape when pressed alone.

Thanks MightyJabba!

Reading through their docs, Karabiner looks promising and I like that fact the config is saved in JSON.

That said, I was hoping for something more rudimentary, like some startup scripts and a standard mac kb profile. Mainly because I am nervous about security, since any app that is meant to capture system wide KB input has the potential to be a keyboard logger and send off usernames and passwords to whomever. Karabiner has some reference to connection_manager.hpp in the src. I don’t know C++ or Boost so maybe I have no idea what I am talking about but this appears to be for accessing http. Or it could just be how it accesses the comms port or outputs to the command line, but it makes me nervous all the same.

I’m not a programmer, but I think Karabiner is pretty well regarded in the Mac community, so I didn’t really consider the possibility that it was just a stealth keylogger. But there’s nothing wrong with being cautious. I do know that there are ways of monitoring what apps connect to the Internet, and blocking certain apps from using it at all, so perhaps that’s one option.


Thanks again, I may just have to bite the bullet and get myself a Mac and hope it all works out :slight_smile:

I do know this, the Pok3r/Yoda layout is so ingrained in me at this point, that the 20 min I spent on my wifes computer last night felt like I was working with one hand tied behind my back. It was crazy. Oddly, I can remember the Ctrl to Cmd swap most of the time but I kept trying to get to the context menu or use arrow keys by pressing caps loc and that did not work out well.

If anyone is interested in what that looks like:

I am an iOS Developer and use Karabiner Elements with my KBD75.
Pok3r style shortcuts can be setup in the “Complex Modifications” tab, works fine with macOS Mojave.

As for security, the source code is available for inspection on GitHub.

1 Like

I’m pretty sure that the connection_manager is part of Karabiner’s mechanism for keeping an eye on what HID devices are available (i.e., it keeps track of when keyboards or other HID devices are plugged in or removed). It does use the Sparkle framework for updates, and it does create a virtual HID device that sits between your physical keyboard and the system, which requires a kernel extension, so, yeah, it totally has access to everything you type. There are apps that monitor (and optionally block) network connections (e.g., Little Snitch), and, assuming you could figure out how to configure it, you could use the built-in firewall software to filter outgoing packets.

If you wanted to try going the macOS keyboard profile route, SIL has software to help you with that, although I’m not able to reach their server at the moment.

1 Like

Thanks pixels and cmc!

Well, I got a Mac and Karabiner is working for most of what I wanted although I ended up writing my own confiig file and I am still fine tuning which modifier key does what since I’d like to maintain linux compatible fingers.

The one thing I can’t figure out is how to do spellcheck from the keyboard. In Linux and PC, there is a “context menu” button which works like right click over your cursor. Mac seems to have no such thing from the KB. While it would be nice to have the whole right click menu, having spellcheck working in chrome and atom editor without using the mouse would probably be enough. Thoughts?