OLPC Pashto Keyboard

From OLPC
Revision as of 18:18, 10 November 2007 by Walter (talk | contribs)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.


OLPC keyboard layouts

Instructions for setting up keyboard switching in Terminal are on the Customizing NAND images page. On bilingual XOs, the multiplication/division key is replaced with a keyboard switching key.

Changing the language of the keyboard is independent of changing the language currently displayed. The language currently displayed can be changed by using the Language section of the Sugar Control Panel.

Membrane keyboard layouts

English (US international); Spanish (Latin America); Portuguese (Brazilian); Amharic (Ethiopic); Arabic; Nigerian (Igbo, Hausa, Yoruba); French; Thai; Urdu; Cyrillic (Russian); Turkish; Nepali; Mongolian; Kazakh; Devanagari; Uzbek; Pashto; Dari; Armenian; Khmer; Pulaar; Italian; Kreyòl; German; Chinese (Simplified); OLPC AZERTY

Non-membrane keyboard layouts

Starting with the XO-1.5 HS ("High School") edition, the XO laptop has a traditional (non-membrane) keyboard available as an option: English (US International); Spanish (Latin America);

Blank Keyboard Artwork

Artwork defining the inner dimensions of the membrane keyboard is available here: keyboard-blank.svg



Pashto keyboard layout

Pashto (first draft)

Symbol Table

OLPC section of the XKB symbol file

To use the XKB Pashto layout along with US layout, you may need to edit /etc/X11/xorg.conf. This will make "us" the first and "af" a second layout:

XkbLayout "us,af"
XkbVariant "olpc2,olpc-ps"
// from xkb/symbols/af
partial alphanumeric_keys 
xkb_symbols "olpc-ps" {

   name[Group1]= "Afghanistan - Pashto";

   key <TLDE> { [ 0x100200D, 0x1000654, grave ] }; // zero width joiner, Arabic hamza above
   key <AE01> { [ 0x10006F1, exclam, tilde ] }; // Arabic one
   key <AE02> { [ 0x10006F2, 0x100066C. at ] }; // Arabic two, Arabic thousands separator
   key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
   key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
   key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
   key <AE06> { [ 0x10006F6, multiply, circumflex ] }; // Arabic six
   key <AE07> { [ 0x10006F7, right_guillemet, ampersand ] }; // Arabic seven
   key <AE08> { [ 0x10006F8, left_guillemet, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
   key <AE09> { [ 0x10006F9, right_paren, bullet ] }; // Arabic nine
   key <AE10> { [ 0x10006F0, left_paren, degree ] }; // Arabic zero
   key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
   key <AE12> { [ plus, equal, divide ] };

   key <AD01> { [ 0x1000636, 0x1000652, eurosign ] }; // Arabic dad, Arabic sukun
   key <AD02> { [ 0x1000635, 0x100064C, 0x1000671 ] }; // Arabic sad, Arabic dammatan, Arabic alef walsa
   key <AD03> { [ 0x100062B, 0x100064D, 0x1000649 ] }; // Arabic theh, Arabic kasratan, Arabic alef maksura initial form
   key <AD04> { [ 0x1000642, 0x100064B, 0x100200E ] }; // Arabic qaf, Arabic fathatan, left-to-right mark
   key <AD05> { [ 0x1000641, 0x100064F, 0x100200F ] }; // Arabic feh, Arabic damma, right-to-left mark
   key <AD06> { [ 0x100063A, 0x1000650, 0x100e653 ] }; // Arabic ghain, Arabic kasra, Arabic alef with madda above
   key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
   key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
   key <AD09> { [ 0x100062E, 0x1000681, apostrophe ] }; // Arabic khah, Arabic hah with hamza above, 
   key <AD10> { [ 0x100062D, 0x1000685, quotedbl ] }; // Arabic hah, Arabic hah with three dots above
   key <AD11> { [ 0x100062C, right_bracket, left_brace ] }; // Arabic jeem
   key <AD12> { [ 0x1000686, left_bracket, right_brace ] }; // Arabic tcheh

   key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
   key <AC02> { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail
   key <AC03> { [ 0x10006CC, 0x100064A, 0x10006D2 ] }; // Farsi yeh, Arabic yeh, Arabic yeh barree
   key <AC04> { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna
   key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
   key <AC06> { [ 0x1000627, 0x1000622, 0x1000625 ] }; // Arabic alef, Arabic madda on alef, Arabic alef with hamza below
   key <AC07> { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh
   key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
   key <AC09> { [ 0x1000645, 0x1000629, less ] }; // Arabic meem, Arabic teh marbuta
   key <AC10> { [ 0x10006A9, colon, 0x1000643 ] }; // Arabic keheh, Arabic kaf
   key <AC11> { [ 0x10006AB, 0x100061B, 0x10006AF ] }; // Arabic kaf with ring, Arabic semicolon, Arabic gaf

   key <BKSL> { [ backslash, asterisk, bar ] };
   key <SPCE> { [ space, 0x100200C, 0x10000A0 ] }; // zero width non-joiner, no break space

   key <AB01> { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above
   key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E
   key <AB03> { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh
   key <AB04> { [ 0x1000631, 0x1000621 ] }; // Arabic_ra (reh?), Arabic hamza
   key <AB05> { [ 0x1000630, 0x100200C ] }; // Arabic_thal, zero width non-joiner
   key <AB06> { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic_dal, Arabic dal with ring, Arabic ddal
   key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh
   key <AB08> { [ 0x1000648, period, comma ] }; // Arabic_waw, Arabic comma
   key <AB09> { [ 0x1000696, 0x100002E, 0x10006C7 ] }; // Arabic reh with dot below and dot above, full stop, Arabic letter U
   key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu

   //language key
   key <I219> {  [ISO_Next_Group  ,  ISO_Prev_Group      ]     };
};