@announce: http://rzr.online.fr/q/xkb : #nokia #n810 #keyboard #keymap for !gnu / !linux / !maemo #diablo / !x11 / #xkb : feedback on #patch welcome :)
I fixed [[nokia]]'s [[maemo]] [[n810]] keyboard,
I plan to merge my patch to upstream (xkbdata) or at least try to improve it with your feedback
just copy later source to :
/usr/share/X11/xkb/symbols/nokia_vndr/rx-44 (or .mine and use ln)
@[[feedback]]:
* http://talk.maemo.org/showthread.php?p=770955#post770955
* http://talk.maemo.org/showthread.php?t=15582&page=2&highlight=rx-44
I also noted that modest work weirdly using delete / backspace, is this related ?
Regards
==== TODO ====
* http://packages.qa.debian.org/x/xkeyboard-config.html
* https://build.opensuse.org/package/files?package=xkeyboard-config&project=Maemo%3AMer%3ADevel
* http://maemo.org/packages/view/xkb-data-extkbd/
==== HARMATTAN / RM-680 (n950) =====
kimju's project did the job :
* https://gitorious.org/harmattan/xkeyboard-config-addons-rm680/
But It failed to install on latest FirmWare :
Get:1 http://repo.pub.meego.com ./ xkb-data-addons-rm680 1.7-2 [13.3kB]
Fetched 13.3kB in 1s (10.2kB/s)
Selecting previously deselected package xkb-data-addons-rm680.
(Reading database ... 46130 files and directories currently installed.)
Unpacking xkb-data-addons-rm680 (from .../xkb-data-addons-rm680_1.7-2_all.deb) ...
dpkg-divert: Installation error, diversions are not allowed.
dpkg: error processing /var/cache/apt/archives/xkb-data-addons-rm680_1.7-2_all.deb (--unpack):
subprocess new pre-installation script returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/xkb-data-addons-rm680_1.7-2_all.deb
aegis-NOT-installing xkb-data-addons-rm680 (from '')
Updating desktop entries... Done
E: Sub-process /usr/bin/dpkg returned an error code (1)
I planed to fix and provide an optimized keymap for n950
* '|' : Fn+z , replace ukp
* '{' : Fn+@
* '}' : Fn+?
* '[' : shift+,
* ']' : shift+.
* '~' : Fn+c , replace EUR%
* '`' : shift+'
* '^' : shift+altgr+''' todo
* tab : Fn+Space / default: ctrl+i
* supr : Fn+Del
* end : Fn+left ; Fn+Return
* home: Fn+right ; Fn+Shift+Return
* pgup : Fn+up
* pgdown : Fn+down
* F1-F10 : Fn+1 to 0
apt-get install xkb-data-addons-rm680
diff -u /usr/share/X11/xkb/symbols/nokia_vndr/rm-680 /usr/share/X11/xkb/symbols/nokia_vndr/rm-680.harmattan
ToDo :
* http://harmattan-dev.nokia.com/pool/harmattan-beta/free/x/xkeyboard-config/# xkeyboard-config_1.7-2-meego406+0m6.dsc
* https://build.pub.meego.com/package/show?package=xkeyboard-config-addons-rm680&project=home%3Akimju%3Aharmattan
==== FEATURES ====
# | : Fn+yen
# TAB : Fn+SPACE, Ctrl+i
# [ : Shift+-
# ] : Shift++
# { : Fn+<
# } : Fn+>
ToDo:
## todo: backquote alt
# pgup pgdw home end : Fn+joy
# lbrak : lt ; eur
# rbrak : gt ; ukp
# quote : eur , s
==== SOURCE ====
# f='/usr/share/X11/xkb/symbols/nokia_vndr/rx-44'
# install "$f.mine" # this source
# mv "$f" "$f.orig" # keep original source
# ln -sf "$f.mine" "$f" # use mine
// file:///usr/share/X11/xkb/symbols/nokia_vndr/rx-44
// URL: http://rzr.online.fr/q/xkb
partial alphanumeric_keys
xkb_symbols "us" {
name[Group1] = "U.S. English";
include "nokia_vndr/rx-44(base)"
key { [ a, A, exclam, exclam ] };
key { [ s, S, quotedbl, quotedbl ] };
key { [ d, D, at, at ] };
key { [ f, F, numbersign, numbersign ] };
key { [ g, G, backslash, backslash ] };
key { [ h, H, slash, slash ] };
key { [ j, J, parenleft, parenleft ] };
key { [ k, K, parenright, parenright ] };
key { [ l, L, asterisk, asterisk ] };
key { [ apostrophe, bar, question, question ] };
key { [ z, Z, bar, yen ] };
key { [ x, X, asciicircum, asciicircum ] };
key { [ c, C, asciitilde, asciitilde ] };
key { [ v, V, percent, percent ] };
key { [ b, B, ampersand, ampersand ] };
key { [ n, N, dollar, dollar ] };
key { [ m, M, EuroSign, EuroSign ] };
key { [ semicolon, colon, sterling, sterling ] };
key { [ minus, bracketleft, underscore, underscore ]};
key { [ plus, bracketright, equal, equal ] };
key { [ comma, less, braceleft, less ]};
key { [ period, greater, braceright, greater ]};
};
partial alphanumeric_keys
xkb_symbols "fisenoda" {
name[Group1] = "Finnish/Swedish/Norwegian/Danish";
include "nokia_vndr/rx-44(base)"
key { [ a, A, exclam, exclam ] };
key { [ s, S, quotedbl, quotedbl ] };
key { [ d, D, at, at ] };
key { [ f, F, numbersign, numbersign ] };
key { [ g, G, asterisk, asterisk ] };
key { [ h, H, backslash, backslash ] };
key { [ j, J, slash, slash ] };
key { [ k, K, parenleft, parenleft ] };
key { [ l, L, parenright, parenright ] };
key { [ aring, Aring, question, question ] };
key { [ z, Z, EuroSign, EuroSign ] };
key { [ x, X, asciitilde, asciitilde ] };
key { [ c, C, percent, percent ] };
key { [ v, V, ampersand, ampersand ] };
key { [ b, B, plus, plus ] };
key { [ n, N, less, less ] };
key { [ m, M, greater, greater ] };
key { type="EIGHT_LEVEL", [ oslash, Oslash, equal, equal, odiaeresis, Odiaeresis, equal, equal ] };
key { type="EIGHT_LEVEL", [ ae, AE, apostrophe, apostrophe, adiaeresis, Adiaeresis, apostrophe, apostrophe ] };
key { [ minus, underscore, bracketleft, underscore ] };
key { [ comma, semicolon, comma, semicolon ] };
key { [ period, colon, period, colon ] };
};
partial alphanumeric_keys
xkb_symbols "ptes" {
name[Group1] = "Portuguese/Spanish";
include "nokia_vndr/rx-44(base)"
key { [ a, A, exclam, exclam ] };
key { [ s, S, quotedbl, quotedbl ] };
key { [ d, D, at, at ] };
key { [ f, F, numbersign, numbersign ] };
key { [ g, G, asterisk, asterisk ] };
key { [ h, H, backslash, backslash ] };
key { [ j, J, slash, slash ] };
key { [ k, K, parenleft, parenleft ] };
key { [ l, L, parenright, parenright ] };
key { [ dead_acute, dead_grave, dead_diaeresis, dead_diaeresis ] };
key { [ z, Z, EuroSign, EuroSign ] };
key { [ x, X, percent, percent ] };
key { [ c, C, ampersand, ampersand ] };
key { [ v, V, exclamdown, exclamdown ] };
key { [ b, B, apostrophe, apostrophe ] };
key { [ n, N, plus, plus ] };
key { [ m, M, equal, equal ] };
key { [ ccedilla, Ccedilla, questiondown, questiondown ] };
key { [ ntilde, Ntilde, question, question ] };
key { [ dead_tilde, dead_circumflex, dead_circumflex, dead_circumflex ]};
key { [ comma, semicolon, minus, minus ] };
key { [ period, colon, underscore, underscore ] };
};
partial alphanumeric_keys
xkb_symbols "fr" {
name[Group1] = "French";
include "nokia_vndr/rx-44(base)"
key { [ a, A, 1, 1 ] };
key { [ z, Z, 2, 2 ] };
key { [ q, Q, at, at ] };
key { [ s, S, percent, percent ] };
key { [ d, D, ecircumflex, Ecircumflex ] };
key { [ f, F, eacute, Eacute ] };
key { [ g, G, egrave, Egrave ] };
key { [ h, H, oe, OE ] };
key { [ j, J, parenleft, parenleft ] };
key { [ k, K, parenright, parenright ] };
key { [ l, L, agrave, Agrave ] };
key { [ m, M, ugrave, Ugrave ] };
key { [ w, w, EuroSign, EuroSign ] };
key { [ x, X, numbersign, numbersign ] };
key { [ c, C, ccedilla, Ccedilla ] };
key { [ v, V, plus, plus ] };
key { [ b, B, equal, equal ] };
key { [ n, N, quotedbl, quotedbl ] };
key { [ comma, question, backslash, backslash ] };
key { [ semicolon, period, minus, minus ] };
key { [ colon, slash, underscore, underscore ] };
key { [ apostrophe, apostrophe, mu, mu ] };
key { [ less, greater, less, greater ] };
key { [ exclam, section, asterisk, asterisk ] };
};
partial alphanumeric_keys
xkb_symbols "de" {
name[Group1] = "German";
include "nokia_vndr/rx-44(base)"
key { [ z, Z, 6, 6 ] };
key { [ a, A, exclam, exclam ] };
key { [ s, S, quotedbl, quotedbl ] };
key { [ d, D, at, at ] };
key { [ f, F, numbersign, numbersign ] };
key { [ g, G, percent, percent ] };
key { [ h, H, backslash, backslash ] };
key { [ j, J, slash, slash ] };
key { [ k, K, parenleft, parenleft ] };
key { [ l, L, parenright, parenright ] };
key { [ udiaeresis, Udiaeresis, question, question ] };
key { [ y, Y, EuroSign, EuroSign ] };
key { [ x, X, asciitilde, asciitilde ] };
key { [ c, C, asterisk, asterisk ] };
key { [ v, V, ampersand, ampersand ] };
key { [ b, B, plus, plus ] };
key { [ n, N, less, less ] };
key { [ m, M, greater, greater ] };
key { [ odiaeresis, Odiaeresis, equal, equal ] };
key { [ adiaeresis, Adiaeresis, apostrophe, apostrophe ] };
key { [ minus, underscore, ssharp, ssharp ] };
key { [ comma, semicolon, comma, semicolon ] };
key { [ period, colon, period, colon ] };
};
// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
partial alphanumeric_keys
xkb_symbols "ru" {
name[Group1] = "Russian";
include "nokia_vndr/rx-44(base)"
key { type="EIGHT_LEVEL", [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ]};
key { type="EIGHT_LEVEL", [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ]};
key { type="EIGHT_LEVEL", [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ]};
key { type="EIGHT_LEVEL", [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ]};
key { type="EIGHT_LEVEL", [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ]};
key { type="EIGHT_LEVEL", [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ]};
key { type="EIGHT_LEVEL", [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ]};
key { type="EIGHT_LEVEL", [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ]};
key { type="EIGHT_LEVEL", [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ]};
key { type="EIGHT_LEVEL", [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ]};
key { type="EIGHT_LEVEL", [ a, A, exclam, exclam, Cyrillic_ef, Cyrillic_EF, exclam, exclam ] };
key { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, Cyrillic_yeru, Cyrillic_YERU, quotedbl, quotedbl ] };
key { type="EIGHT_LEVEL", [ d, D, at,at, Cyrillic_ve, Cyrillic_VE, at, at ]};
key { type="EIGHT_LEVEL", [ f, F, numbersign, numbersign, Cyrillic_a, Cyrillic_A, numbersign, numbersign ] };
key { type="EIGHT_LEVEL", [ g, G, backslash, backslash, Cyrillic_pe, Cyrillic_PE, backslash, backslash ] };
key { type="EIGHT_LEVEL", [ h, H, slash, slash, Cyrillic_er, Cyrillic_ER, slash, slash ] };
key { type="EIGHT_LEVEL", [ j, J, parenleft, parenleft, Cyrillic_o, Cyrillic_O, parenleft, parenleft ] };
key { type="EIGHT_LEVEL", [ k, K, parenright, parenright, Cyrillic_el, Cyrillic_EL, parenright, parenright ] };
key { type="EIGHT_LEVEL", [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, semicolon, semicolon, Cyrillic_zhe, Cyrillic_ZHE, semicolon, semicolon ] };
key { type="EIGHT_LEVEL", [ z, Z, underscore, underscore, Cyrillic_ya, Cyrillic_YA, minus, minus ] };
key { type="EIGHT_LEVEL", [ x, X, percent, percent, Cyrillic_che, Cyrillic_CHE, percent, percent ] };
key { type="EIGHT_LEVEL", [ c, C, 0x1002116, 0x1002116, Cyrillic_es, Cyrillic_ES, 0x1002116, 0x1002116 ] };
key { type="EIGHT_LEVEL", [ v, V, equal, equal, Cyrillic_em, Cyrillic_EM, equal, equal ] };
key { type="EIGHT_LEVEL", [ b, B, ampersand, ampersand, Cyrillic_i, Cyrillic_I, ampersand, ampersand ] };
key { type="EIGHT_LEVEL", [ n, N, asterisk, asterisk, Cyrillic_te, Cyrillic_TE, asterisk, asterisk ] };
key { type="EIGHT_LEVEL", [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe,apostrophe ] };
key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, minus, minus, Cyrillic_be, Cyrillic_BE, minus, minus ] };
key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, question, question, Cyrillic_yu, Cyrillic_YU, question, question ] };
key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
key { type="EIGHT_LEVEL", [ period, comma, period, comma, period, comma, period, comma ] };
key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_io, Cyrillic_IO, Cyrillic_e, Cyrillic_E, Cyrillic_io, Cyrillic_IO ] };
};
partial alphanumeric_keys
xkb_symbols "it" {
name[Group1] = "Italian";
include "nokia_vndr/rx-44(base)"
key { [ a, A, exclam, exclam ] };
key { [ s, S, quotedbl, quotedbl ] };
key { [ d, D, at, at ] };
key { [ f, F, numbersign, numbersign ] };
key { [ g, G, asterisk, asterisk ] };
key { [ h, H, backslash, backslash ] };
key { [ j, J, slash, slash ] };
key { [ k, K, parenleft, parenleft ] };
key { [ l, L, parenright, parenright ] };
key { [ apostrophe, question, igrave, Igrave ] };
key { [ z, Z, EuroSign, EuroSign ] };
key { [ x, X, asciitilde, asciitilde ] };
key { [ c, C, ampersand, ampersand ] };
key { [ v, V, equal, equal ] };
key { [ b, B, less, less ] };
key { [ n, N, greater, greater ] };
key { [ m, M, plus, plus ] };
key { [ eacute, Eacute, ograve, Ograve ] };
key { [ egrave, Egrave, agrave, Agrave ] };
key { [ minus, underscore, ugrave, Ugrave ] };
key { [ comma, semicolon, comma, semicolon ] };
key { [ period, colon, period, colon ] };
};
partial default alphanumeric_keys
xkb_symbols "base" {
key { [ q, Q, 1, 1] };
key { [ w, W, 2, 2] };
key { [ e, E, 3, 3] };
key { [ r, R, 4, 4] };
key { [ t, T, 5, 5] };
key { [ y, Y, 6, 6] };
key { [ u, U, 7, 7] };
key { [ i, I, 8, 8] };
key { [ o, O, 9, 9] };
key { [ p, P, 0, 0] };
key { [ BackSpace, Delete, Escape, BackSpace ]};
// broken UI spec.
key { [ KP_Enter, Tab, KP_Enter, KP_Enter ] };
key { [ Multi_key, Multi_key, Multi_key, Multi_key ] };
key { [ Shift_L, Shift_L, Shift_L, Shift_L ] };
key { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift ] };
key { [ space, space, Tab, Tab ] };
key { [ Control_R, Control_R, Control_R, Control_R ] };
key { [ Tab, Tab, Tab, Tab ] };
modifier_map Shift { Shift_L };
modifier_map Mod5 { ISO_Level3_Shift };
modifier_map Control { Control_R };
key { [ Return ] };
key { [ Up ] };
key { [ Down ] };
key { [ Left ] };
key { [ Right ] };
key { [ Escape ] };
key { [ F1 ] };
key { [ F2 ] };
key { [ F3 ] };
key { [ F4 ] };
key { [ F5 ] };
key { [ F6 ] };
key { [ F7 ] };
key { [ F8 ] };
key { [ F9 ] };
key { [ F10 ] };
key { [ F11 ] };
key { [ F12 ] };
// generated from the headset, must always be in the map.
key { [ XF86Phone ] };
};
==== UPSTREAM ====
* http://repository.maemo.org/pool/maemo4.0/free/x/xkbdata/xkbdata_0.8-0osso26.dsc
./symbols/nokia_vndr/rx-44
http://talk.maemo.org/showthread.php?t=43280&highlight=rx-44&page=2
https://launchpad.net/ubuntu/+ppas?name_filter=xkb-data
* http://packages.qa.debian.org/x/xkeyboard-config.html
* http://git.debian.org/?p=pkg-xorg/data/xkb-data.git;a=tree;f=symbols;
* http://cgit.freedesktop.org/~daniels/
* http://cgit.freedesktop.org/xkeyboard-config/tree/
* http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/nokia_vndr/rx-44
==== KEYBOARD ====
* http://hektor.umcs.lublin.pl/~mikosmul/computing/articles/custom-keyboard-layouts-xkb.html
* http://mg.pov.lt/blog/maemo-flood
LABELS='[F1,F2,F3,F4,PgDn]'
KEYS='[F1,F2,F3,F4,Page_Up,Page_Down]'
gconftool -s /apps/osso/xterm/key_labels --type list --list-type string "$LABELS"
gconftool -s /apps/osso/xterm/keys --type list --list-type string "$KEYS"
==== MISC ====
* http://www.natisbad.org/N810/rx-44
* http://www.natisbad.org/N810/index.html
===== MORE =====
@TaG: [[nit]] [[maemo]] [[omap]] [[xwindow]] [[x11]]
{{http://www.mobilephoneinnovation.com/wp-content/uploads/2012/08/image548f.jpg}}