Kaleidoscope-like functionality on built-in Mac keyboard?

I’ve gotten super spoiled by my ability to customize my Atreus, but for Reasons I’m often still just using the built-in MacBook Pro keyboard. I’d love to bring over some of the Kaleidoscope-like innovations to the built-in keyboard. Specifically I love love love the ability to treat an arbitrary key like a modifier when you hold it down so that I don’t usually have to move very far off the home row.

Does anyone here have experience doing such things, e.g. in Karabiner-Elements or some other tool?

I never did something like that, but it might be possible using Hammerspoon. You need to be a bit experienced in programming in order to use it though.

But I really doubt it. Reason: when keeping a normal key pressed, the OS repeats that key. So an application can’t tell the difference of you hitting that key often or the OS is doing it.

You’d probably need to install a custom keyboard driver in order to get near that kind of functionality…

or use a travel case to get that done.

On linux I think it would work though.

I’ve never done anything fancy with Karabiner, but someone did put together a Textblade-inspired configuration a while back, which may have some stuff you can steal.

Kmonad is also a more explicit attempt to make a software-side QMK-type setup; among other things, I think it should be able to handle the hold-for-modifier case you want pretty easily. (I’m just using it for foot pedals, not my primary keyboard, but it seems pretty good for that.)

(And don’t get excited about the textblade itself; I ordered it (not pre-ordered - they were already in production) in 2015, and after years of poor communication and “we just have a couple more bugs to squash in the firmware before final release”, their official forums are offline, and the blog hasn’t been updated since 2017.)

Thanks that sounds exactly like what I’m looking for.

I am using Kmonad on my laptop’s built in keyboard whenever I need to use it portably. If you care for some inspiration, here is my current config. Much of this was inspired by this post.

Thank you, this is EXACTLY what I was looking for, and I am typing with it right now! To get this working on my M1 Mac I ended up relying on this post.

1 Like