Special characters view

The special characters view (SCV) is the symbol table that appears when typing Fn+Ctrl (Sym) on the slideout keyboard of the N810 or N900.

The set of symbols offered depends on the hardware keyboard layout chosen in the "Text input" settings. For users who type in a language different from the layout of the hardware keyboard, customization of the SCV is useful. The SCV layout is defined in the *.vkb files located under /usr/share/scv_layouts/ on the device's filesystem. The pre-installed files are contained in package hildon-im-keyboard-assistant-scv (closed-source). vkb files are in a binary format and generated from a text file using a vkb file compiler.

A vkb file compiler can be found on Upir's Maemo Pages. Download the ukeyboard sources and compile them (make) on a desktop Linux installation (maemo scratchbox not necessary). Compilation of maemo dependent parts will fail, but the vkb compiler should succeed to be compiled.

In the sub-directory keyboards-scv exist sample "def" files which you can adapt to your needs: Copy the file to the name matching your hardware keyboard, e.g. "us.def", edit it to meet your needs, run ../vkb_compiler us.def us.vkb.

On the device, make a backup copy of the existing /usr/share/scv_layouts/us.vkb for the case that you want to go back to the original layout. Then copy your new us.vkb to /usr/share/scv_layouts/ on the device.

You will need to go to the "text input" settings and select the hardware keyboard type again. After that, the new SCV table should show up.

Remark: I had ukeyboard installed on the device when doing this, but I expect these instructions working also without it.

For people with an English keyboard typing in German language, I attach my customized us.def file. I would also offer the compiled vkb file but I don't know how to attach it to the wiki page.


 * 1) German, English scv keyboard layout
 * 2) Created by Tilman Vogel (insert: dot at dot)

header { name	"German, English" lang	"German, English" wc	""

size	0	{ width 110 height 72 textpos 41 left 0 top 0 } }

kbd_special { lowercase { name "" margin 0 0 0 0 default_size 0 row { key < special key > special key [ special key ] special key { special key } special key | special }	row { tab key ¥ special key § special key ½ special key ² special key % special key ‰ special }	row { key ` alpha special dead key ´ alpha special dead key ^ alpha special dead key ~ alpha special dead key ¨ alpha special dead key ° alpha special dead key ˇ alpha special dead }	row { key ä special key ö special key ü special key ß special key á special key é special key è special } } uppercase { name "" margin 0 0 0 0 default_size 0 row { key < special key > special key [ special key ] special key { special key } special key | special }	row { tab key ¥ special key § special key ½ special key ² special key % special key ‰ special }	row { key ` alpha special dead key ´ alpha special dead key ^ alpha special dead key ~ alpha special dead key ¨ alpha special dead key ° alpha special dead key ˇ alpha special dead }	row { key Ä special key Ö special key Ü special key ß special key Á special key É special key È special } } }