OLPC Pashto Keyboard: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Undo revision 222392 by 119.153.142.159 (Talk))
 
(15 intermediate revisions by 8 users not shown)
Line 4: Line 4:
{{Keyboard layouts}}
{{Keyboard layouts}}


<span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">==Pashto keyboard layout== [[Image:PS-MP.png|800px|none|Pashto (first draft)]]</span>
==Pashto keyboard layout==
[[Image:PS-MP.png|800px|none|Pashto (first draft)]]


==Symbol Table==
==Symbol Table==
Line 17: Line 16:
<pre>
<pre>
// from xkb/symbols/af
// from xkb/symbols/af
partial alphanumeric_keys
partial alphanumeric_keys
xkb_symbols "olpc-ps" {
xkb_symbols "olpc-ps" {


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, asciitilde ] }; // 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
key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
key <AE06> { [ 0x10006F6, multiply, circumflex ] }; // Arabic six
key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
key <AE07> { [ 0x10006F7, right_guillemet, ampersand ] }; // Arabic seven
key <AE07> { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven
key <AE08> { [ 0x10006F8, left_guillemet, bullet ] }; // Arabic eight
key <AE08> { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
key <AE09> { [ 0x10006F9, LRM, left_paren ] }; // Arabic nine
key <AE09> { [ 0x10006F9, parenright ] }; // Arabic nine
key <AE10> { [ 0x10006F0, RLM, right_paren ] }; // Arabic zero
key <AE10> { [ 0x10006F0, parenleft, 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, division ] };


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, bracketright, braceleft ] }; // Arabic jeem
key <AD12> { [ 0x1000686, right_brace, right_bracket ] }; // Arabic tcheh
key <AD12> { [ 0x1000686, bracketleft, braceright ] }; // 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
key <AC02> { [ 0x1000633, 0x10006D2 ] }; // Arabic seen, Arabic hamza on yeh
key <AC02> { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail
key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
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 <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 <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
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 <AC07> { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh
key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
Line 64: Line 63:
key <SPCE> { [ space, 0x100200C, 0x10000A0 ] }; // zero width non-joiner, no break space
key <SPCE> { [ space, 0x100200C, 0x10000A0 ] }; // zero width non-joiner, no break space


key <AB01> { [ 0x10006CD, 0x1000638, question] }; // Arabic yeh with tail, Arabic zah,
key <AB01> { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above
key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic E, Arabic tah
key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E
key <AB03> { [ 0x1000632, 0x1000698, 0x1000655 ] }; // Arabic zain, Arabic jeh, Arabic hamza below
key <AB03> { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh
key <AB04> { [ 0x1000631, 0x1000621, 0x1000654 ] }; // Arabic_ra (reh?), Arabic hamza, Arabic hamza above
key <AB04> { [ 0x1000631, 0x1000621 ] }; // Arabic_ra (reh?), Arabic hamza
key <AB05> { [ 0x1000630, 0x100200C, 0x1000625 ] }; // Arabic_thal, zero width non-joiner, Arabic alef with hamza below
key <AB05> { [ 0x1000630, 0x100200C ] }; // Arabic_thal, zero width non-joiner
key <AB06> { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic_dal, Arabic dal with ring, Arabic ddal
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 <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh
Line 75: Line 74:
key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu


include "group(olpc)"
//language key
key <I219> { [ISO_Next_Group , ISO_Prev_Group ] };
};
};
</pre>
</pre>

Latest revision as of 16:52, 1 November 2009

  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, asciitilde ] }; // 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, asciicircum ] }; // Arabic six
   key <AE07> { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven
   key <AE08> { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
   key <AE09> { [ 0x10006F9, parenright ] }; // Arabic nine
   key <AE10> { [ 0x10006F0, parenleft, degree ] }; // Arabic zero
   key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
   key <AE12> { [ plus, equal, division ] };

   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, bracketright, braceleft ] }; // Arabic jeem
   key <AD12> { [ 0x1000686, bracketleft, braceright ] }; // 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

   include "group(olpc)"
};