OLPC Pashto Keyboard: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 22: Line 22:
name[Group1]= "Afghanistan - Pashto";
name[Group1]= "Afghanistan - Pashto";


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


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


key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above

Revision as of 16:18, 1 November 2007

  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 ] };

   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, right_brace ] }; // Arabic jeem
   key <AD12> { [ 0x1000686, left_bracket, left_brace ] }; // Arabic tcheh

   key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
   key <AC02> { [ 0x1000633, 0x10006D2 ] }; // Arabic seen, Arabic hamza on yeh
   key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
   key <AC04> { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna
   key <AC05> { [ 0x1000644, 0x1000675, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic lam with three dots above
   key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
   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> { [ 0x10006CD, 0x1000638, question] }; // Arabic yeh with tail, Arabic zah, 
   key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic E, Arabic tah
   key <AB03> { [ 0x1000632, 0x1000698, 0x1000655 ] }; // Arabic zain, Arabic jeh, Arabic hamza below
   key <AB04> { [ 0x1000631, 0x1000621, 0x1000654 ] }; // Arabic_ra (reh?), Arabic hamza, Arabic hamza above
   key <AB05> { [ 0x1000630, 0x100200C, 0x1000625  ] }; // Arabic_thal, zero width non-joiner, Arabic alef with hamza below
   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      ]     };
};