Here’s a tip for those of you using an N900 with an English keyboard.
For those who don’t know it, this is how arrow keys are arranged in (some) non-English layouts:
Compare to the English layout:
My N900 has an English keyboard, and I like it because I use the X terminal a lot so having separate keys for the arrows is good.
However I miss the accents (in particular ‘ and ~) as I usually write in Portuguese and Spanish, and using the additional on-screen keyboard is not that convenient for a Jabber conversation.
Fortunately, arrow keys can be re-mapped to add extra symbols by editing this file:
/usr/share/X11/xkb/symbols/nokia_vndr/rx-51
Just go to the end of the file and replace the ‘arrows_4btns‘ entry with this:
xkb_symbols "arrows_4btns" {
key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up, dead_circumflex ] };
key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, dead_acute ] };
key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down, dead_tilde ] };
key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, dead_grave ] };
};
With this, Fn+Up/Down/Left/Right will produce a dead circumflex/tilde/acute accent/grave accent.
If you want these changes to take effect immediately just type ‘setxkbmap us‘.
Hope you find it useful.
Update 19 Dec 2009. Since some people have asked: of course even if you only write in English or another language that doesn’t need accents, you can still add useful symbols to the arrow keys such as ‘|‘, ‘<‘ or ‘>‘. You can use any of these keyboard layouts as an example. See also this thread and this other one.
Update 10 Jan 2010. The information on this post is now (in expanded form) in the Maemo wiki.