After a lot of tryouts, I figured how to have the function keys F1, F2, etc., working (in Cocoa app only). In particular, I like to have F1 = undo, F2 = cut, F3 = copy, F4 = paste. As you will see I also have F9 = save (faster than Cmd-S) and F12 = check spelling.
If you're interested in defining your F-keys in Cocoa apps, read the rest of this article...
Here is the content of my file DefaultKeyBinding.dict:In order to do that you must have a defaultKeyBindings file. You must first create a folder named "KeyBindings" in your Library folder (if necessary). Then create a text file named "DefaultKeyBinding.dict" (don't misspell the names; they do not contain quotes). If you use TextEdit, ensure that the file is in Text format, not RTF, using the Format menu. All Cocoa apps apply the key bindings, after you relaunch them.
Here is the content of my file DefaultKeyBinding.dict:
<?xml version="1.0" encoding="UTF-8"?>It is a dictionary mapping keys to string representing common Cocoa commands.
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>ÔúÑ</key>
<string>undo:</string>
<key>ÔúÖ</key>
<string>cut:</string>
<key>ÔúÜ</key>
<string>copy:</string>
<key>Ôúá</key>
<string>paste:</string>
<key>Ôúà </key>
<string>complete:</string>
<key>Ôúâ</key>
<string>noop6:</string>
<key>Ôúä</key>
<string>replace:</string>
<key>Ôúã</key>
<string>findNext:</string>
<key>Ôúå</key>
<array>
<string>save:</string>
<string>saveDocument:</string>
</array>
<key>Ôúç</key>
<array>
<string>open:</string>
<string>openDocument:</string>
</array>
<key>Ôúé</key>
<string>noop11:</string>
<key>Ôúè</key>
<string>checkSpelling:</string>
<key>Ôúê</key>
<string>noop13:</string>
<key>Ôúë</key>
<string>noop14:</string>
<key>ÔúÃ</key>
<string>noop15:</string>
</dict>
</plist>
Mac OS X Hints
http://hints.macworld.com/article.php?story=20010608085847818