Magicforce 68 Mechanical Keyboard and Karabiner Elements

After reading “Why I Love Compact Mechanical Keyboards and You Will Too” over at The Wirecutter, I stuck the Magicforce 68 with Gateron Brown switches in my save for later list on Amazon. A few days ago, a 20% off sale on the Magicforce prompted the purchase of my first mechanical keyboard in years. Once upon a time, my Northgate OmniKey Ultra was a reliable companion (wish I still had it). In the intervening years, MacBook and Apple wireless keyboards have been my go-to input devices.

I’ve been missing that mechanical feel, of late, so when this keyboard with respected switches dipped to US$55, I went for it. It showed up a couple hours ago, and this post is its first test.

The first thing I did was remap the keys for macOS using Karabiner Elements.

Screenshot of Karabiner Elements showing mappings for left_command to left_option, left_option to left_command, right_control to right_option, and right_option to right_command. The target device is “USB Gaming Keyboard (HOLDCHIP)”.

Here’s what that looks like in the karabiner.json file.


"simple_modifications": [
"from": {
"key_code": "left_command"
"to": {
"key_code": "left_option"
"from": {
"key_code": "left_option"
"to": {
"key_code": "left_command"
"from": {
"key_code": "right_option"
"to": {
"key_code": "right_command"
"from": {
"key_code": "right_control"
"to": {
"key_code": "right_option"

That swaps the Cmd and Alt keys around to match the standard Mac configuration.

After that, I used the keycap puller included with the Magicforce to swap the keycaps to match the new mappings.

Something to be aware of when using this and other 65% keyboards with macOS is that the tilde and Esc share a key. When Cmd+tab switching between apps, Cmd+~ is used to cycle backward through the app list and Esc is used to abandon the switch. The Magickey defaults the Esc+~ key to Esc, which interferes with Cmd+tab flow. Use Fn+q (built into the Magicforce) to switch the default behavior of the Esc key to ~ instead of Esc.

In this mode, Fn+Esc is needed to send Esc. I’m not fond of that, so I overload the Caps Lock key to serve as a hyper key and an escape key. I do this for all my keyboards, not just 65 percenters.

Screenshot of Karabiner Elements showing the complex modifications page. The rule “Change caps_lock key to command+control+option+shift. (Post escape key when pressed alone)” is installed and active.

To install the “Change caps_lock key to command+control+option+shift. (Post escape key when pressed alone)” rule, click “Add Rule” in the bottom left and then choose to import rules from the internet. On the resulting web page, import the “Change caps_lock key” ruleset in the “Modifier Keys” section.

I wrote this blog post with the Magicforce and enjoyed my reunion with that mechanical clack of memory. My typing speed and accuracy have declined over the years due to neuropathy, RSI, a broken wrist, and muscle cramps that frequent my hands. So far, I’m feeling more accurate on this keyboard than I have in a while. Perhaps the clack and travel give the extra tactile feedback my diminished senses need. Hopefully, my hand spasms will be okay with that.

My black Magicforce mechanical keyboard with keycaps swapped for a macOS layout. The backlit keys glow white. The keyboard sits on my lap desk, which is a green cutting mat with white layout lines laid on a grid affixed to a piece of plywood with contact cement. The cutting mat shows its history as a hard working surface, complete with stains and gouges.


Planning, Productivity, and Budgeting as Curriculum

Our style of unschooling is to bring the kids into the processes and flows of managing the family. The rhythms of keeping a household and budgeting money are important survival skills. The whole family is involved in setting priorities and making decisions and following through.

I nudge the kids toward laptops and keyboards instead of more compulsive and consumptive touch devices, especially pocketable, phone-sized ones. Keyboards are for hacking. (“Which side of the command line should our kids be on?”) Touch screens are great assistive and augmentative tech. We use them both, but we center the laptop.

I’ve been sharing my laptop productivity flow with them, bit by bit, going with the flow of their passions and intrinsic motivations. I’ve helped run businesses, a massive open source project, and a family with this flow and its antecedents. This is knowledge, earned over decades, worth passing along. I want to help them fill their tool belts with what works for them by sharing what works for me.

With laptops open, we review our budgets before spending. We do double entry, zero-based budgeting with You Need A Budget. Each kid has their own budget. They have allowances. They have bank accounts backed by the family budget. They track their cash and deposit it into their bank accounts when they want to do some online spending.

We give our kids chores so they can learn to work and contribute. They are part of a family and it is important for each of them to do their part, and appreciate the contributions of one another.

We give them money—an allowance, totally independent of chores—so they can learn how to manage money.

We used to attach commissions to different jobs. When we ran into some quality control issues, then we were paying based on how well your chores were done, how few times we had to ask you to do them, or whether or not Mom was in a good mood when payment came due. It was impossible to be consistent. Not to mention it felt like anytime we asked them to do something they were expecting to get paid. The balance was all off.

Now, we pay our kids an allowance every week. It is the same amount, every single time. It has nothing to do with chores or behavior. You just get it.

Source: Chores and Allowance Should Have No Bearing On One Another | YNAB

 Allowance is not a wage that you receive in exchange for a task accomplished. It’s not something that you use to pay kids for chores. To my mind, the two things are separate. Chores are things that we do around the house because we love one another because we want our homes to be well functioning, and so we perform those tasks as a duty and as an act of joy and an act of love and commitment to the people that we live with.

The money that you get in the form of allowance, that’s a tool for learning. Money in that context is for practice and we want kids to practice with money, the same way we want them to practice their musical instruments or practice with their art supplies or practice with their athletic equipment. We want them to get good at money, the same way we want them to get good at all of those other things. So yanking the money if they don’t do their chores doesn’t make a whole lot of sense to me, in the same way that I don’t think we can yank their books or their art supplies or their violins if they don’t get their chores done.

Source: Are You Doing Allowance All Wrong? | YNAB

It’s been a smooth transition. What I hadn’t expected was the growth I’ve seen in our daughter. With some guidance, she has developed and maintains her own budget, separate from the household budget. She has a cash account, a bank account, and an A-LOC.

A-LOC stands for “allowance line of credit” and represents money her mom or I hold for her (I know, I know–it’s a debit account, but A-LOD doesn’t sound as cool). When we spend money on her behalf, it comes out of her A-LOC. If it’s empty, she transfers funds to our checking account, gives us cash, does optional chores, or waits until allowance comes in.

She tinkers with her budget by creating and combining categories, and dreaming up new savings goals for herself. Spending categories like “movies with friends” and “junk food” stay mostly static while savings categories like “east coast trip,” “hedgehog,” and “car” have been slowly growing. I’m biased, but it’s irresistibly adorable.

Source: Allowance Wizardry | YNAB

Just like with adults, in order for kids to budget, they need to have money. You might be inclined to require them to earn it by helping out around the house or doing yard work but, according to Ron Lieber, a New York Times columnist and author of The Opposite of Spoiled, that’s not the way to go.

See, there’s a difference between teaching kids how to earn money and teaching kids how to managemoney. And, furthermore, helping out around the house is a duty that the entire family should share, kids included. Everyone does chores! You don’t get a reward for doing what’s expected, you just do it.

And allowances? They serve a very important purpose—to let kids experience having, spending, losing and saving money (and all of the corresponding emotions). If your child fails to do chores, you wouldn’t take away their school books, right? Ron suggests that, for the same reason, you shouldn’t take away their allowance, either.

Source: Teach Your Kids These Three Money Lessons & Watch Them Soar | YNAB

We use 1Password for Families to securely share passwords and account information. Via 1Password, the kids have access to a credit card for tapping their virtual bank accounts. When they want to order something online, they do the whole process. They go through the checkout flow, fill the shipping and payment information with 1Password, and record the transaction in their YNAB budget. Later, when the transaction clears the credit card company, they will mark the transaction as cleared and reconcile their account with our virtual bank’s records. In this way, they are getting real experience with two important necessities of modern life: budgeting and password and identity management.

The YNAB approach to budgeting is organized around four rules:

  1. Give Every Dollar A Job
  2. Embrace Your True Expenses
  3. Roll With The Punches
  4. Age Your Money

I like these as heuristics, as rules of thumb. They are humane and achievable diligence with a simple guiding star metric (Age of Money). These rules make for a good piece of software. The influence of “Roll With The Punches” is evident in YNAB’s interface, and it is a defining difference between YNAB and other budgeting software.

I enjoy the flow of double entry bookkeeping. It feels right. Inflows and outflows. Sources and destinations. Our water, electricity, information, and monetary systems flow. YNAB goes with that feeling.

We also use our laptops to help us “flip the switch from not now to now”.

If we’re going to be in front of our laptops, use them to get from not now to now. With my more tech-obsessed kid whose ADHD gift of “hyperfocus when intrinsically motivated” kicks in when exploring new software and tech, we’re experimenting with setting recurring tasks with reminders in Things with some success. I frame the use of a task manager in terms of a helpful cognitive net, a coping system of minimum effective doses that helps you flow, that you iterate as part of the phases and changes of continuous fluid adaptation.

In fact, nothing has been fixed or broken. We simply have very fluid coping strategies that need to be continuously tweaked and balanced. Because a child or adult goes through a period of having very few meltdowns, that doesn’t mean they’ll never have meltdowns again. If something in their life changes, for example the hormonal storms of puberty, they’ll need to develop new coping strategies. And until they do, they may begin having meltdowns due to the mental, emotional or sensory overload caused by the new development.

Being autistic means a lifetime of fluid adaptation. We get a handle on something, develop coping strategies, adapt and we’re good. If life changes, we many need some time to readapt. Find the new pattern. Figure out the rules. Test out strategies to see what works. In the mean time, other things may fall apart. We lose skills. We struggle to cope with things that had previously been doable under more predictable conditions. This is not regression to an earlier developmental stage, it’s a process of adapting to new challenges and it’s one that we do across a lifetime of being autistic.

Source: Autistic Regression and Fluid Adaptation | Musings of an Aspie

An important part of the process is showing them why they need it.

I forgot to teach the students why they wanted this. Why they needed it. How it would make them more comfortable in class. How it would give them security and control. Basically, I forgot to show them why they should care.

The next step was initiated by the students. They wanted their schedule like my book.

Source: Teaching Students How to Succeed Means Teaching Them How to Plan – Why Haven’t They Done That Yet?

We’re not here to impose a one-true-way on our children and students. We’re here to share our cognitive nets and coping skills so as to help kids build their own cognitive net and fill their own tool belts with what works for them. Be a cognitive net, not a wagging finger. Show them why it matters. When we show them what we actually do, the techniques that help us cope and live and navigate sentience and senescence, the why is easier.

My Keyboard Flow

This list maps my main keyboard flow. There are many more keybindings in my life than presented here, but these are some highlights.

My core flow runs through the spacebar. The tools I use most are mapped to its thumb thumpable expanse.

My workflow is very plain text and Markdown heavy. I’m a text and information worker, and these are some of my tools.


HyperKarabiner Elements maps my Caps Lock key to Cmd+Ctl+Opt+Shift. This serves as my Hyper key. It also serves as an escape key when pressed and released (as opposed to using it as a modifier in a chord with other keys). This dual behavior is very useful. Launching with a Hyper key chord and then dismissing with the Hyper key is nice flow. If you have an app or miniwindow that doesn’t dismiss when it’s hotkey is pressed again, try putting it on a dual behavior Hyper key so you don’t have to reach for Escape or Cmd+w. Recent updates to Karabiner Elements make it easy to install a Caps Lock package with several different caps lock behaviors.

<KM> – This indicates the keybinding is handled by Keyboard Maestro, a favorite workflow automation tool.






  • Hyper+h = Paste from HTML <KM>
  • Hyper+u = Clip Chrome to Ulysses <KM>
  • Hyper+l = Markdown Link from Front Browser <KM>
  • Hyper+c = Copy as Markdown | Copy as HTML | Copy as Rich Text <KM>


  • Hyper+delete = Kill entire line <KM>
  • Ctl+s = Select current line <KM>
  • Hyper+c = Paste Selection Into Last Application <KM>
  • Shift+esc = Speak selected text
  • “/-“ = insert four dash header on new line after cursor


  • Cmd+Ctl+Opt+m = Share Task[s] via Messages <KM>



Workspaces & Windows

  • Cmd+tab = SuperTab app switcher
  • Opt+tab = Switchem workspace switcher
  • Hyper+tab = Switchem window switcher
  • Hyper+z = Moom keyboard control
  • Cmd+h = Hide application
  • Cmd+Ctl+Opt+h = Hide all applications <KM>