Fix the Home, End and Numbers keys on Mac OS X

The origin post at here:

If you use a keyboard that’s not designed specifically for Macs, you probably are familiar with the annoying mapping of the Home and End keys: they scroll to the beginning or end of an entire document, with no regard to the cursor’s location.

Fortunately it’s an easy fix. (Note: This works for native Cocoa apps only, not X11 programs.)

To get your Home and End keys working properly on Mac OS X (in my case, Mountain Lion, although this should work in prior versions back to at least Tiger), simply open the Terminal and do this:

$ cd ~/Library
$ mkdir KeyBindings
$ cd KeyBindings
$ nano DefaultKeyBinding.dict

Put these lines in that file, including the curly braces:


/* Remap Home / End keys to be correct */
“UF729” = “moveToBeginningOfLine:”; /* Home */
“UF72B” = “moveToEndOfLine:”; /* End */
“$UF729” = “moveToBeginningOfLineAndModifySelection:”; /* Shift + Home */
“$UF72B” = “moveToEndOfLineAndModifySelection:”; /* Shift + End */
“^UF729” = “moveToBeginningOfDocument:”; /* Ctrl + Home */
“^UF72B” = “moveToEndOfDocument:”; /* Ctrl + End */
“$^UF729” = “moveToBeginningOfDocumentAndModifySelection:”; /* Shift + Ctrl + Home */
“$^UF72B” = “moveToEndOfDocumentAndModifySelection:”; /* Shift + Ctrl + End */


Press Ctrl+O and then Enter to save the file, and Ctrl+X to exit. Restart your computer to have it take full effect.