Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using the following technique to remap the home and end keys to make them work like windows:


{ /* Remap Home / End to be correct :-) */ 
"\UF729"  = "moveToBeginningOfLine:";                   /* Home         */ 
"\UF72B"  = "moveToEndOfLine:";                         /* End          */ 
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */ 
"$\UF72B" = "moveToEndOfLineAndModifySelection:";       /* Shift + End  */ 
} (ie go to start and end of text row)

This doesn't appear to be supported in all apps (ie TextEdit)

Is there a different way to make this work in other mac apps? (ie is this technique obsolete on OS X Lion?)

share|improve this question
up vote 0 down vote accepted

It should work in TextEdit and 10.7 / 10.8. Did you reopen applications after saving the plist? It looks valid, but you can check for syntax errors with plutil ~/Library/KeyBindings/DefaultKeyBinding.dict.

DefaultKeyBinding.dict does not work in other applications like Xcode, Firefox, or Photoshop though. Another option would be to use KeyRemap4MacBook:

You can customize the setting group by copying it from the source to private.xml.

share|improve this answer
Thanks for your answer Lauri - could you clarify re the plist? Are you referring to the data structure in the .dict file? – hawkeye Feb 24 '13 at 10:51
Yeah, .dict is an alternative extension for .plist. The DefaultKeyBinding.dict in your question is an old-style property list. – user495470 Feb 24 '13 at 12:45
Have you got an example of what a new-style mapping would look like? – hawkeye Feb 24 '13 at 21:15
It's just XML, like this. Or I guess you could edit DefaultKeyBinding.dict with Xcode and save it as binary. – user495470 Feb 25 '13 at 5:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.