@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}}