The result is attached - a custom layout which remaps OK button from DPAD_CENTER to ESCAPE and caps lock from CAPS to CTRL_LEFT.
Esc works as the Back button and Ctrl is tested working in combinations of Ctrl+A (Select all), Ctrl+X (Cut), Ctrl+C (Copy) and Ctrl+V (Paste). Unfortunately Ctrl+Z/Y (Undo/Redo) don't seem to work... Any suggestions for other combinations to try?
I have tested it all on rooted Eclipse ICS 1.2 ROM, but it should generally work on all rooted Android 4.0.4 ROMs.
How to get it working?
1. You probably need to have your phone rooted first.
2. Optional - you might want to backup your original /system/usr/keylayout/omap4-keypad.kl if you're on different ROM (it should be all the same, but I haven't tested it)
3. Unpack the attached custom_layout.zip to the root of your phone - it will put omap4-keypad.kl into /system/usr/keylayout
4. Reboot your phone.
In case you'd like to revert the changes, I put the original keylayout from my system in original_layout.zip, or you can use your own backed up file
Hope you enjoy my mod. Also, which key would you suggest to replace by Menu? I'm thinking about SYM, but I still think the day I'll actually need it might come, unlike with caps lock and OK
For those interested in changing values for themselves I've attached scancodes of all the buttons given out by safestarap's key test - see keycodes.txt. If you're gonna change any .kl files, be sure to open it with some program supporting UNIX formatting such as PSPad - I really don't wanna see what would happen after editing it with Notepad You should probably also see Android documentation article about it first.