File talk:WAfrica-Alt-1.png

From OLPC
Revision as of 11:25, 19 November 2007 by Don (talk | contribs) (Strategy from here)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

hard to find keys

I generally followed the SIL layout, but as we are using Alt-gr instead of deadkeys, I made a few changes. Also, I couldn't readily find glyphs for U+F21B, U+F218, U+F215, and U+F214, so I haven't included those characters. Any comments regarding what to do about these? --Walter 12:56, 2 November 2007 (EDT)

Those characters do not exist. The Unicode standard defines F000 to F8FF as the Corporate Zone of the Private Use Area, and LANANA standardized it as in the table below. AlbertCahalan 01:49, 3 November 2007 (EDT)
F000 to F7FF is direct-to-font   (you are here)
F800 to F804 contains obsolete VT100 characters
F805 to F80F are reserved
F810 to F813 are Microsoft keyboard symbols
F814 to F8CF are reserved
F8D0 to F8FF are Klingon
It is not legitimate for a font to encode characters in that region. SIL has gone off in an incompatible direction, without obtaining agreement from any of the world's OS suppliers. Do not use these codes. AlbertCahalan 01:49, 3 November 2007 (EDT)
It looks like Unicode 5 contains some of what you were looking for. AlbertCahalan 02:40, 3 November 2007 (EDT)
SIL F214 is Unicode 024C, R with stroke
SIL F215 is Unicode 2C64, R with tail
SIL F218 is Unicode 0244, U bar
SIL F21B is likely to be Unicode 2C72, W with hook (at stage 6, JTC1 Ballot)
SIL F21A is likely to be Unicode 2C73, w with hook (at stage 6, JTC1 Ballot)
Dead keys are way more sane than the alternative. The alternative requires unrendering. Sometimes one can not take back what has been done. Dead keys act like any normal input method, while the alternative is a mess to support. AlbertCahalan 01:49, 3 November 2007 (EDT)

OLPC section of the XKB symbol file

To use the XKB West African layout, you may need to edit /etc/X11/xorg.conf:

XkbLayout "ng"
XkbVariant "olpc"
partial alphanumeric_keys
xkb_symbols "olpc" {
   name[Group1]= "OLPC West Africa";

   include "us(basic)"

   // OLPC West African keyboard layout.
   // See: http://wiki.laptop.org/go/Image:WAfrica-Alt-1.png

   key <TLDE> { [     grave, asciitilde,    0x1000300,        0x1000303 ] }; // combining grave, combining tilde above
   key <AE01> { [         1,     exclam,   exclamdown,       exclamdown ] }; // 0x10000A1
   key <AE02> { [         2,         at,    0x100030A,        0x100030A ] }; // combining ring above
   key <AE03> { [         3, numbersign,     sterling,         sterling ] }; // 0x10000A3
   key <AE04> { [         4,     dollar,    0x10020A6,        0x10020A6 ] }; // Naira
   key <AE05> { [         5,    percent,     EuroSign,         EuroSign ] }; // 0x10020AC
   key <AE06> { [         6,asciicircum,    0x1000302,        0x1000302 ] }; // combining circumflex above
   key <AE07> { [         7,  ampersand,    0x1000324,        0x1000324 ] }; // combining caron above
   key <AE08> { [         8,   asterisk,    0x1000330,        0x1000330 ] }; // combining tilde below
   key <AE09> { [         9,  parenleft,    0x100030D,        0x100030D ] }; // combining vertical line above
   key <AE10> { [         0, parenright,    0x1000329,        0x1000329 ] }; // combining vertical line below
   key <AE11> { [     minus, underscore,    0x1000304,        0x1000304 ] }; // combining macron above
   key <AE12> { [     equal,       plus,    0x1000331,        0x1000331 ] }; // combining macron below

   key <AD01> { [         q,          Q,       oslash,           Oslash ] }; // 0x10000F8, 0x10000D8
   key <AD02> { [         w,          W,        schwa,            SCHWA ] }; // 0x1000259, 0x100018F
   key <AD03> { [         e,          E,    0x10001DD,        0x100018E ] }; // reverse E
   key <AD04> { [         r,          R,    0x100024D,        0x100024C ] }; // R with stroke 
// 0x1000167,        0x1000166 ] }; // T with stroke
// 0x100027D,        0x1002C64 ] }; // R with tail
   key <AD05> { [         t,          T,    0x10001AD,        0x10001AC ] }; // T with hook
   key <AD06> { [         y,          Y,    0x10001B4,        0x10001B3 ] }; // Y with hook
   key <AD07> { [         u,          U,    0x1000289,        0x1000244 ] }; // U with bar
   key <AD08> { [         i,          I,    0x1000268,        0x1000197 ] }; // I with bar
   key <AD09> { [         o,          O,    0x1000254,        0x1000186 ] }; // open O
   key <AD10> { [         p,          P,    0x10001A5,        0x10001A4 ] }; // P with hook
   key <AD11> { [ bracketleft,  braceleft,  0x10001B6,        0x10001B5 ] }; // Z with bar
   key <AD12> { [bracketright, braceright,Greek_sigma,      Greek_SIGMA ] }; // 0x1000283, 0x10001A9
 
   key <AC01>  { [         a,          A,   0x1000251,        0x100F208 ] }; // alpha
   key <AC02>  { [         s,          S,   0x100025B,        0x1000190 ] }; // open E
   key <AC03>  { [         d,          D,   0x1000257,        0x100018A ] }; // D with hook
   key <AC04>  { [         f,          F,   0x1000192,        0x1000191 ] }; // F with hook
   key <AC05>  { [         g,          G,   0x1000260,        0x1000193 ] }; // G with hook
   key <AC06>  { [         h,          H,   0x1000257,        0x100018A ] }; // H with caron above
   key <AC07>  { [         j,          J,   0x1000256,        0x1000189 ] }; // d with tail, African D
   key <AC08>  { [         k,          K,   0x1000199,        0x1000198 ] }; // K with hook
   key <AC09>  { [         l,          L,   0x1000269,        0x1000196 ] }; // iota
   key <AC10>  { [ semicolon,      colon,   0x1000308,        0x1000308 ] }; // combining diaeresis above
   key <AC11>  { [ apostrophe,  quotedbl,   0x1000301,        0x1000301 ] }; // combining acute
   key <BKSL>  { [ backslash,        bar,   0x1000294,        0x1000295 ] }; // glottal stop, pharyngeal voiced fricative

   key <AB01>  { [         z,          Z,   0x1000292,        0x10001B7 ] }; // ezh
   key <AB02>  { [         x,          X,   0x1000263,        0x1000194 ] }; // gamma
   key <AB03>  { [         c,          C,   0x1000188,        0x1000187 ] }; // C with hook
   key <AB04>  { [         v,          V,   0x100028B,        0x10001B2 ] }; // V with hook
   key <AB05>  { [         b,          B,   0x1000253,        0x1000181 ] }; // B with hook
   key <AB06>  { [         n,          N,   0x100014B,        0x100014A ] }; // eng
   key <AB07>  { [         m,          M,   0x1000272,        0x100019D ] ); // N with left hook
   key <AB08>  { [     comma,       less,   0x1000327,        0x10000AB ] }; // combining cedilla, guillemet left
   key <AB09>  { [    period,    greater,   0x1000323,        0x10000BB ] }; // combining dot below, guillemet right
   key <AB10>  { [     slash,   question,   0x1000307,     questiondown ] }; // combining dot above, 0x10000BF

   key <I219>  { [  multiply,   division, ISO_Next_Group, ISO_Prev_Group ] };

   include "level3(ralt_switch)"
};

Strategy from here

Maybe what is needed is to get a small group of experts to hash out details of a good layout, understanding that

  • the perfect configuration(s) is(are) probably not in our grasp
  • that something well thought out for immediate needs of OLPC can be a good basis for discussion for future uses in OLPC
  • that whatever OLPC comes up with will no doubt influence inevitable discussions of keyboard standards in the region.

Just a suggestion. --Don 10:25, 19 November 2007 (EST)