OLPC Urdu Keyboard
Jump to navigation
Jump to search
This page is monitored by the OLPC team.
// 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 |