OLPC Urdu Keyboard

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

OLPC keyboard layouts

English (US international); Spanish (Argentine); Portuguese (Brazilian); Ethiopic; Arabic; West African; French; Thai; Urdu; Cyrillic; Turkish; Nepali

Urdu-MP.png
// based on a keyboard map from an 'xkb/symbols/ur' file
// Contact: Nadir Durrani
// E-mail : aquadurrani@hotmail.com
// $XFree86$
// olpc mods

partial default alphanumeric_keys
xkb_symbols "basic" {
   name[Group1]= "Arabic";

// NOTES:
//
// there is also combined shadda diacritis in AltGr position of simple
// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
// should a third state be added to Group2 ?
//

   key <TLDE> {  [     0x100064d  ,       0x100064b      ]     };
   key <AE01> {  [     0x10006F1  ,       0x1000021      ]     };
   key <AE02> {  [     0x10006F2  ,       0x1000003      ]     };
   key <AE03> {  [     0x10006F3  ,       0x100002f      ]     };
   key <AE04> {  [     0x10006F4  ,       0x1000626      ]     };
   key <AE05> {  [     0x10006F5  ,       0x1000003      ]     };
   key <AE06> {  [     0x10006F6  ,       0x10006d6      ]     };
   key <AE07> {  [     0x10006F7  ,       0x1000654      ]     };
   key <AE08> {  [     0x10006F8  ,       0x100064c      ]     };
   key <AE09> {  [     0x10006F9  ,       0x1000029      ]     };
   key <AE10> {  [     0x10006F0  ,       0x1000028      ]     };
   key <AE11> {  [     0x1000623  ,       0x1000651      ]     };
   key <AE12> {  [     0x1000624  ,       0x1000622      ]     };
   key <AD01> {  [     0x1000642  ,       0x1000652      ]     };
   key <AD02> {  [     0x1000648  ,       0x10000a3      ]     };
   key <AD03> {  [     0x1000639  ,       0x10000a5      ]     };
   key <AD04> {  [     0x1000631  ,       0x1000691      ]     };
   key <AD05> {  [     0x100062a  ,       0x1000679      ]     };
   key <AD06> {  [     0x10006d2  ,       0x1000601      ]     };
   key <AD07> {  [     0x1000621  ,       0x100060c      ]     };
   key <AD08> {  [     0x10006cc  ,       0x1000670      ]     };
   key <AD09> {  [     0x10006c1  ,       0x10006c3      ]     };
   key <AD10> {  [     0x100067e  ,       0x100064f      ]     };
   key <AD11> {  [     0x100005d  ,       0x1000670      ]     };
   key <AD12> {  [     0x100005b  ,       0x1000670      ]     };

   key <AC01> {  [     0x1000627  ,       0x1000653      ]     };
   key <AC02> {  [     0x1000633  ,       0x1000635      ]     };
   key <AC03> {  [     0x100062f  ,       0x1000688      ]     };
   key <AC04> {  [     0x1000641  ,       0x1000003      ]     };
   key <AC05> {  [     0x10006af  ,       0x100063a      ]     };
   key <AC06> {  [     0x10006be  ,       0x100062d      ]     };
   key <AC07> {  [     0x100062c  ,       0x1000636      ]     };
   key <AC08> {  [     0x10006a9  ,       0x100062e      ]     };
   key <AC09> {  [     0x1000644  ,       0x1000613      ]     };
   key <AC10> {  [     0x100061b  ,       0x100003a      ]     };
   key <AC11> {  [     0x1000670  ,       0x1000022       ]     };
   key <BKSL> {  [     0x100060e ,        0x1000614      ]     };

   key <LSGT> {  [            bar ,       brokenbar      ]     };
   key <AB01> {  [     0x1000632  ,       0x1000630      ]     };
   key <AB02> {  [     0x1000634  ,       0x1000698      ]     };
   key <AB03> {  [     0x1000686  ,       0x100062b      ]     };
   key <AB04> {  [     0x1000637  ,       0x1000638      ]     };
   key <AB05> {  [     0x1000628  ,       0x1000612      ]     };
   key <AB06> {  [     0x1000646  ,       0x10006ba      ]     };
   key <AB07> {  [     0x1000645  ,       0x1000003      ]     };
   key <AB08> {  [     0x100060c  ,       0x1000650      ]     };
   key <AB09> {  [     0x10006d4  ,       0x100064e      ]     };
   key <AB10> {  [     0x1000003  ,       0x100061f      ]     };

   // End alphanumeric section
};

partial alphanumeric_keys
xkb_symbols "qwerty" {
   include "pc/ar(basic)"
};

partial alphanumeric_keys
xkb_symbols "azerty" {
   include "pc/ar(basic)"

   // the north african arabic keyboard differs from the middle east one
   // by the numeric row; it follows French keyboard style
   //
   // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
   // should they go elsewhere? replace " ' that are now in double ?
   // also, dead_circumflex and dead_diaeresis from French keyboard
   // as well as ugrave are missing, which questions the utility of the
   // other accentuated latin letters. Maybe this is useful only with
   // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?

   key <AE01> {  [       ampersand,               1      ]       };
   key <AE02> {  [          eacute,               2      ]       };
   key <AE03> {  [        quotedbl,               3      ]       };
   key <AE04> {  [      apostrophe,               4      ]       };
   key <AE05> {  [       parenleft,               5      ]       };
   key <AE06> {  [           minus,               6      ]       };
   key <AE07> {  [          egrave,               7      ]       };
   key <AE08> {  [      underscore,               8      ]       };
   key <AE09> {  [        ccedilla,               9      ]       };
   key <AE10> {  [          agrave,               0      ]       };
   key <AE11> {  [      parenright,          degree      ]       };
};


partial alphanumeric_keys
xkb_symbols "digits" {
   include "pc/ar(basic)"

   // use arabic script digits

   key <AE01> {  [       0x1000661,          exclam      ]       };
   key <AE02> {  [       0x1000662,              at      ]       };
   key <AE03> {  [       0x1000663,      numbersign      ]       };
   key <AE04> {  [       0x1000664,          dollar      ]       };
   key <AE05> {  [       0x1000665,         percent      ]       };
   key <AE06> {  [       0x1000666,     asciicircum      ]       };
   key <AE07> {  [       0x1000667,       ampersand      ]       };
   key <AE08> {  [       0x1000668,        asterisk      ]       };
   key <AE09> {  [       0x1000669,       parenleft      ]       };
   key <AE10> {  [       0x1000660,      parenright      ]       };
};

partial alphanumeric_keys
xkb_symbols "qwerty_digits" {
   include "pc/ar(digits)"
};

partial alphanumeric_keys
xkb_symbols "azerty_digits" {
   include "pc/ar(azerty)"
      key <AE01> {  [       ampersand,       0x1000661      ]       };
   key <AE02> {  [          eacute,       0x1000662      ]       };
   key <AE03> {  [        quotedbl,       0x1000663      ]       };
   key <AE04> {  [      apostrophe,       0x1000664      ]       };
   key <AE05> {  [       parenleft,       0x1000665      ]       };
   key <AE06> {  [           minus,       0x1000666      ]       };
   key <AE07> {  [          egrave,       0x1000667      ]       };
   key <AE08> {  [      underscore,       0x1000668      ]       };
   key <AE09> {  [        ccedilla,       0x1000669      ]       };
   key <AE10> {  [          agrave,       0x1000660      ]       };
};

partial alphanumeric_keys
xkb_symbols "olpc" {
  name[Group1]= "Arabic OLPC-Urdu"; 

   include "ur(basic)"

   key <AE02> {  [     0x10006F2  ,       0x1000600      ]     };
   key <AE05> {  [     0x10006F5  ,       0x100060F      ]     };
   key <AE06> {  [     0x10006F6  ,       0x1000610      ]     };
 
   key <AD01> {  [     0x1000642  ,       0x10006E1      ]     };
   key <AD02> {  [     0x1000648  ,       0x100FDFA      ]     };
   key <AD03> {  [     0x1000639  ,       0x1000611      ]     };
   // [] swapped due to keyboard misprint
   key <AD11> {  [     0x100005B  ,       0x1000603      ]     };
   key <AD12> {  [     0x100005D  ,       0x100060E      ]     };

   key <AC04> {  [     0x1000641  ,       0x1000656      ]     };
   key <AC09> {  [     0x1000644  ,       0x1000612      ]     };
   key <AC11> {  [     0x1000027  ,       0x1000022      ]     };
   key <BKSL> {  [     0x1000602  ,       0x1000614      ]     };

   key <AB05> {  [     0x1000628  ,       0x1000613      ]     };
   key <AB07> {  [     0x1000645  ,       0x1000658      ]     };
   key <AB10> {  [     0x1000615  ,       0x100061F      ]     };

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

Pakistan URDU
row key unmodified shift alt gr alt gr shift ctrl ctrl shift fn comment
1 (top) 131 esc HK_01 esc view src
130 ??? HK_00 camera microphone
112 F1 view mesh analog 1
132 HK_02 analog 2
113 F2 view friends analog 3
137 HK_07 analog 4
114 F3 view home analog 5
138 HK_08 analog 6
115 F4 view activity analog 7
120 F5 analog 8
139 HK_09 analog 9
121 F6 analog 10
140 HK_10 analog 11
122 F7 analog 12
141 HK_11 analog 13
123 F8 analog 14
116 F9 volume down analog 15
142 HK_12 analog 16
117 F10 analog 17
143 HK_13 analog 18
118 F11 analog 19
144 HK_14 analog 20
119 F12 volume up analog 21
135 ??? HK_05 chat/corkboard
136 ??? HK_06 frame
2 1 ` ~
2 1 ! 1 ! F1
3 2 @ 2 @ C-@ F2
4 3 # 3 # F3
5 4 $ 4 $ F4
6 5 % 5 % F5 U+20AC (EURO)
7 6 ^ 6 £ C-^ F6
8 7 & 7 F7
9 8 * 8 * F8
10 9 ( 9 ( F9
11 0 ) 0 ) F10
12 ـ _ ـ _ C-_ F11 U+0640 (TATWEEL)
13 = + = + F12
3 15 backspace backspace/delete (U+007F)
16 tab back tab C-tab C-tab
17 q Q ط ظ C-Q C-Q U+0637 (TAH) U+0638 (ZAH)
18 w W ص ض C-W C-W U+0635 (SAD) U+0636 (DAD)
19 e E ھ ذ C-E C-E U+06BE (HEH DOACHASHMEE) U+0630 (THAL)
20 r R د ڈ C-R C-R U+062F (DAL) U+0688 (DDAL)
21 t T ٹ ث C-T C-T U+0679 (TTEH) U+062B (THET)
22 y Y پ ّ C-Y C-Y U+067E (PEH) U+0651 (SHADDA)
23 u U ت ۃ C-U C-U U+062A (TEH ) U+06C3 (THE MARBUTA GOAL)
24 i I ب ِ C-I C-I U+0628 (BEH) U+FE7A (KASRA)
25 o O ج چ C-O C-O U+062C (JEEM) U+0686 (TCHEH)
26 p P ح خ C-P C-P U+062D (HAH) U+062E (KHAH)
27 [ { ] } C-] C-]
28 ] } [ { C-[ C-[
4 58 control
31 a A م ژ C-A C-A U+0645 (MEEM) U+0698 (JEH)
32 s S و ز C-S C-S U+0648 (WAW) U+0632 (ZAIN)
33 d D ر ڑ C-D C-D U+0631 (REH) U+0691 (RREH)
34 f F ن ں C-F C-F U+0646 (NOON) U+06BA (NOON GHUNNA)
35 g G ل ۂ C-G C-G U+0644 (LAM) U+06C2 (HEH GOAL w/ HAMZA ABOVE)
36 h H ه ء C-H C-H U+06C1 (HEH GOAL) U+0621 (HAMZA)
37 j J ا آ C-J C-J U+0627 (ALEF) U+FE81 (ALEF w/ MADDA Above)
38 k K ک گ C-K C-K U+06A9 (KEHEH) U+06AF (GAF)
39 l L ي C-L C-L U+0649 (ALEF MAKSURA) U+064A (YEH)
40 ; : ؛ : U+061B (ARABIC SEMICOLON)
41 ' '
29 \ C-\ C-\
43 enter
5 44 left shift
46 z Z ق ZWJ C-Z C-Z U+0642 (QAF) U+200D (Zero width Joiner)
47 x X ف ZWNJ C-X C-X U+0641 (FEH) U+200C (Zero width non-Joiner)
48 c C ے ۓ C-C C-C U+06D2 (YEH BARREE) U+06D3 (YEH BARREE w/ HAMZA ABOVE)
49 v V س LRM C-V C-V U+0634 (SHEEN) U+200E (Left-to-Right Mark)
50 b B ش C-B C-B U+0633 (SEEN) U+0624 (WAW W/ HAMZA ABOVE)
51 n N غ ئ C-N C-N U+063A (GHAIN) U+0626 (YEH w/ HAMZA Above)
52 m M ع RLM C-M C-M U+0639(AIN) U+200F (Right-to-Left Mark)
53 , > ، > U+060C (ARABIC COMMA)
54 . < ۔ < U+06D4 (FULL STOP)
55 / ? / ؟ U+061F (Arabic Question Mark)
57 right shift insert
83 up arrow page up
134 AB/ﺃب HK_04 language key
6 (bottom) 59 fn
unassigned left grab
60 alt
61 space unassigned keyboard light
62 alt gr
133 right grab HK_03
79 left arrow home
84 down arrow page down
89 right arrow end