A simpler Karabiner-Elements alternative for Windows switchers
By Wondering Works, maker of Windsify · Updated
Karabiner-Elements can remap almost anything on a Mac. That is exactly why it takes a while to get Windows habits back: you are handed a toolkit, and the Windows layout is something you have to build with it.
This page is written by someone who used Karabiner-Elements to solve this problem first, and still thinks it is good software. It is not a takedown. It is an honest account of where the toolkit is the right answer and where a ready-made one is.
What Karabiner-Elements is genuinely better at
Start here, because for a lot of people the answer is that you should just use it.
Karabiner-Elements installs a virtual keyboard driver. What it emits is treated by macOS as real hardware input, not as an injected event. That distinction sounds academic until you hit it: system-level shortcuts, the ones macOS handles before any application sees them, will fire for Karabiner and will silently do nothing for tools that only post synthetic events. If you have ever tried to switch Spaces over a remote desktop session and watched nothing happen, that is the same wall.
It is also free, open source, actively maintained, and unmatched in scope. Home-row modifiers. Per-device rules, so the laptop keyboard and the external keyboard behave differently. Layers, sequences, mouse keys, complex conditions. If you want to design your own layout rather than restore an existing one, there is no substitute and this page is not trying to sell you one.
Where it gets slow for Windows switchers
The friction is not the remapping. Ctrl+C to Command+C is one rule and it takes a minute.
The friction is that the behaviour you actually want is often per-application, and that is the expensive case.
The example that finally moved me off the combination was Home and End inside a web text box. On Windows, Home jumps to the start of the current line. On a Mac, Home means the top of the document, and the line-start behaviour lives on Command+Left. In a Reddit reply box or a ChatGPT prompt I wanted the Windows behaviour, and in other places I did not. Getting that right means writing conditions for particular applications, saving the JSON, reloading the rules, going back to the browser, trying it, and finding out you were wrong about which element had focus. Each round trip is small. There are a lot of round trips.
There is a second cost that is easy to miss: the terminal. Ctrl+C in a terminal sends an interrupt, and it has done so for longer than the Mac has existed. Any mapping that turns Ctrl+C into copy globally takes that away. Karabiner can absolutely express the exception. It is simply one more condition you have to remember to write, for every shell, editor and remote session you use.
The half of the problem Karabiner does not cover
Keyboard remapping and window management are two different worlds with two different communities, and very little sits in both.
Karabiner-Elements remaps input. It does not move or resize windows, and it does not claim to. So Win+Left and Win+Right tiling, dragging a window to a screen edge to snap it, maximising a window without going full screen — none of that is in scope. The usual answer is to add a window manager alongside it.
That combination works. I ran it. Both halves are good software and it is still a completely reasonable setup.
What it does not give you is one place where the keyboard and the windows agree with each other. Two apps, two configuration models, two sets of assumptions about which key belongs to whom.
Karabiner is a toolkit. Windsify is a product.
That is the whole distinction, and it decides which one you want.
A toolkit is the right shape when the thing you want does not exist yet and only you know what it is. A product is the right shape when the thing you want is a layout millions of people already share, and you would rather have it than build it.
Windsify ships the Windows mappings already made. Ctrl+C, X, V and Z, Ctrl+Y for redo, Home and End, Ctrl+Arrow to move by word, Alt+Tab, Alt+F4, and the Insert-key copy and paste that Windows people still have in their fingers. Recognized standalone terminal apps preserve native Control input, including Ctrl+C interrupt. That base layer is free and open source under GPLv3. Free applies generic copy/paste inside embedded terminals; Pro adds the VS Code terminal integration and explicit clipboard shortcuts in supported Codex and Claude terminals.
The paid edition adds the rest of what I originally wanted: Finder behaving like Explorer, so Ctrl+X cuts files and Ctrl+V moves them and F2 renames. The system keys, Win+E, Win+L, Win+D and Print Screen. And the window management, which is Win+Arrow tiling, dragging a window to a screen edge to snap it, and layouts across multiple displays — including maximising a window without going full screen, and not letting a maximised window slide underneath the Dock.
Compare the same tasks
Use the same keyboard and apps for each setup. Keep a copy of any existing remapping rules before changing them. The table describes the approaches; it is not a speed benchmark.
| Task | Karabiner-Elements | Windsify |
|---|---|---|
| Different mappings for two keyboards | Device-specific configuration and conditions | Use the shipped Windows shortcut policy; not a general rule editor |
| Ctrl+C copies, Terminal Ctrl+C interrupts | Configure application conditions in complex modifications | Built-in Terminal exception; check your terminal app |
| Move or resize the active window | Typically invoke a separate window-management tool | Built-in Pro window management |
| Window thumbnails when switching | Requires a window-switching tool | Uses the native macOS app switcher; no window thumbnails |
Try the TextEdit and Terminal checks, then compare window snapping and restore. For Karabiner’s capabilities, see its official feature list and custom-rule documentation.
Which one should you pick
Choose Karabiner-Elements if
You want to design a layout rather than restore one. You need per-device rules, home-row modifiers, layers, or anything genuinely custom. You want free and open source for the whole job. You need real hardware-level input, for example so that system shortcuts fire inside a remote desktop session.
Choose Windsify if
You want your Windows muscle memory back without writing rules, you want the per-application cases handled for you, and you want the window snapping in the same app rather than bolted on beside it.
Use both if
You already have a Karabiner setup you like. Windsify detects other remappers at launch and yields to them rather than competing for the same key events.
Common questions
Is Karabiner-Elements still worth using?
Yes. It is free, open source, and the most capable keyboard customiser on macOS. Nothing here changes that.
Does Karabiner-Elements do window management?
No. It remaps input and does not move or resize windows, so Win+Arrow tiling needs a separate window manager.
Can Karabiner make Home and End work like Windows?
Yes, with a complex modification. The work is that applications differ in how they respond, so a single global rule is usually not enough and you end up writing per-application conditions.
Can I run Windsify and Karabiner-Elements at the same time?
Yes. Windsify yields to other remappers it finds at launch instead of competing for the same key events.
Is Windsify open source too?
The Free feature layer is, under GPL-3.0-only. The Pro edition is a commercial product. Source and licensing.
Try it against your own setup
Every download runs the full Pro feature set for 14 days and then keeps every Free feature, so you can put it next to your existing configuration and keep whichever wins. No telemetry, no account, and typed text is never collected or sent.
One-time $19.99 for Pro, covering 3 Macs. macOS 15 or newer, signed and notarized.