Created
December 18, 2019 06:59
-
-
Save lenalebt/64d5ea94d6077a5becd00c33d0514cac to your computer and use it in GitHub Desktop.
How to use a typical Linux / Windows Keybindung on MacOS (tested with 10.15.2 Catalina)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
PUT THIS FILE IN ~/Library/KeyBindings/DefaultKeyBinding.dict | |
This file remaps the key bindings of a single user on Mac OS X 10.5 to more closely | |
match default behavior on Windows systems. This particular mapping assumes | |
that you have also switched the Control and Command keys already. | |
This key mapping is more appropriate after switching Ctrl for Command in this menu: | |
Apple->System Preferences->Keyboard & Mouse->Keyboard->Modifier Keys...-> | |
Change Control Key to Command | |
Change Command key to Control | |
This applies to OS X 10.5 and possibly other versions. | |
Here is a rough cheatsheet for syntax. | |
Key Modifiers | |
^ : Ctrl | |
$ : Shift | |
~ : Option (Alt) | |
@ : Command (Apple) | |
# : Numeric Keypad | |
Non-Printable Key Codes | |
Up Arrow: \UF700 Backspace: \U0008 F1: \UF704 | |
Down Arrow: \UF701 Tab: \U0009 F2: \UF705 | |
Left Arrow: \UF702 Escape: \U001B F3: \UF706 | |
Right Arrow: \UF703 Enter: \U000A ... | |
Insert: \UF727 Page Up: \UF72C | |
Delete: \UF728 Page Down: \UF72D | |
Home: \UF729 Print Screen: \UF72E | |
End: \UF72B Scroll Lock: \UF72F | |
Break: \UF732 Pause: \UF730 | |
SysReq: \UF731 Menu: \UF735 | |
Help: \UF746 | |
NOTE: typically the Windows 'Insert' key is mapped to what Macs call 'Help'. | |
Regular Mac keyboards don't even have the Insert key, but provide 'Fn' instead, | |
which is completely different. | |
*/ | |
{ | |
"\UF729" = "moveToBeginningOfLine:"; /* Home */ | |
"@\UF729" = "moveToBeginningOfDocument:"; /* Cmd + Home */ | |
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */ | |
"$@\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Cmd + Home */ | |
"\UF72B" = "moveToEndOfLine:"; /* End */ | |
"@\UF72B" = "moveToEndOfDocument:"; /* Cmd + End */ | |
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */ | |
"$@\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Shift + Cmd + End */ | |
"^\UF702" = "moveToBeginningOfLine:"; /* Home */ | |
"^\UF703" = "moveToEndOfLine:"; /* End */ | |
"$^\UF703" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */ | |
"$^\UF702" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */ | |
"\UF72C" = "pageUp:"; /* PageUp */ | |
"\UF72D" = "pageDown:"; /* PageDown */ | |
"@x" = "cut:"; /* Shift + Del */ | |
"@v" = "paste:"; /* Shift + Help */ | |
"@c" = "copy:"; /* Cmd + Help (Ins) */ | |
"@\UF702" = "moveWordBackward:"; /* Cmd + LeftArrow */ | |
"@\UF703" = "moveWordForward:"; /* Cmd + RightArrow */ | |
"@$\UF702" = "moveWordBackwardAndModifySelection:"; /* Shift + Cmd + Leftarrow */ | |
"@$\UF703" = "moveWordForwardAndModifySelection:"; /* Shift + Cmd + Rightarrow */ | |
"@\UF728" = "deleteWordForward:"; /* Cmd + Delete */ | |
"@\U007F" = "deleteWordBackward:"; /* Cmd + Backspace */ | |
} |
Thank you for writing this. I used Ukelele.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks, I didn't have time to set up a full Ukelele profile and this covers the basics quite nicely!
Note: On my Catalina install I just had to log out and uncheck "reopen my windows" for the changes to apply globally.