I have a Macbook laptop and all I want is to have my handy Windows keyboard shortcuts work on it, like they did when I was on El Capitan/Karabiner. Now that I'm on Sierra, I'm trying Karabiner-Elements and I can't determine how to map something basic like Control+C to Command+C in the karabiner.json file. Is it possible and if so how?
Another issue is how to swap the Control and Fn keys (which I physically swapped) when I'm on the laptop's keyboard but keep them the same for my external keyboard. Again, is this possible? I would be fine with updating the file manually each time I change keyboards until there's a permanent solution.
BTW, before trying Elements, I went the DefaultKeyBinding.dict route and set it up like this:
"UF729" = "moveToBeginningOfLine:"; // Home
"^UF729" = "moveToBeginningOfDocument:"; // Ctrl + Home
"$UF729" = "moveToBeginningOfLineAndModifySelection:"; // Shift + Home
"^$UF729" = "moveToBeginningOfDocumentAndModifySelection:"; // Shift + Ctrl + Home
"UF72B" = "moveToEndOfLine:"; // End
"^UF72B" = "moveToEndOfDocument:"; // Ctrl + End
"$UF72B" = "moveToEndOfLineAndModifySelection:"; // Shift + End
"^$UF72B" = "moveToEndOfDocumentAndModifySelection:"; // Shift + Ctrl + End
"UF72C" = "pageUp:"; // PageUp
"UF72D" = "pageDown:"; // PageDown
"^UF702" = "moveWordBackward:"; // Ctrl + LeftArrow
"^UF703" = "moveWordForward:"; // Ctrl + RightArrow
"^$UF702" = "moveWordBackwardAndModifySelection:"; // Shift + Ctrl + Leftarrow
"^$UF703" = "moveWordForwardAndModifySelection:"; // Shift + Ctrl + Rightarrow
"^U007F" = "deleteWordBackward:"; // Ctrl + delete left
"^c" = "copy:"; // Ctrl + c
"^x" = "cut:"; // Ctrl + x
"^v" = "paste:"; // Ctrl + v
"^z" = "undo:"; // Ctrl + z
"^y" = "redo:"; // Ctrl + y
"^a" = "selectAll:"; // Ctrl + a
"^s" = "saveAllDocuments:"; // Ctrl + s
The problem is that these shortcuts only work in certain apps, like Chrome and TextEdit. But other apps completely override it with their own. (This wasn't an issue with Karabiner. I miss it so much!)
Thanks,
Alvaro
+1
+1 to ^c ^v cause I'm working with macos and windows in virtual machine. Used to use ^c.
Just curious @alvaro1728, using the DefaultKeyBinding.dict settings above were you able to get ctrl + arrows working? For me (on sierra), they do nothing. All of the other settings do work though.
"^\UF702" = "moveWordBackward:"; // Ctrl + LeftArrow
"^\UF703" = "moveWordForward:"; // Ctrl + RightArrow
Also, curious if anyone has figured out how to get the windows settings (above) to work in electron-based apps (like atom or hyperterm)? I know karabiner used to handle ALL apps, but just looking for a stopgap solution. Thanks!
@jritsema Those two shortcuts work fine for me. I just tried it by going to Chrome's address bar and using Ctrl+Left/Right to move one word at a time. BTW, I use IntelliJ IDEA for my development and it's easy to configure it with the "Visual Studio" keymap.
Thanks @alvaro1728. Turns out that I had those keys already enabled for Mission Control. Once I disabled them (via prefs/keyboard/shortcuts/mission control), everything worked!
Also, in case it helps out anyone else using the Atom editor, you can get the pc style keyboard bindings by replacing your keymap.cson with these...
https://github.com/atom/atom/blob/master/keymaps/win32.cson
Also, as for Hyper, I've asked about it here...but in the meantime, iTerm2 has custom key bindings!
Are there any plans to revive the Windows mapping? For months, I have been waiting to update to Sierra just because Karabiner wasn't ready yet. Now I finally had to update to Sierra, and the limitations of Karabiner Elements are driving me mad. The things I would need the most:
I tried to build "complex rules" for that, but couldn't get them work, since the JSON file is not really documented.
@derwaldgeist I did some digging through some of the example files, and I think I managed to figure out somewhat how it works, since I was having the same issue as most people here. I switched around more or less everything I can think of to make my keyboard shortcuts as windows-like as possible (though I may have forgotten a thing or two).
I'll gladly share the file as soon as I clean it up a bit (and fix some things that I didn't catch at first).
Whew, that took longer than I expected. Getting Home and End to work right was tricky because command or control kept getting "stuck", though I worked around it by having it also trigger those keypresses. In other words, I think Home and End work properly, but I had to jump through a hoop or two, so there may be some issues that I didn't encounter...
Regardless, here's the file! (zipped up so that I can attach it here)
Just place it in ~/.config/karabiner/assets/complex_modifications/ and you should be able to add the rules to a profile just like the way adding example rules works!
Edit: Updated the file. Fixed something with Home that I had forgotten about and removed some other unnecessary stuff. Should work better now!
Edit 2: Updated again. Messed some stuff up with the arrows and backspace before.
Hi !!! Very nice work, it's seems to work ! I will test it a few day. Thanks !
@TechnicallyDifficult Thanks a lot for this! It's a great step in the right direction.
I modified your "Change Home and End to behave like Windows" since Home/End were mapped to the beginning/end of the paragraph instead of the line. Also, I set RightControl+Home/End to behave like LeftControl+Home/End. Here's my updated file:
On a separate note, as much as I like the Windows shortcuts on my Mac, I would prefer if they live alongside the Mac shortcuts (Command+C,V,etc) in case another colleague ever needs to type on my computer temporarily. So I'm going to spend some time creating another version of this file that preserves the Mac shortcuts.
Thanks again!
Alvaro
OK, I spent a some time creating a brand new JSON file with the most popular Windows shortcuts without altering the Mac (Command) shortcuts. So something like Control+C will work alongside Command+C (and it won't override Control+C in the Terminal application). Here's the file:
Download and unzip it to ~/.config/karabiner/assets/complex_modifications. Then in Karabiner Elements, click on _Add rule_ under "Complex Modifications" and then _Enable_ "Windows shortcuts". That's it!
Thanks to @TechnicallyDifficult for the inspiration. Enjoy!
Alvaro
windows shortcuts was missing ctrl-t. So:
{
"from": {
"key_code": "t",
"modifiers": {
"mandatory": [ "left_control" ],
"optional": [ "any" ]
}
},
"to": [ {
"key_code": "t",
"modifiers": [ "left_command" ]
}
],
"type": "basic"
},
I wasn't aware of Ctrl+T. What does it typically do?
It opens new tabs. I use it mostly in my browser.
Now that I'm messing with it, CTRL-L (selecting location bar in browser) also hasn't been mapped.
These windows_shortcuts.json.zip should be distributed by default in Karabiner Elements imho! Thanks guys!!!
These don't work for me on 11.5.0,
can someone update them for latest version?
These windows_shortcuts.json.zip is awesome!!!! We missing alt + f4, and windows + l
I'm wondering if we could make backspace goes up one folder in finder but without breaking backspace functionality on filename edit?
Would be nice to have a repo for this, I tried the windows shortcuts and it's not perfect, stuff like ctrl+tab and alt+tab aren't working properly. And it's not so easy to fix sadly.
What shortcut should be used to quit after install this?
Please can anyone create the Alt+F4 to Quit Apps?
Thanks
I made a repo for this so we can keep track of these things. Please feel free to contribute if you have the know-how, and add feature requests, report bugs, etc.
I still have yet to document all the shortcuts currently added, but I plan on doing that in the near future.
Is the alt+f4 working?
Thank you.
I haven't added Alt-F4 yet, but I've opened an issue on my repo to make sure I don't forget about it.
@guimenez Just to let you know, I've added Alt+F4.
Working amazing.
It's it possible add the Ctrl (pressed) + mouse click to open link in a new tab like Windows?
Thank you.
Hi guys. I am wondering if anyone succeeded in adding shift/ctrl-insert shortcut?
Most helpful comment
OK, I spent a some time creating a brand new JSON file with the most popular Windows shortcuts without altering the Mac (Command) shortcuts. So something like Control+C will work alongside Command+C (and it won't override Control+C in the Terminal application). Here's the file:
windows_shortcuts.json.zip
Download and unzip it to ~/.config/karabiner/assets/complex_modifications. Then in Karabiner Elements, click on _Add rule_ under "Complex Modifications" and then _Enable_ "Windows shortcuts". That's it!
Thanks to @TechnicallyDifficult for the inspiration. Enjoy!
Alvaro